0% found this document useful (0 votes)
15 views

1.towards Optimizing Task Scheduling Process in Cloud Environment

Uploaded by

PILLAREDDY Reddy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

1.towards Optimizing Task Scheduling Process in Cloud Environment

Uploaded by

PILLAREDDY Reddy
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Towards Optimizing Task Scheduling Process in

Cloud Environment
Yong Shi, Kun Suo, Jameson Hodge, Divya Pramasani Mohandoss and Steven Kemp
College of Computing and Software Engineering
Kennesaw State University
2021 IEEE 11th Annual Computing and Communication Workshop and Conference (CCWC) | 978-1-6654-1490-6/21/$31.00 ©2021 IEEE | DOI: 10.1109/CCWC51732.2021.9376146

Marietta, USA
Contact: yshi5@ kennesaw.edu

Abstract—The cloud computing paradigm offers many time, though other factors that must be considered include load
advantages over traditional self-hosting computing solutions by balancing and overall quality of service. Over the last few
abstracting computations from infrastructure. An essential task decades, researchers have designed many task scheduling
for any cloud provider is task scheduling, wherein tasks are algorithms including First-Come, First-Served (FCFS), Round
assigned to computing resources within the cloud system by a Robin, Min-min, Max-min and Sufferage [1].
broker. Numerous cloud task scheduling algorithms exist
including Min-Min, Max-Min, and Sufferage—though each is Each task scheduling algorithm is a policy that aims to
defined by performance trade-offs. BSufferage is proposed as a minimize certain performance metrics while making trade-offs
novel cloud task scheduling algorithm that augments the with other metrics. The most basic of these is the FCFS
performance of the classical Sufferage algorithm. Modeling the scheduling policy, where tasks are assigned to resources in the
algorithm using the open source CloudSim package and order they are received by the system. Round Robin (RR) is
comparing it to its precursor yields performance results for another policy in which each task is allocated an equal slice of
BSufferage—demonstrating decreased completion times, time to share computing resources resulting in a large overhead
increased throughput, and improved load balancing of resources. and poor response time, though it is more commonly used for
single-threaded systems. The Min-min policy allocates
Keywords— Task Scheduling, Cloud Computing, Sufferage computing resources to the task with the potential of being
Algorithm, Cloud Simulation
completed the earliest, while Max-min does the same but for the
I. INTRODUCTION task with the potential of being completed the latest. The Most
Fit policy aims to maximize load balancing by assigning tasks
Cloud computing is advantageous to traditional computing to resources that best utilize them, though it suffers from the
solution because the barrier of cost is reduced; users are only highest assignment failure ratio out of the listed algorithms. The
charged for their allocated resources. By abstracting from the Priority policy assigns every task a priority, with tasks having
computing resources, developers are unburdened with the larger priorities being executed before others and tasks with the
purchasing, configuring, provisioning, and maintaining of same priority being executed in order of arrival to the queue [2].
computing resources so that development time can be utilized
efficiently. Other advantages of cloud computing include Load balancing is important to consider so that resource
integrations with other cloud services, high composability, and utilization is constant and that no resource is overloaded or
scalability benefits, as most providers offer integrated under-utilized. Load balancing can be measured in CPU load,
customization of computing power, storage, bandwidth, etc. The network load, memory capacity, storage, etc. There are many
SPI model partitions the types of cloud providers into three load balancing algorithms created by researchers [5, 6]. One
categories, with each succeeding category becoming more such type is the family of static algorithms that requires the user
abstract than its predecessor—on the bottom is Infrastructure as having prior knowledge of the system. Other types are the
a Service (IaaS), on the middle is Platform as a Service (PaaS), dynamic algorithms for which prior knowledge is not required
and on top is Platform as a Service (PaaS). Many institutions and [3].
corporations utilize cloud computing to some degree, including
but not limited to Google, Microsoft, Amazon, IBM, etc. Active II. A CLOUD BASED TASK SCHEDULING APPROACH
research areas related to cloud computing include network As briefly described in the previous section Min-min, Max-
topology, task scheduling, and distributed/parallel computing. min, and Sufferage are three common and closely related task
scheduling algorithms [7, 8]. This section will detail the process
On both single-threaded processors and distributed or
of each policy and provide the basis for the proposed algorithm
networked computing systems, tasks must be assigned to
BSufferage.
computing resources. An objective of any cloud provider is to
distribute tasks among resources to maximize efficiency and The Min-min scheduling policy is split into two phases: first
reduce cost in a way that is scalable and flexible. Cloud is the calculation of the minimum completion time for every task
providers execute tasks with both multitasking (running multiple in queue, and second is the allocation of the task with the
tasks synchronously) and multiplexing (arranging multiple minimum completion time to its corresponding virtual machine.
flows synchronously). The most effective task scheduling Completion time is computed as the sum of the task’s execution
algorithms maximize throughput while minimizing completion time (which depends on the size of the task and the

978-0-7381-4394-1/21/$31.00 ©2021 IEEE 0081


specifications of the virtual machine) and the time until the time. Thus, the task with the largest sufferage value or
virtual machine is available. Each virtual machine can only difference in first and second completion times is assigned
execute one task at a time, so tasks must wait in a queue until before all others. Though this considers more information than
being assigned. Once all combinations are calculated, the task both Min-min and Max-min, the sufferage value merely
with the lowest potential completion time is assigned to the considers the two quickest theoretical mappings. To illustrate a
virtual machine with the earliest completion time. Consequently, case in which more information might be required, if a task is
tasks with small computing requirements are favored for not assigned to its first option virtual machine, nor is it assigned
brokering over tasks with large requirements. to its second option virtual machine, what would be the cost
The Sufferage scheduling policy is based around a quantifier when it must choose the third option virtual machine? What
called the "sufferage" value, which is calculated for each queued other information from the calculated completion times can we
task with lower values representing tasks that makes the system use when choosing which task to broker?
"suffer" by yielding a suboptimal pairing. The sufferage Our BSufferage algorithm attempts to address these issues.
heuristic is determined by first calculating the minimum and BSufferage algorithm is performed in an iterative way. In each
second minimum completion times for each queued task; it is iteration, for each task ti, we first sort the completion times on
defined as the difference between these two values. Like the all the virtual machines, and find three minimum values min,
Min-min algorithm, the completion time is computed as the sum 2nd_min and 3rd_min. We also calculate the standard deviation
of the task’s execution time and the time until the virtual σ of the difference of Completeij and min.
machine is available. Tasks dispatched to virtual machines have Next, we calculate a value
their sufferage values checked against the currently executing
task and the task with the higher value gets priority over the
 si = (2nd_min – min) * (3rd_min – min) * σ (Completeij – min) 
