RALBA: a computation-aware load balancing scheduler for cloud computing

  • Altaf Hussain
  • Muhammad Aleem
  • Abid Khan
  • Muhammad Azhar Iqbal
  • Muhammad Arshad Islam


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.


Cloud scheduling Load balancing Computation-aware scheduling Resource utilization Cloud simulation 


  1. 1.
    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)Google Scholar
  2. 2.
    Hayes, B.: Cloud computing. Commun. ACM 51(7), 9 (2008)CrossRefGoogle Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    Fernandez-baca, D.: Allocating modules to processors in a distributed system. IEEE Trans. Softw. Eng. 15(11), 1427–1436 (1989)CrossRefGoogle Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    Goldwasser, S., Micali, S., Rackoff, C.: The knowledge complexity of interactive proof system. SIAM J. Comput. 18(1), 186–208 (1989)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    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)CrossRefMATHGoogle Scholar
  8. 8.
    Ibarra, O.H., Kim, C.E.: Heuristic algorithms for scheduling independent tasks on nonidentical processors. J. ACM 24(2), 280–289 (1977)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    Jennings, B., Stadler, R.: Resource management in clouds: survey and research challenges. J. Netw. Syst. Manag. 23(3), 567–619 (2014)CrossRefGoogle Scholar
  12. 12.
    Wu, F., Wu, Q., Tan, Y.: Workflow scheduling in cloud: a survey. J. Supercomput. 71(9), 3373–3418 (2015)CrossRefGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Mohialdeen, I.A.: Comparative study of scheduling algorithms in cloud computing environment. J. Comput. Sci. 9(2), 252–263 (2013)CrossRefGoogle Scholar
  24. 24.
    Tchernykh, A., et al.: Online Bi-Objective Scheduling for IaaS Clouds Ensuring Quality of Service. J. Grid Comput. 14(1), 5–22 (2016)CrossRefGoogle Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)CrossRefGoogle Scholar
  27. 27.
    Biradar, S., Pawar, D.: A review paper of improving task division assignment using heuristics. Int. J. Sci. Res. 4(1), 609–613 (2015)Google Scholar
  28. 28.
    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)CrossRefGoogle Scholar
  29. 29.
    Parsa, S., Entezari-Maleki, R.: RASA: a new grid task scheduling algorithm. Int. J. Digit. Content Technol. Appl. 3(4), 152–160 (2009)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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)Google Scholar
  32. 32.
    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)Google Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    Panda, S.K., Jana, P.K.: SLA-based task scheduling algorithms for heterogeneous multi-cloud environment. J. Supercomput. 73(6), 2730–2762 (2017)CrossRefGoogle Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    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)CrossRefGoogle Scholar
  37. 37.
    Behzad, S., Fotohi, R., Effatparvar, M.: Queue based job scheduling algorithm for cloud computing. Int. J. Basic Appl. Sci. 4(12), 3785–3790 (2013)Google Scholar
  38. 38.
    Liu, Z., Cho, S.: Characterizing machines and workloads on a Google cluster. In: 41st International Conference on Parallel Processing Workshops, pp. 397–403 (2012)Google Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    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-101Google Scholar
  41. 41.
    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)Google Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    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)CrossRefGoogle Scholar
  44. 44.
    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)Google Scholar
  45. 45.
    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)Google Scholar
  46. 46.
    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)CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceCapital University of Science and TechnologyIslamabadPakistan
  2. 2.Department of Computer ScienceCOMSATS Institute of Information TechnologyIslamabadPakistan

Personalised recommendations