M6
M6
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
Market-Oriented Cloud Architecture:
QoS negotiation and SLA-based Resource Allocation
Users/
Brokers
VM Service Request
Monitor Dispatcher Monitor
Virtual
Machines
(VMs)
Physical
Machines
Market-Oriented Cloud Architecture:
Cloud to expand (lease more resources) with increase in demand
Users/
Brokers
VM Service Request
Monitor Dispatcher Monitor
Virtual
Machines
(VMs)
Multi-Clouds
Physical
Machines
Market-Oriented Cloud Architecture:
Cloud to shrink (unleash resources) with decrease in demand
Users/
Brokers
VM Service Request
Monitor Dispatcher Monitor
Virtual
Machines
(VMs)
Physical
Machines
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 Allocation Policy C1 C2
Alloc
Data Center
VM Provisioning
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
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
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:
Static and dynamic scheduling: Static scheduling algorithms re- quire advance information about incoming tasks
(i.e., task count, task length, task deadline, etc.) and available resources (memory, processing power, node
processing capacity, etc.).
Resource Scheduling
User level and system level scheduling: In user level scheduling, the problem of service provisioning between
service providers and consumers is tackled by the scheduler, which shows a high efficiency, especially when market-
oriented virtualized resources are delivered as a service to users.
Online (immediate) and offline (batch) scheduling: With regard to online scheduling, the scheduler maps the
customer request to running VMs such that the scheduling process is kept stable over time by performing a single
scheduling for each task at a time.
Preemptive and non-preemptive scheduling: In centralized scheduling, all tasks are gathered by a master processor
unit and then are sent to slave processing units where every processor takes over a single dispatch queue
Resource Scheduling
Centralized and distributed scheduling: In centralized scheduling, all tasks are gathered by a master processor unit
and then are sent to slave processing units where every processor takes over a single dispatch queue. On the other
hand, there is no central control unit in distributed scheduling.
Cooperative and non-cooperative scheduling: In cooperative scheduling, all processors achieve their common goal
through collaboration when making a scheduling decision. In non-cooperative scheduling, every individual
processor makes its decision independently while other processors are not affected or ever alerted
Need for Scheduling
• Scheduling mainly aims to handle end-users’ incoming requests by finding out the best cloud
resources that should improve both the resource utilization rate and key performance parameters
(QoS parameters).
• Cloud computing has diverse performance indicators, like makespan, monetary cost, execution
cost, response time, energy consumption, reliability, etc.
• An efficient task scheduling algorithm must be used to analyze and improve these parameters in
order to fulfill the requirements of both end-users and service providers without violating the
SLA.
Categorization of cloud task
scheduling schemes
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.
• Single-Objective
• Multi-Objective
• Makespan
• Monetary cost
• Computational cost
• Reliability and Availability
• Elasticity or Scalability
• Energy consumption
• Security
• Resource utilization
• Throughput
Meta-heuristics based approaches
in cloud task scheduling
• Static Scheduling - Static scheduling requires prior information regarding the tasks
for making a schedule decision before a task starts to execute.
• Dynamic Scheduling - Dynamic scheduling can occur during task execution and does
not require knowledge of all task properties. This is useful for handling the
fluctuating demands of cloud users, especially when maximizing the resource
utilization is a higher priority than reducing the execution time.
Scheduling Constraints
• Deadline
• Priority
• Budget
• Fault Tolerance
Cloud Task Scheduling
Cloud Task Scheduling
Open Issues and Challenges
• Resource Scheduling
• Quality of Service (QoS)
• Service level agreements (SLAs)
• Self-management service
• Energy management
• Dynamic Scalability
• Reliability
• Security
• 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.
Classification of Scheduling in CC
Classification of Scheduling in CC