Investigation of Cloud Scheduling Algorithms for Resource Utilization Using CloudSim

Compute Cloud comprises a distributed set of High-Performance Computing (HPC) machines to stipulate on-demand computing services to remote users over the internet. Clouds are capable enough to provide an optimal solution to address the ever-increasing computation and storage demands of large scientific HPC applications. To attain good computing performances, mapping of Cloud jobs to the compute resources is a very crucial process. Currently we can say that several efficient Cloud scheduling heuristics are available, however, selecting an appropriate scheduler for the given environment (i.e., jobs and machines heterogeneity) and scheduling objectives (such as minimized makespan, higher throughput, increased resource utilization, load balanced mapping, etc.) is still a difficult task. In this paper, we consider ten important scheduling heuristics (i.e., opportunistic load balancing algorithm, proactive simulation-based scheduling and load balancing, proactive simulation-based scheduling and enhanced load balancing, minimum completion time, Min-Min, load balance improved Min-Min, Max-Min, resource-aware scheduling algorithm, task-aware scheduling algorithm, and Sufferage) to perform an extensive empirical study to insight the scheduling mechanisms and the attainment of the major scheduling objectives. This study assumes that the Cloud job pool consists of a collection of independent and compute-intensive tasks that are statically scheduled to minimize the total execution time of a workload. The experiments are performed using two synthetic and one benchmark GoCJ workloads on a renowned Cloud simulator CloudSim. This empirical study presents a detailed analysis and insights into the circumstances requiring a load balanced scheduling mechanism to improve overall execution performance in terms of makespan, throughput, and resource utilization. The outcomes have revealed that the Sufferage and task-aware scheduling algorithm produce minimum makespan for the Cloud jobs. However, these two scheduling heuristics are not efficient enough to exploit the full computing capabilities of Cloud virtual machines.

[1]  Huankai Chen,et al.  User-priority guided Min-Min scheduling algorithm for load balancing in cloud computing , 2013, 2013 National Conference on Parallel Computing Technologies (PARCOMPTECH).

[2]  Jie Xu,et al.  An Approach for Characterizing Workloads in Google Cloud to Derive Realistic Resource Utilization Models , 2013, 2013 IEEE Seventh International Symposium on Service-Oriented System Engineering.

[3]  Rajeev Gandhi,et al.  An Analysis of Traces from a Production MapReduce Cluster , 2010, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing.

[4]  Hamidah Ibrahim,et al.  Virtual Machines Cooperation for Impatient Jobs under Cloud Paradigm , 2011 .

[5]  Hamidah Ibrahim,et al.  Impatient task mapping in elastic cloud using genetic algorithm , 2011 .

[6]  Rolf Stadler,et al.  Resource Management in Clouds: Survey and Research Challenges , 2015, Journal of Network and Systems Management.

[7]  Shripadrao Biradar,et al.  A Review Paper of Improving Task Division Assignment Using Heuristics , 2015 .

[8]  Gaurav Sharma,et al.  Task Aware Switcher Scheduling for Batch Mode Mapping in Computational Grid Environment , 2013 .

[9]  A. Aditya,et al.  A Comparative Study of Different Static and Dynamic Load Balancing Algorithm in Cloud Computing with Special Emphasis on Time Factor , 2015 .

[10]  Luciano Lenzini,et al.  Tradeoffs between low complexity, low latency, and fairness with deficit round-robin schedulers , 2004, IEEE/ACM Transactions on Networking.

[11]  O. M. Elzeki,et al.  Improved Max-Min Algorithm in Cloud Computing , 2012 .

[12]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[13]  Ladislau Bölöni,et al.  A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems , 2001, J. Parallel Distributed Comput..

[14]  Hao Wu,et al.  Heuristics to allocate high-performance cloudlets for computation offloading in mobile ad hoc clouds , 2015, The Journal of Supercomputing.

[15]  Ivanoe De Falco,et al.  Two new fast heuristics for mapping parallel applications on cloud computing , 2014, Future Gener. Comput. Syst..

[16]  Berkant Barla Cambazoglu,et al.  Improving the Performance of IndependentTask Assignment Heuristics MinMin,MaxMin and Sufferage , 2014, IEEE Transactions on Parallel and Distributed Systems.

[17]  Chirag S. Thaker,et al.  Analysis of Various Task Scheduling Algorithms in Cloud Computing , 2015 .

[18]  Isam Azawi Mohialdeen Comparative Study of Scheduling al-Grotihms in Cloud Computing , 2013, J. Comput. Sci..

[19]  Mohammed Joda Usman,et al.  Performance comparison of heuristic algorithms for task scheduling in IaaS cloud computing environment , 2017, PloS one.

[20]  Manpreet Singh,et al.  Green cloud environment by using robust planning algorithm , 2017 .

[21]  Faramarz Safi Esfahani,et al.  RePro-Active: a reactive–proactive scheduling method based on simulation in cloud computing , 2018, The Journal of Supercomputing.

[22]  R. F. Freund,et al.  Dynamic Mapping of a Class of Independent Tasks onto Heterogeneous Computing Systems , 1999, J. Parallel Distributed Comput..

[23]  Sangyeun Cho,et al.  Characterizing Machines and Workloads on a Google Cluster , 2012, 2012 41st International Conference on Parallel Processing Workshops.

[24]  Saeed Parsa,et al.  RASA-A New Grid Task Scheduling Algorithm , 2009, J. Digit. Content Technol. its Appl..

[25]  Charles Reiss,et al.  Towards understanding heterogeneous clouds at scale : Google trace analysis , 2012 .

[26]  Archana Ganapathi,et al.  Analysis and Lessons from a Publicly Available Google Cluster Trace , 2010 .

[27]  Xiaopeng Yu,et al.  A New Grid Computation-Based Min-Min Algorithm , 2009, 2009 Sixth International Conference on Fuzzy Systems and Knowledge Discovery.

[28]  John Jose,et al.  Study and analysis of various task scheduling algorithms in the cloud computing environment , 2014, 2014 International Conference on Advances in Computing, Communications and Informatics (ICACCI).

[29]  Shahram Behzad,et al.  Queue based Job Scheduling algorithm for Cloud computing , 2013 .

[30]  Yingchi Mao,et al.  Max–Min Task Scheduling Algorithm for Load Balance in Cloud Computing , 2014 .

[31]  Liu Tang,et al.  Energy-aware scheduling scheme using workload-aware consolidation technique in cloud data centres , 2013, China Communications.

[32]  Uwe Schwiegelshohn,et al.  Online Bi-Objective Scheduling for IaaS Clouds Ensuring Quality of Service , 2016, Journal of Grid Computing.

[33]  Vahid Khatibi Bardsiri,et al.  TASA: A New Task Scheduling Algorithm in Cloud Computing , 2015 .

[34]  O. M. Elzeki,et al.  Overview of Scheduling Tasks in Distributed Computing Systems , 2012 .

[35]  Pabitra Mohan Khilar,et al.  Skewness-Based Min-Min Max-Min Heuristic for Grid Task Scheduling , 2014 .