Abstract
Cloud computing serves as a platform for remote users to utilize the heterogeneous resources in data-centers to compute High-Performance Computing jobs. The physical resources are virtualized in Cloud to entertain user services employing Virtual Machines (VMs). Job scheduling is deemed as a quintessential part of Cloud and efficient utilization of VMs by Cloud Service Providers demands an optimal job scheduling heuristic. An ideal scheduling heuristic should be efficient, fair, and starvation-free to produce a reduced makespan with improved resource utilization. However, static heuristics often lead to inefficient and poor resource utilization in the Cloud. An idle and underutilized host machine in Cloud still consumes up to 70% of the energy required by an active machine (Ray, in Indian J Comput Sci Eng 1(4):333–339, 2012). Consequently, it demands a load-balanced distribution of workload to achieve optimal resource utilization in Cloud. Existing Cloud scheduling heuristics such as Min–Min, Max–Min, and Sufferage distribute workloads among VMs based on minimum job completion time that ultimately causes a load imbalance. In this paper, a novel Resource-Aware Load Balancing Algorithm (RALBA) is presented to ensure a balanced distribution of workload based on computation capabilities of VMs. The RABLA framework comprises of two phases: (1) scheduling based on computing capabilities of VMs, and (2) the VM with earliest finish time is selected for jobs mapping. The outcomes of the RALBA have revealed that it provides substantial improvement against traditional heuristics regarding makespan, resource utilization, and throughput.
Similar content being viewed by others
References
Ray, P.P.: The Green grid SAGA—A Green initiative to data centers: a review. Indian J. Comput. Sci. Eng. 1(4), 333–339 (2012)
Hayes, B.: Cloud computing. Commun. ACM 51(7), 9 (2008)
Rimal, P., Choi, E., Lumb, I.: A taxonomy and survey of cloud computing systems. In: NCM 2009—5th International Joint Conference INC, IMS, IDC, pp. 44–51 (2009)
Fernandez-baca, D.: Allocating modules to processors in a distributed system. IEEE Trans. Softw. Eng. 15(11), 1427–1436 (1989)
Cook, S.A.: The complexity of theorem-proving procedures. In: in: Proceedings of 3rd Annual ACM Symposium on Theory of Computing, pp. 2–8 (1971)
Goldwasser, S., Micali, S., Rackoff, C.: The knowledge complexity of interactive proof system. SIAM J. Comput. 18(1), 186–208 (1989)
Braun, T.D., et al.: A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J. Parallel Distrib. Comput. 61(6), 810–837 (2001)
Ibarra, O.H., Kim, C.E.: Heuristic algorithms for scheduling independent tasks on nonidentical processors. J. ACM 24(2), 280–289 (1977)
Deldari, A., Naghibzadeh, M., Abrishami, S.: CCA: a deadline-constrained workflow scheduling algorithm for multicore resources on the cloud. J. Supercomput. 73(2), 756–781 (2016)
Kumar, S., Nadjaran, A., Gopalaiyengar, S.K.: SLA-based virtual machine management for heterogeneous workloads in a cloud datacenter. J. Netw. Comput. Appl. 45, 108–120 (2014)
Jennings, B., Stadler, R.: Resource management in clouds: survey and research challenges. J. Netw. Syst. Manag. 23(3), 567–619 (2014)
Wu, F., Wu, Q., Tan, Y.: Workflow scheduling in cloud: a survey. J. Supercomput. 71(9), 3373–3418 (2015)
Farrag, A.A.S., Abbas, S., El-Horbaty, E.-S.M.: Intelligent cloud algorithms for load balancing problems: a survey. In: IEEE Seventh International Conference on Intelligent Computing and Information Systems (ICICIS), December 2015, pp. 210–216 (2015)
Lenzini, L., Mingozzi, E., Stea, G.: Tradeoffs between low complexity, low latency, and fairness with deficit round-robin schedulers. IEEE/ACM Trans. Netw. 12(4), 681–693 (2004)
Chen, H., Wang, F., Helian, N., Akanmu, G.: User-priority guided min–min scheduling algorithm for load balancing in cloud computing. In: 2013 National Conference on Parallel Computing Technologies, PARCOMPTECH 2013, pp. 1–8 (2013)
Panda, S.K., Agrawal, P., Khilar, P.M., Mohapatra, D.P.: Skewness-based min–min max–min heuristic for grid task scheduling. In: Proceedings of the 2014 Fourth International Conference on Advanced Computing & Communication Technologies, pp. 282–289 (2014)
Hung, T.C., Phi, N.X.: Study the effect of parameters to load balancing in cloud computing. Int. J. Comput. Netw. Commun. 8(3), 33–45 (2016)
Yu, X., Yu, X.: A new grid computation-based min–min algorithm. In: Sixth International Conference on Fuzzy Systems and Knowledge Discovery, pp. 43–45 (2009)
Mao, Y., Chen, X., Li, X.: Max–min task scheduling algorithm for load balance in cloud computing. In: Proceedings of International Conference on Computer Science and Information Technology, vol. 255, pp. 457–465 (2014)
Muhammed, A., Abdullah, A., Hussin, M.: Max-average: an extended max–min scheduling algorithm for grid computing environment. J. Telecommun. Electron. Comput. Eng. 8(6), 43–47 (1843)
Tabak, E., Cambazoglu, B., Aykanat, C.: Improving the performance of independent task assignment heuristics minmin, maxmin and sufferage. IEEE Trans. Parallel Distrib. Syst. 25(5), 1244–1256 (2014)
Aditya, A., Chatterjee, U., Gupta, S.: A comparative study of different static and dynamic load balancing algorithm in cloud computing with special emphasis on time factor. Int. J. Curr. Eng. Technol. 5(3), 2277–4106 (2015)
Mohialdeen, I.A.: Comparative study of scheduling algorithms in cloud computing environment. J. Comput. Sci. 9(2), 252–263 (2013)
Tchernykh, A., et al.: Online Bi-Objective Scheduling for IaaS Clouds Ensuring Quality of Service. J. Grid Comput. 14(1), 5–22 (2016)
Elzeki, O.M., Rashad, M.Z., Elsoud, M.A.: Overview of scheduling tasks in distributed computing systems. Int. J. Soft Comput. Eng. 2(3), 470–475 (2012)
Li, B., Pei, Y., Wu, H., Shen, B.: Heuristics to allocate high-performance cloudlets for computation offloading in mobile ad hoc clouds. J. Supercomput. 71(8), 3009–3036 (2015)
Biradar, S., Pawar, D.: A review paper of improving task division assignment using heuristics. Int. J. Sci. Res. 4(1), 609–613 (2015)
Maheswaran, M., Ali, S., Siegel, H.J., Hensgen, D., Freund, R.F.: Dynamic mapping of a class of independent tasks onto heterogeneous computing systems. J. Parallel Distrib. Comput. 59(2), 107–131 (1999)
Parsa, S., Entezari-Maleki, R.: RASA: a new grid task scheduling algorithm. Int. J. Digit. Content Technol. Appl. 3(4), 152–160 (2009)
Sharma, G., Banga, P.: Task aware switcher scheduling for batch mode mapping in computational grid environment. Int. J. Adv. Res. Comput. Sci. Softw. Eng. 3, 1292–1299 (2013)
Mathew, T.: Study and analysis of various task scheduling algorithms in the cloud computing environment. In: IEEE International Conference on Advances in Computing, Communications and Informatics (ICACCI), pp. 658–664 (2014)
Patel Dhara, R., Thaker, C.: Analysis of various task scheduling algorithms in cloud computing. Int. J. Sci. Res. Sci. Eng. Technol. 1(6), 245–249 (2015)
Dehkordi, S.T., Bardsiri, V.K.: TASA: a new task scheduling algorithm in cloud computing. J. Adv. Comput. Eng. Technol. 1(4), 25–32 (2015)
Panda, S.K., Jana, P.K.: SLA-based task scheduling algorithms for heterogeneous multi-cloud environment. J. Supercomput. 73(6), 2730–2762 (2017)
Calheiros, R.N., Ranjan, R., Beloglazov, A., De Rose, C.A.F., Buyya, R.: CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw. Pract. Exp. 39(7), 701–736 (2009)
Mehdi, N.A., Mamat, A., Ibrahim, H., Subramaniam, S.K.: Impatient task mapping in elastic cloud using genetic algorithm. J. Comput. Sci. 7(6), 877–883 (2011)
Behzad, S., Fotohi, R., Effatparvar, M.: Queue based job scheduling algorithm for cloud computing. Int. J. Basic Appl. Sci. 4(12), 3785–3790 (2013)
Liu, Z., Cho, S.: Characterizing machines and workloads on a Google cluster. In: 41st International Conference on Parallel Processing Workshops, pp. 397–403 (2012)
Chen, Y., Katz, R.H.: Analysis and Lessons from a Publicly Available Google Cluster Trace. EECS Dep. Univ. California, Berkeley, Tech. Rep. UCB/EECS-2010-95 94, p. 11 (2010)
Reiss, C., Tumanov, A., Ganger, G.R., Katz, R.H., Kozuch, M.A.: Towards understanding heterogeneous clouds at scale: Google trace analysis. Intel Sci. Technol. Cent. Cloud Comput. Tech. Rep. ISTC-CC-TR-12-101
Reiss, C., Tumanov, A., Ganger, G.R., Katz, R.H., Kozuch, M.A.: Heterogeneity and dynamicity of clouds at scale. In: Proceedings of the Third ACM Symposium on Cloud Computing—SoCC’12, pp. 1–13 (2012)
Moreno, I.S., Garraghan, P., Townend, P., Xu, J.: An approach for characterizing workloads in google cloud to derive realistic resource utilization models. In: Proceedings of the 2013 IEEE Seventh International Symposium on Service-Oriented System Engineering, pp. 49–60 (2013)
Liu, C., Liu, C., Shang, Y., Chen, S., Cheng, B., Chen, J.: An adaptive prediction approach based on workload pattern discrimination in the cloud. J. Netw. Comput. Appl. 80, 35–44 (2017)
Kavulya, S., Tany, J., Gandhi, R., Narasimhan, P.: An analysis of traces from a production MapReduce cluster. In: 11th IEEE/ACM International Conference on Grid Computing (CCGrid), pp. 94–103 (2010)
Elzeki, O.M., Reshad, M.Z., Elsoud, M.A.: Improved max–min algorithm in cloud computing. Int. J. Comput. Appl. 50(12), 22–27 (2012)
De Falco, I., Scafuri, U., Tarantino, E.: Two new fast heuristics for mapping parallel applications on cloud computing. Futur. Gener. Comput. Syst. 37, 1–13 (2014)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Hussain, A., Aleem, M., Khan, A. et al. RALBA: a computation-aware load balancing scheduler for cloud computing. Cluster Comput 21, 1667–1680 (2018). https://doi.org/10.1007/s10586-018-2414-6
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-018-2414-6