Professional Documents
Culture Documents
LITERATURE SURVEY
FCFS [67], is the easiest static scheduling algorithm in which task that arrives first will be
scheduled first of all and resources are allocated to that task as it needs. All tasks for which no
resources are available at any particular time are kept in a queue waiting for resources to get
free. Once the task is executed, the next task in queue is scheduled next and assigned the free
resource. FCFS is a basic scheduling method in which tasks are queued up if resources are busy.
The algorithm evaluated arrival time of tasks as well the algorithm is easy to be implemented.
There is no optimization function used to map the tasks to the resources and hence it is a pure
form of greedy algorithm with no optimization features.
Round Robin [67], is another static scheduling method in which task are executed for a fixed
time slot. The tasks are put in queue at the end and will be taken again when it will reach front
and remaining execution will be carried out. The algorithm calculates expected execution time
as well balances the load. The resources are provisioned to the task on first-cum-first-serve
(FCFS- i.e. the task that entered first will be first allocated the resource) basis and scheduled in
time sharing manner. It can be considered as greedy (first-fit) round-robin scheduling policy for
mapping Virtual Machines and tasks under static environment.
Shortest Job First is a simple static priority-based scheduling algorithm in which the tasks are
assigned priority on the basis of the task length. The task with the shortest length is assigned
resources first. A queue is maintained if all resources are busy.
OLB (Opportunistic Load Balancing) [70], begins by assigning the tasks randomly or in free
order to available resources on the cloud. It does so by assigning workload to nodes in free
order. The implementation is very easy as no computation is required and it does not consider
any constraints while assigning tasks to resources. For instance, it does not consider the
expected execution time of task on different resources. Idea is to ensure that all resources or
machines get work.
MET (Minimum Execution Time) [70], is also simple and easy to execute. The tasks are
assigned to the machines considering that it should take minimum time to execute the task. It
seems very valid. But it does not take into consideration the current load and availability of the
machine. It simply assigns the task to the best machine. This strategy can result in poor load
balance across various machines. Load balance Min-Min (LBMM) [70] is an example of
Minimum Execution Time task scheduling algorithm.
MCT (Minimum Completion Time) [71], is a strategy that works differently than the
Minimum Execution Time. Rather than considering the Execution Time, it works on
Completion Time of the task. It may take more time to execute, but the task is guaranteed to
complete in minimum time as compared to other machines. Each task is assigned arbitrarily to
the machines which possesses the minimum completion time to complete this task. However,
the strategy fails to ensure that task takes minimum execution time.
Min-max [41], is also based on Completion Time of tasks and is quite similar to Min-min
heuristic on the basis of its implementation. Only difference between min-min and max-min is
the selection of corresponding machine where it should execute. It also has a set of all
unscheduled tasks. Again, we compute the matrix for minimum completion time of every task
which is still waiting for resource allocation. But, rather than selecting the task with overall
minimum time, here the task with overall maximum completion time is scheduled the respective
machine on which its completion time is maximum. The task is then removed from the list of
tasks that are waiting for resource allocation and the same procedure is followed for all the
remaining tasks in the list.
GA (Genetic Algorithm) [41], is another popular heuristic strategy used to find near-optimal
solution for complex problems It is a population-based heuristic. First step of GA is to
randomly initialize the population of chromosomes. Objective function is then designed based
on one or two parameters. One of the most widely used QOS parameter is Makespan time. After
getting the initial population, all chromosomes in the population are evaluated on the basis on
their respective fitness value (Makespan time). Next step is to perform a crossover operation
that selects a random pair of chromosomes of a task and picks a random point in first
chromosome. Allocation of resources is also exchanged between particular corresponding tasks.
Last step is to perform mutation operation. It randomly selects a chromosome and task within
the chromosome and the task is then re-assigned or re-allocated to the selected resource. The
same process is repeated for number of iterations till the stopping criteria is met, which it the
objective function.
In paper [18], Load balancing strategy has been implemented using Genetic Algorithm.
Generally, the problem of task scheduling in cloud computing is dynamic in nature, still at some
points you have a certain set of tasks to be assigned to available resources. In this paper, two
vectors were used to represent the current load of the VM’s at any given time and information
related to the job submitted to the cloud. The focus of this paper was to optimize the cost
function. Simulation results shows that performance of load balancer using GA is much better
than other static algorithms.
In paper [63], a cloud task scheduling policy based on Ant Colony Optimization (ACO)
[38] algorithm has been implemented and its performance is compared with different
scheduling algorithms like First Come First Served (FCFS) and Round-Robin (RR). In this
paper, a probabilistic function on the basis of expected time to compute for each task has been
proposed. The probabilistic function takes into consideration the pheromone concentration,
transfer time of task, expected time to compute, length of each task, processing capabilities of
each Virtual machine including band width are considered. Then the paper also suggests a
function for updating the pheromone value. The pheromone value is updated after each tour by
ant. Computed length after each tour by an ant refers to the Makespan value. The function also
considers the trail decay, i.e. decay of pheromone concentration at each path. The main goal of
these algorithms is minimizing the Makespan of a given tasks set. Experimental results showed
that cloud task scheduling based on ACO outperformed FCFS and RR algorithms. Tasks
varying in size from 100 to 100 are then scheduled using the Ant Colony Optimization
algorithm.Performance of the metaheuristic ACO is much better as compared to static
algorithms like FCFS and Roubd-Robin. But paper does not suggest any measure to improve
the imbalance factor beyond the implementation of evolutionary ACO algorithm. The algorithm
does not consider parameters other than Makespan time and also the probabilistic function used
in this paper can be extended to consider other issues. The probability function can be designed
by considering different QoS parameters.
In paper [49], Ant Colony Optimization (ACO) [38] has been implemented for solving cloud
scheduling problem. The paper suggests that local pheromone update and global pheromone
update is the key step in implementation of Ant Colony Optimization scheduling algorithm.
Local pheromone update is done so as to ensure that more preference is given to edges or the
paths that have not yet been explored over the edges or paths have been already travelled by the
ant. It further ensures that all ants do not end up converging on the same path. Neighbour is
explored using the global pheromone which is updated in each iteration to ensure that the ants
explore the search spaces in the neighbourhood too. It compares both Makespan and total
execution time of tasks with FCFS. It aims to minimize the Makespan. Reducing the Makespan
of the tasks is important as it can increase the overall throughput of the tasks.
Particle Swarm Optimization (PSO) [37]is based on the behaviour of animals that form a
group and find best position in that group to form a swam. Single fish or bird in a swarm is
called a particle and each particle in a swarm them moves in a certain direction at certain speed.
So, the next position of the particle in the swarm is decided by the direction and speed in which
the particles are moving. It is best suited for problems that are continuous in nature, but it can
also be used to solve the discrete problems such as task scheduling in cloud environment. It
takes less time to converge to a solution than other algorithms.
In paper [72], a task scheduling algorithm based on Particle Swarm Optimization (PSO)
has been implemented. It provides an optimal way to minimize average utilisation of
resources. In this paper a multi-dimensional QOS based improved particle swarm optimization
algorithm (QoS-DPSO) was proposed. The idea of this algorithms was to consider multi-
dimensional QoS parameters and adjust these parameters dynamically to find better particle
positions.
In paper [73], approach to Load balancing using Particle Swarm Optimization in cloud
computing has been proposed. VM migration from one host to another is a time-consuming task
and the proposed method targets to overcome this drawback. Rather than migrating the VM
itself, only the overloaded tasks are migrated. Focus of the proposed algorithm is to reduce the
time taken to load the balance.
In paper [64], an approach to migration along with allocation has been suggested.The
objective of this algorithm is to reduce the number of migrations for achieving better energy
consumption and resource. The algorithm was successful in reducing the energy consumption
and also ensuring that the algorithm is able to converge to a solution in less time by combining
the two different set of algorithms for allocation of the resources and migration of the resources.
In paper [50], heuristic based method is proposed to schedule data intensive and
computation intensive applications so as to minimize the overall execution cost. The
scientific analysis is computation intensive that involves lot of data and hence it takes a long
time for execution. Many web services are also now coming into the category of data intensive
applications. Creating a web environment for carrying out the data intensive computing is very
useful in terms of achieving much higher scalability then performing data intensive computing
on single high-end system at one place. The main challenge in implemented such an
infrastructure is to achieve minimum response time. The task scheduling algorithm in this paper
reduces the amount of data movement between the nodes. A task's processing cost varied on
the basis of the processor assigned to each task. Data movement is key performance indicator
and is considered to be the part of the total expected time to execute a task on a virtual machine.
It is important to reduce the data movement and thus ensuring that lesser time is wasted in
migrating the tasks to the cloud server.
In paper [46], a broad overview of Bio inspired algorithms used to tackle various
challenges faced in Cloud Computing Resource management environment has been
presented. Bio inspired algorithm plays very important role in computer networks, data mining,
power system, economics, robotics, information security, control system, image processing etc.
There are great opportunities of exploring or enhancing this field algorithm with the help of
innovative ideas or thoughts. Since this field of Bio inspired algorithm bridge a knowledge
bond between different communities like computer science, biology, economics, artificial
intelligence etc.