03 - Job Scheduling State of Art
03 - Job Scheduling State of Art
Abstract—Cloud Computing provides a Computing accessed as per the usage. Allocation of resources and proper
environment where different resources, infrastructures, scheduling has a considerable impact on the performance and
development platforms and software are delivered as a service to efficiency of the system. The main goal of cloud computing is
customers virtually on pay per time basis. Low cost, scalability, to provide efficient access to remote and geographically
reliability, utility-based computing are important aspects of cloud
distributed resources.
computing. Job scheduling is an essential and most important
part in any cloud environment. With increasing number of users, An efficient scheduling is a key to manage the access to
Job scheduling becomes a strenuous task. Ordering the jobs by different resources, load balancing as well as resource
scheduler while maintaining the balance between quality of allocation [4]. Different types of resource scheduling
services (QoS), efficiency and fairness of jobs is quite challenging.
Scheduling algorithms are implemented considering parameters
algorithms are available in cloud computing based on certain
such as throughput, resource utilization, latency, cost, priority, parameters like time, cost, performance, priority, utilization of
computational time, physical distances, performance, bandwidth, resources, throughput, bandwidth, resource availability and
resource availability. Though there are different scheduling physical distances.
algorithms available in cloud computing, a very less comparative
study has been done on performance of various scheduling
The paper is organized as follows: In section II, we have
algorithms with respect to above mentioned parameters. This discussed about the theoretical background of cloud
paper aims at a comparative study of various types of job computing. In section III, we have discussed about the
scheduling algorithms that provide efficient cloud services. literature survey we have done related to scheduling
algorithms used in cloud computing.
Keywords—Time Optimized Scheduling Algorithms, Cost
Optimized Scheduling Algorithms, Cloud Computing.
II. Theoretical Background
Resource scheduling and allocation are important features
I. Introduction that affect the performance of cloud computing [5]. Many
researchers have developed various algorithms for scheduling
Cloud computing is a horizon that is emerging out in and scaling of resources in an efficient manner in a cloud.
virtualization, computing and web technologies. Cloud These algorithms are round robin, first come first serve, min-
computing is a distributed computing environment which min, max-min, earliest dead line first, and greedy [6] [7].
includes a large set of virtualized computing resources,
various development platforms, infrastructures and useful Two major types of techniques are used to categorize
software are delivered as a service to customers on a pay as algorithms. They are Time-based optimization techniques and
per use basis usually over the Internet [1]. A major constraint Cost-based optimization techniques. Time-based algorithms
i.e. cutting down the operational expenses can be overcome by concentrate on minimization of execution time, excluding
the use of cloud computing technology. This will help grow other factors like cost as well as QoS levels. Cost-based
business organizations, government organizations as well as optimization techniques concentrate on satisfying QoS user
academic institutions. Cost effectiveness, scalability, level [8] [9].
reliability, fault tolerance, service-orientation, utility based, A. Taxonomy of Cloud Computing
virtualization and service level agreement (SLA) are some of
the salient features of Cloud Computing [2] [3]. Cloud Computing provides various services related to
infrastructure, software, and platform. The three basic models
Cloud provides on demand computational resources in the of Cloud Computing are Infrastructure as a service (Iaas),
form of virtual machines (VMs) deployed in a cloud Platform as a service (Paas), and Software as a service (Saas)
provider’s data center. The computational resources are shared as shown in Fig. 1 Service layers of Cloud Computing [10].
among different cloud consumers who pay for the service
to go is a dynamic scheduling algorithm used in real-time resource list is empty and reduces the relative resource list and
operating systems that places processes in a priority queue. reassigns the tasks.
Whenever a scheduling event occurs (end of task, release of
F. Genetic Algorithm
new task.) then the queue will be searched for the process that
is closest to its deadline, the found process will be the next Genetic Algorithm (GA) is a heuristic that mimics the
that is going to be scheduled for execution [18]. process of natural selection. It starts with a set of initial
solution and then with the help of genetic operators, will
C. Deadline Distribution Algorithm generate the new solution [25] [26]. This algorithm handles a
large search space, applicable to the complex objective
The deadline distribution algorithm [19] meets the
function with the help of a local optimum solution, avoiding
deadline for delivering results to minimize the cost. This
the trap. Authors have developed a genetic algorithm, which
algorithm partitions a workflow and distributes the overall
provide a cost based multi QoS scheduling in cloud [27] [28].
deadline into each task based on their workload and
Genetic algorithms belong to the larger class of Evolutionary
dependencies.
Algorithm (EA).
Deadline distribution algorithm uses Synchronization Task G. Modified ant colony optimization scheduling algorithm
Scheduling (STS) for synchronization tasks and Branch Task
Modified ant colony optimization is an approach for
Scheduling (BTS) for branch partition respectively. Each task
diversified service allocation and scheduling mechanism in
has its own sub deadline and a local optimal schedule can be
cloud paradigm. The main aim of this optimization method is
generated for every task. If each local schedule guarantees
to minimize the scheduling throughput to service all the
completion of their task execution within their sub-deadlines,
diversified requests according to the different resource
the whole workflow execution will be completed within the
allocator available under cloud computing environment [29].
overall deadline. Similarly, the result of the cost minimization
solution for each task leads to an optimized cost solution for H. Improved activity based cost based algorithm
the entire workflow [20]. Therefore, an optimized workflow This algorithm is used for efficient scheduling of tasks to
schedule can be constructed from all local optimal schedules. available resources in cloud. In this algorithm the cost and
The schedule allocates every workflow task to a selected computation performance are scheduled. It also improves the
service such that it can meet its assigned sub-deadline at a low computation or communication ratio by grouping the user
execution cost. tasks according to a particular cloud resource’s processing
capability and sends the grouped jobs to the resource [30].
D. Compromised-time-cost scheduling Algorithm
S Pandey et al. presented a compromised-time-cost I. Particle Swarm Optimization algorithm
scheduling algorithm in which they considered cost Particle swarm optimization is used to minimize the total
constrained workflows by compromising execution time and cost of execution of application workflows on Cloud
cost with user input [21]. This algorithm considers the computing environments. It calculates the total cost of
characteristics of cloud computing to accommodate instance- execution by varying the communication cost between
intensive cost-constrained workflows by compromising resources and the execution cost of computing resources [31].
execution time and cost with user input enabled on the fly
J. Market Oriented Hierarchical Scheduling
[22].
Market-oriented hierarchical scheduling strategy consists
E. Back-tracking Algorithm of service-level scheduling and task-level scheduling. Service-
Backtracking algorithm finds solutions to computational level scheduling deals the Task-to-Service assignment and the
problem that incrementally builds candidates to the solutions, task-level scheduling deals with the optimization of the Task-
and abandons each partial candidate c as soon as it to-VM assignment in local cloud data centers. It can be used
determines that c cannot possibly be completed to a valid to optimize the time and cost simultaneously [32].
solution [23]. The back-tracking algorithm [24] assigns
K. Profit-driven Service Request Scheduling
available tasks to the least expensive computing resources.
The unscheduled task’s parent tasks are scheduled. Two sets of profit-driven service request scheduling
algorithms are presented. These algorithms are devised
If more than one task is available, the algorithm assigns incorporating a pricing model using process sharing (PS) and
the task with the largest computational demand to the fastest two allowable delay metrics based on service and application.
resources in its available resource list. This process is repeated Authors have demonstrated the efficiency of consumer
until all tasks have been scheduled. After each step, the applications with interdependent services. The evaluation of
execution time of the current assignment is computed. If the the algorithm was done on the basis of maximum profit and
execution time exceeds the time constraint, the back tracks the utilization [33].
previous step, removes the resource with minimum expense
from its resource list and reassigns tasks with the reduced A comparative study has been done to analyse the working
resource set. Backtracking keeps the previous steps where the of different scheduling algorithms.
IV. Result And Discussions Thus, based on customers requirement service providers
can use various algorithms for enhancing the efficiency and
The algorithm with the best efficiency for Cloud obtain optimized resource allocation based on certain
environment is determined by various parameters. Cloud parameters.
service providers also offer extra resources to users on demand
with some extra charges. Therefore, Scheduling policies must
work within the deadline and time constraints.
Scheduling algorithms are generally classified as Time TABLE II. FACTOR BASED CLASSIFICATION OF SCHEDULING
based and Cost based. Cost based algorithms include Deadline ALGORITHMS
distribution algorithm, Compromised time-cost algorithm, and
Genetic algorithm. Time based algorithms include Time Cost
Backtracking algorithm, Extended Min-Min algorithm, Round
robin algorithm, and Earliest deadline algorithm. Round Robin Dead line distribution
Cost optimization techniques minimize the cost for
running the applications whereas Time optimization Earliest Dead Line first Compromised time-cost
techniques minimize the completion time for applications.
Cloud service providers use several scheduling algorithms as Back Tracking Genetic algorithm
per the cloud environment to provide efficient services to the
cloud users. Some of the leading cloud providers have been Modified ant colony Improved activity based
mentioned in the TABLE I. along with the algorithms they use optimization cost
for allocation of resources [34] [35].
Extended Min-Min A particle swarm
TABLE I. SCHEDULING ALGORITHMS IN DIFFERENT CLOUD optimization
COMPUTING ENVIRONMENT
Compromised time cost Profit driven service
Cloud Open Scheduling algorithm used oriented algorithm
Provider Source