Abstract:
Cloud Computing refers to computing services over the internet and deals
with varied different virtualization resources. The task scheduling plays a crucial role
in enhancing the performance of cloud computing. The issue with task scheduling is
distribution of tasks within the system in a manner that optimize the performance of
overall system and minimize the execution time. To achieve such good plan the
provider need to evaluate and choose among different algorithms to allocate and
schedule the available resources. The challenging decision of choosing the proper
algorithm is taking based on different performance metrics for task scheduling. In
this research the focus is concentrated on task Execution Time as criteria for
evaluating among the chosen algorithms. The selected mechanisms contain
information of jobs (cloudlets) and resources (virtual machines) such as length of
jobs, speed of resources and identifier for both. In order to generate the population,
first, set of jobs and resources were created, then the execution times of jobs were
computed as a fitness values. Second, the algorithms iterated to themselves in order
to regenerate populations to produce the best job schedule that gives the minimum
execution time of jobs. The methodology of this research is based on simulation of
the selected mechanisms using the Java Language and CloudSim simulator. The
comparison and analysis of different task scheduling algorithms has been discussed
in this research on the basis of time execution. The results revealed that when having
small sizes of scheduling problems PSO take the lead. However, in case of large size
of jobs, Cat Swarm Optimization significantly outperforms the considered Particle
Swarm Optimization, Firefly Algorithm and Glowworm Swarm Optimization in
terms of execution time.