Scheduling
Scheduling
Dr Hitesh Mohapatra
Associate Professor
KIIT University, Bhubaneswar, Odisha, India
Definition
The concept of scheduling in cloud computing refers to the
technique of mapping a set of jobs to a set of virtual
machines (VMs) or allocating VMs to run on the available
resources in order to fulfil users' demands
Cont.
• Scheduling is a method that is used to distribute valuable computing
resources, usually processor time, bandwidth and memory, to the
various processes, threads, data flows and applications that need
them.
• Scheduling is done to balance the load on the system and ensure
equal distribution of resources and give some prioritization according
to set rules.
• This ensures that a computer system is able to serve all requests and
achieve a certain quality of service.
• Scheduling is also known as process scheduling.
Types
Scheduling in a system is done by the aptly named scheduler, which is
mainly concerned with three things:
• First level: in the host level where a set of policies to distribute VMs in the
host.
• Second level: in VM level where a set of policies to distribute tasks to the VM.
Task scheduling algorithms advantages
• Manage cloud computing performance and QoS.
• Good scheduling algorithms maximize resource utilization while minimizing the total task execution time.
• Batch scheduling: tasks are grouped into a batch before being sent; this
type is also called mapping events.
• The first task level: is a set of tasks (Cloudlets) that are sent by cloud users, which
are required for execution.
• The third VMs level: is a set of (VMs) which are used to execute the tasks as in
Figure 2.
Scheduling
This level passes through two steps
• The first step is discovering and filtering all the VMs that are
presented in the system and collecting status information related to
them by using a datacenter broker.
• Not give any priority to tasks. That means when we have large tasks in the
begin tasks list, all tasks must wait a long time until the large tasks to finish.
• Dot arrows refer to the first set of tasks scheduling based on their arrival time.
• Dash arrows refer to second set of tasks scheduling based on their arrival time.
• Solid arrows refer to third set of tasks scheduling based on their arrival time.
Example: FCFS
Assume we have six VMs with different properties
based on tasks size:
VM list={VM1,VM2,VM3,VM4,VM5,VM6}.
MIPS of VM list={500,500,1500,1500,2500,2500}.
Execution
VM1={t1⟶t7⟶t12}.
VM2={t2⟶t8⟶t14}.
VM3={t3⟶t9⟶t15}.
VM4={t4⟶t10}.
VM5={t5⟶t11}.
VM6={t6⟶t13}.
SJF
Tasks are sorted based on their priority. Priority is given to tasks based on
task lengths and begins from (the smallest task ≡ highest priority).
Advantages
Wait time is lower than FCFS.
SJF has a minimum average waiting time among all task scheduling
algorithms.
Disadvantages
Unfairness to some tasks when tasks are assigned to VM, due to the long
tasks tending to be left waiting in the task list while small tasks are assigned
to VM.
Taking long execution time and TFT.
SJF work mechanism
When applying SJF, work mechanism will be as follows:
• Assume we have 15 tasks as in Table 1 above. We will be sorting tasks
in the task list, as in Table 3. Tasks are sorted from smallest task to
largest task based on their lengths as in Table 3, and then assigned to
the VMs list sequentially.
Execution: SJF
VM1={t4⟶t6⟶t7}.
VM2={t10⟶t9⟶t1}.
VM3={t11⟶t13⟶t8}.
VM4={t5⟶t14}.
VM5={t12⟶t2}.
VM6={t3⟶t15}.
MAX-MIN
In MAX-MIN tasks are sorted based on the completion time of tasks; long
tasks that take more completion time have the highest priority. Then
assigned to the VM with minimum overall execution time in the VMs list.
Advantages
• Working to exploit the available resources in an efficient manner.
• This algorithm has better performance than the FCFS, SJF, and MIN-MIN
algorithms
Disadvantages
• Increase waiting time for small and medium tasks; if we have six long tasks,
in the MAX-MIN scheduling algorithm they will take priority in six VMs in
the VM list, and short tasks must be waiting until the large tasks finish.
Max-Min
Assume we have 15 tasks as in Table 1 above. We will be sorting tasks
in the task list as in Table 5. Tasks are sorted from largest task to
smallest task based on the highest completion time. They are then
assigned to the VMs with minimum overall execution time in the VMs
list.
Execution: Max-Min
VM6={t1⟶t13⟶t11}.
VM5={t8⟶t9⟶t10}.
VM4={t7⟶t6⟶t4}.
VM3={t15⟶t3}.
VM2={t2⟶t12}.
VM1={t14⟶t5}.
Result Comparison
References
1. Ramotra A, Bala A. Task-Aware Priority Based Scheduling in Cloud Computing [master thesis]. Thapar University; 2013
2. Microsoft Azure website. [Accessed: 01 October 2017]
3. Kumar Garg S, Buyya R. Green Cloud Computing and Environmental Sustainability, Australia: Cloud Computing and Distributed
Systems (CLOUDS) Laboratory Department of Computer Science and Software Engineering, The University of Melbourne; 2012
4. Al-maamari A, Omara F. Task scheduling using PSO algorithm in cloud computing environments. International Journal of Grid
Distribution Computing. 2015;8(5):245-256
5. http://www.pbenson.net/2013/04/the-cloud-defined-part-1-of-8-on-demand-self-service/ [Accessed: 01 October 2017]
6. Endo P, Rodrigues M, Gonçalves G, Kelner J, Sadok D, Curescu C. High availability in clouds: Systematic review and research
challenges. Journal of Cloud Computing Advances, Systems and Applications. 2016
7. http://www.techinmind.com/what-is-cloud-computing-what-are-its-advantages-and-disadvantages/ [Accessed: 01 October 2017]
8. https://siliconangle.com/blog/2016/04/29/survey-sees-rapid-growth-in-enterprise-cloud-adoption/ [Accessed: 01 October 2017]
9. Aladwani, T. (2020). Types of Task Scheduling Algorithms in Cloud Computing Environment. Scheduling Problems - New
Applications and Trends. doi: 10.5772/intechopen.86873