Resouce Management Andloadbalancing
Resouce Management Andloadbalancing
Cloud Broker 1 Cloud Broker N Publish Offers Pool node Pool node
...... VM VM VM
VM VM SaaS
Negotiate/Bid
Request Directory
Capacity PaaS
Bank Cloud
Coordinator IaaS
Auctioneer
Storage Cloud
Cloud
Coordinator
Enterprise IT Consumer
Introduction to Resource Allocation
Resource Allocation Process
Parameters for resource allocating
• Response time: Minimum time to respond to a service request to perform the task.
• Execution Time: It is also defined as completion time, which is the time taking to satisfy the demands of cloud users.
• Workload: The amount of processing to be done out for a particular amount of time. It’s the ability to process cloud
computing jobs.
• Utilization: The overall amount of resources currently used in data centers. Cloud computing involves maximizing the
use of resources to optimize the revenue and income of cloud providers to the satisfaction
Parameters for resource allocating
• Throughput: In cloud computing, the total number of tasks fully performed is within a given period.
• SLA: This is an agreement that describes the QoS offered by cloud providers to cloud users. The Cloud provider is
committed to delivering its best service can serve the need of a cloud Customer and avoid violating the SLA.
• Power: The VM placement & migration strategies used in the cloud data center must reduce their consumption.
• Fault-tolerant: The system should continue to provide service in spite of the failure of resources.
• Cost: The amount to be billed for the use of CC facilities. This is an expense to cloud customers and a benefit and
income to cloud providers
• Availability: In cloud computing, it represents a collection of services that allow accessibility, maintenance, reliability,
durability, and serviceability of the resources that depend on a request of cloud consumers to perform the specified
or necessary activity
Parameters for resource allocating
VM Provisioning
VM Provisioner C1 C2
Alloc
Data Center
VM Scheduling
VM Scheduler C1 C2
Alloc
Data Center
Task scheduling
Cloudlet Scheduler
C1 C2
Alloc
• Defined in VM level
• Different VMs in the same host may have different
VM1 VM2
policies
• How to share processing power allocated to a VM among
VMM
Cloudlets?
• OS scheduling PEs
Hosts
Data Center
Broker
C1 C2
VMScheduler
Datacenter Broker
VM1 VM2
VMM
“Cloud scheduling”
PEs
• Selects the Data Center to host VMs
Hosts
• Selects VMs to run Cloudlets
• Application model: PS? BoT? Workflow? Data Center
• Economic decisions
Network
VM1 VM2
C1
C2
User/Broker
Resource management in CC
Resource Management Strategies can be grouped into 2 – Resource Provisioning and Resource
scheduling. Then each of those paradigms can be split into various categories.
Resource Provisioning
• Create VMs (once, user made request ) and allocate them for the user on
demand.
• Responsible to meet users need based on QoS, SLA and matching the
resources based on upcoming workloads.
• NEED: to detect and select the best/optimal resources based on the
requirements with minimal maintenances.
• Map upcoming requests to the running VMs considering QoS and SLA.
Types of Resource Provisioning
Scheduling is the art of analyzing the required QoS parameters with the aim to determine which
activity should be performed. In clouds, scheduling is responsible for:
Traditional Scheduling -
Heuristic Scheduling - Heuristic algorithms depend on the nature of the problem and perform very
well with certain problems while present low performance with others.
• Resource Scheduling
• Quality of Service (QoS)
• Service level agreements (SLAs)
• Self-management service
• Energy management
• Dynamic Scalability
• Reliability
• Scheduling based on emerging meta-heuristic approaches
Future Trends
• Priority of users: Cloud is ultimately a business model; thus, during the execution of submitted applications, the
prioritization of cloud consumers should be taken into consideration.
• Green computing: Energy-aware task scheduling needs extensive research so that computing resources can be used
more user- and environment-friendly by reducing the use of contaminated materials.
• Resource controlling: Key mechanisms, such as monitoring task migration, VM migration, memory or CPU utilization,
etc., should be handled in a more controlled manner.
• Workload prediction: There is a need for more effective workload estimation techniques to predict the scale of
upcoming workload, thereby increasing both the throughput and resource utilization.
• Network Bandwidth: Generally, network bandwidth has not received enough attention in the majority of current
techniques, although dis- regarding it might cause communication delay, data loss, general network failure, etc.
Future Trends
• Fog computing: Traditional elastic cloud suffers from issues regarding security and delays which can be solved based on
the new trend of fog computing which provides a higher level of heterogeneity and decentralization.
• Failure prediction: Resource failures including resource missing, storage failure, network failure, hardware failure,
software failure, computing failure, database failure, overflow, underflow, and timeout can be predicted using diverse
ML techniques.
• Failure management: The features regarding the management of task migration and failure have been tackled by a few
scheduling algorithms; therefore, future research should address those features for maintaining the availability and
constancy of the system.
• IoT: Managing the IoT devices and multimedia contents are critical recent trends on task scheduling in cloud.
• Next generation computing: Nano-computing-based/Quantum, non- traditional architecture is an attractive
environment that should be involved in the next generation cloud.
Load Balancing
• Throughput: This metric is used to calculate the number of processes completed per unit time.
• Response time: It measures the total time that the system takes to serve a submitted task.
• Make span: This metric is used to calculate the maximum completion time or the time when the resources
are allocated to a user.
• Scalability: It is the ability of an algorithm to perform uniform load balancing in the system according to the
requirements upon increasing the number of nodes. The preferred algorithm is highly scalable.
• Fault tolerance: It determines the capability of the algorithm to perform load balancing in the event of some
failures in some nodes or links.
• Migration time: The amount of time required to transfer a task from an overloaded node to an under-loaded
one.
Load Balancing metrics
• Dynamic load-balancing algorithms use the current state of the system, they apply
some policies:
• Transfer Policy: determines the conditions under which a task should be transferred
from one node to another.
• This rule relies on the workload of each of the nodes. This policy includes task re-
scheduling and task migration.
• Selection policy: determines which task should be transferred.
• Some factors for task selection, including the amount of overhead required for
migration, the number of nonlocal system calls, and the execution time of the task.
Policies in dynamic load-
balancing algorithms
• Location Policy: determines which nodes are underloaded, and transfers tasks
to them, checks the availability of necessary services for task migration or task
rescheduling in the targeted node.
• Information Policy: collects all information regarding the nodes in the system
and the other policies, use it for making their decision.
• Incoming tasks-> Transfer policy (decides transferred to a remote node or
process locally) ->Selection policy (Select which task based on some parameters)
->Location policy ( if remote node selected)-> Information Policy
Challenges in cloud-based
load balancing
support@intellipaat.com