resource. In contrast to Min-min, the Max-min algorithm
arbitrates the task that will be theoretically completed last, rather
than selecting a task which will be theoretically completed first. With this augmentation on the original algorithm, not only
This favors tasks with larger requirements as to avoid long waits are tasks with large differences between the earliest and second
and possibly starvation in the execution queue. earliest completion times preferred, but also tasks with large
differences between second and third earliest completion times.
Different from Min-min, the Max-min algorithm arbitrates In addition, the standard deviation of all sufferage values
the task that will be theoretically completed last, rather than between earliest completion time and all other completion times
selecting a task which will be theoretically completed first. This is recorded and serves as the quantifier that determines which
favors tasks with larger requirements as to avoid long waits and
tasks are brokered to which virtual machines.
possibly starvation in the execution queue.
In each iteration, we choose a task tq with the largest value
The three classical cloud task scheduling algorithms of si and assign it to its first option virtual machine Vp that gives
described have simple heuristics for determining how to broker its earliest completion time and remove tq from the task pool.
tasks to resources—by calculating minimum earliest completion At the end of this iteration, the available time of Vp will be
time, maximum earliest completion time, or maximum sufferage updated because it accepted a new task tq, and the completion
value. Consequentially, the cloud system might exhibit times of all remaining tasks on Vp will be updated accordingly.
unexpected behavior (like task starvation where tasks never
leave the queue) due to the simple brokering logic. Also, none
of these algorithms consider the load balancing of resources, III. EXPERIMENTS
instead opting for basic heuristics based on completion times. The proposed BSufferage algorithm is implemented in the
Because tasks and data are more diverse in practice than in free and open-source CloudSim cloud computing library for
theory, more complex heuristics are needed to target multiple Java on a computer with Intel Core i5-4430 @ 2.90 GHz and 8
performance metrics. To overcome the shortcomings of these GB of RAM. CloudSim was selected to test the algorithms
algorithms, a new approach is required. because it allows for the simulation of multiple cloud
In this paper, we propose an algorithm called BSufferage for components such as Datacenter, Host, Broker, Virtual Machine
task scheduling that augments the performance of algorithm of and Cloudlet [4]. This benefits the experiments by minimizing
Sufferage. the number of unknown variables within the model and by
providing a controlled, transparent environment that can be
A. BSufferage Algorithm modified on-the-fly. CloudSim is highly extensible and offers
We design an algorithm BSufferage, which is an extension many add-ons and features in addition to the components
of the traditional Sufferage algorithm. In the first stage of the contained in the main package. In the example code and
BSufferage algorithm, we calculate Exeij which is the time documentation are numerous examples of common cloud
required for them to execute on virtual machines, record Availj computing scenarios including network topology, the
which is the availability time of each virtual machine in cloud, MapReduce programming paradigm, and cloud task scheduling.
and compute Completeij which is the expected computation time The performance metrics being recorded and measured
of a task ti to be completed on a virtual machine Vj. during the simulation to compare between BSufferage and
In the classical Sufferage task scheduling policy, the Sufferage are turnaround time, load balancing, and throughput.
sufferage value is calculated as the difference between the Turnaround time refers to the time between submission of a task
earliest completion time and the second earliest completion and its completion. Load balancing is measured through the

0082
standard deviation of the virtual machine load as described in A. Experiments on BSufferage
the previous section. Throughput is the number of tasks that the Figure 2 shows the change of throughput (Y axis) for
system completes in a given span of time. A program is BSufferage on various Cloudlets (10 to 100) as the number of
implemented to generate synthetic data of the computational the virtual machines (VMs) changes from 9 to 30 (X axis).
power of each virtual machine and size of each task. The number Figure 2 shows that when the number of VMs increases,
of virtual machines tested ranges from 9, 12, …, 30. The number throughput increases as well. Figure 3 shows the change of
of tasks (described by Cloudlets in CloudSim package) ranges turnaround time (Y axis) for BSufferage on various Cloudlets
from 10, 20, …, 100. (10 to 100) as the number of the virtual machines (VMs) changes
from 9 to 30 (X axis). Figure 3 shows that when the number of
VMs increases, the average turnaround time decreases.

Fig. 1. Throughput for BSufferage on Cloudlets (10 to 100) and Virtual Machines (9 to 30)

0083
Fig. 2. Turnaround Time for BSufferage on Cloudlets (10 to 100) and Virtual Machines (9 to 30)

We compare the performance of BSufferage with the classic than Sufferage. Figure 7 shows an example of the comparison of
Sufferage algorithm. Figures 4, 5, and 6 show examples of the BSufferage and Sufferage on the turnaround time; from this, we
comparison of BSufferage and Sufferage on throughput when can see that BSufferage has lower turnaround time than
they are performed on various number of cloudlets; from these, Sufferage.
we can see that by average BSufferage has higher throughput

Fig. 3. Throughput of BSufferage vs Sufferage with 40 Cloudlets

0084
Fig. 4. Throughput of BSufferage vs Sufferage with 70 Cloudlets

Fig. 5. Throughput of BSufferage vs Sufferage with 90 Cloudlets

0085
Fig. 6. Turnaround Time of BSufferage vs Sufferage with 40 Cloudlets

Fig. 7. VM load standard deviation of BSufferage vs Sufferage with 70 Cloudlets

Figures 8 shows an example of the comparison of BSufferage has smaller standard deviation than Sufferage,
BSufferage and Sufferage on the standard deviation of virtual which mean it achieves better load balancing than Sufferage.
machine workload when they are performed on various number
of cloudlets. From figure 8 we can see that by average

0086
IV. CONCLUSION [4] The Cloud Computing and Distributed Systems (CLOUDS) Laboratory,
University of Melbourne. http://www.cloudbus.org/intro.html
Augmenting the classical Sufferage cloud task scheduling [5] E. J. Ghomi, A. M. Rahmani, and & N. N. Qader, (2017). Load-balancing
algorithm yields the BSufferage policy with improved algorithms in cloud computing: a survey. Journal of Network and
turnaround time, load balancing, and throughput. The Computer Applications, 88, 50-71.
performance of the algorithm is determined by an experiment [6] Q. Xu, R. V. Arumugam, K. L. Yong, Y. Wen, Y. S. Ong, and W. Xi
run in the CloudSim framework and compared with its (2015). Adaptive and scalable load balancing for metadata server cluster
ancestors. From the results of the experimental data, our in cloud-scale file systems. Frontiers of Computer Science, 9(6), 904-918.
algorithm is measured to achieve a generally decreased [7] E. K. Tabak, B. B. Cambazoglu and C. Aykanat, "Improving the
Performance of Independent Task Assignment Heuristics
completion time and improved load balancing of computing MinMin,MaxMin and Sufferage," in IEEE Transactions on Parallel and
resources compared to Min-min and Sufferage. Distributed Systems, vol. 25, no. 5, pp. 1244-1256, May 2014. doi:
10.1109/TPDS.2013.107
REFERENCES [8] M. Maheswaran, S. Ali, H. J. Siegal, D. Hensgen and R. F. Freund,
[1] R. M. Singh, S. Paul and A. Kumar, “Task scheduling in cloud "Dynamic matching and scheduling of a class of independent tasks onto
computing”, International Journal of Computer Science and Information heterogeneous computing systems," Proceedings. Eighth Heterogeneous
Technologies, Vol. 5 (6), 2014. Computing Workshop (HCW'99), San Juan, Puerto Rico, USA, 1999, pp.
[2] P. Salot, “A survey of various scheduling algorithm in cloud computing 30-44. doi: 10.1109/HCW.1999.765094
environment”, M.E, computer engineering, India,
[3] R. P. Padhy, P. G. P. Rao, “Load Balancing in Cloud Computing
Systems”, National Institute of Technology, Rourkela, May,2011.

0087

You might also like