Load balanced task scheduling for cloud computing: a probabilistic approach

Abstract

Load balancing is the process of distributing customer tasks among multiple computing resources, such as virtual machines (VMs), servers and networks. It is a major concern in cloud computing as the number of customers demanding the service is growing exponentially. An efficient load balancing approach can monitor the load of the VMs proactively and assigns the customer tasks to the VMs accordingly. This paper presents a load balanced task scheduling algorithm in the cloud, which is based on probability theory. The proposed algorithm is shown to be a 2-approximation algorithm with a time complexity of O(lm), where l is the number of customer tasks and m is the number of VMs. The algorithm is simulated extensively. The simulation results demonstrate that our proposed algorithm can remarkably balance the load of the VMs as compared to the existing algorithms in four different performance measures, namely standard deviation of VM loads, maximum load, minimum load and zero load. The performance is also validated through statistical test by means of analysis of variance and 95% confidence interval.

This is a preview of subscription content, log in to check access.

Fig. 1
Fig. 2
Fig. 3
Fig. 4

References

  1. 1.

    Zhang J, Huang H, Wang X (2016) Resource provision algorithms in cloud computing: a survey. J Netw Comput Appl 64:23–42

    Article  Google Scholar 

  2. 2.

    Durao F, Carvalho JFS, Fonseka A, Garcia VC (2014) A systematic review on cloud computing. J Supercomput 68(3):1321–1346

    Article  Google Scholar 

  3. 3.

    Singh P, Dutta M, Aggarwal N (2017) A review of task scheduling based on meta-heuristics approach in cloud computing. Knowl Inf Syst 52(1):1–51

    Article  Google Scholar 

  4. 4.

    Yousafzai A, Gani A, Noor RM, Sookhak M, Talebian H, Shiraz M, Khan MK (2017) Cloud resource allocation schemes: review, taxonomy and opportunities. Knowl Inf Syst 50(2):347–381

    Article  Google Scholar 

  5. 5.

    Singh S, Chana I (2016) Cloud resource provisioning: survey, status and future research directions. Knowl Inf Syst 49(3):1005–1069

    Article  Google Scholar 

  6. 6.

    Panda SK, Jana PK (2015) Efficient task scheduling algorithms for heterogeneous multi-cloud environment. J Supercomput 71(4):1505–1533

    Article  Google Scholar 

  7. 7.

    Panda SK, Jana PK (2016) Normalization-based task scheduling algorithms for heterogeneous multi-cloud environment. Inf Syst Front 20(2):373–399

    Article  Google Scholar 

  8. 8.

    Xu G, Pang J, Fu X (2013) A load balancing model based on cloud partitioning for the public cloud. Tsinghua Sci Technol IEEE 18(1):34–39

    Article  MATH  Google Scholar 

  9. 9.

    Qin X, Jiang H, Manzanares A, Ruan X, Yin S (2010) Communication-aware load balancing for parallel applications on clusters. IEEE Trans Comput 59(1):42–52

    MathSciNet  Article  MATH  Google Scholar 

  10. 10.

    Kim J, Nam B, Keleher P, Marsh M, Bhattacharjee B, Sussman A (2008) Trade-offs in matching jobs and balancing load for distributed desktop grids. Future Gener Comput Syst 24:415–424

    Article  Google Scholar 

  11. 11.

    Elastic load balancing. https://aws.amazon.com/elasticloadbalancing/. Accessed 13 Jan 2018

  12. 12.

    Li J, Qiu M, Ming Z, Quan G, Qin X, Gu Z (2012) Online optimization for scheduling preemptable tasks on IaaS cloud system. J Parallel Distrib Comput 72:666–677

    Article  Google Scholar 

  13. 13.

    Liu L, Mei H, Xie B (2016) Towards a multi-QoS human-centric cloud computing load balance resource allocation method. J Supercomput 72(7):2488–2501

    Article  Google Scholar 

  14. 14.

    Panda SK, Jana PK (2017) SLA-based task scheduling algorithms for heterogeneous multi-cloud environment. J Supercomput 73(6):2730–2762

    Article  Google Scholar 

  15. 15.

    Chen W, Cao J, Wan Y (2013) QoS-aware virtual machine scheduling for video streaming services in multi-cloud. Tsinghua Sci Technol IEEE 18(3):308–317

    Article  Google Scholar 

  16. 16.

    Richard B, Maillard N, Rose CAFD, Novaes R (2005) The I-cluster cloud: distributed management of idle resources for intense computing. Parallel Comput 31:813–838

    Article  Google Scholar 

  17. 17.

    Subrata R, Zomaya AY, Landfeldt B (2008) Game-theoretic approach for load balancing in computational grids. IEEE Trans Parallel Distrib Syst 19(1):66–76

    Article  MATH  Google Scholar 

  18. 18.

    Ibarra OH, Kim CE (1977) Heuristic algorithms for scheduling independent tasks on nonidentical processors. J Assoc Comput Mach 24(2):280–289

    MathSciNet  Article  MATH  Google Scholar 

  19. 19.

    Freund RF, Gherrity M, Ambrosius S, Campbell M, Halderman M, Hensgen D, Keith E, Kidd T, Kussow M, Lima JD, Mirabile F, Moore L, Rust B, Siegel HJ (1998) Scheduling resources in multi-user, heterogeneous, computing environments with SmartNet. In: 7th IEEE heterogeneous computing workshop, pp 184–199

  20. 20.

    Maheswaran M, Ali S, Siegel HJ, Hensgen D, Freund RF (1999) Dynamic mapping of a class of independent tasks onto heterogeneous computing systems. J Parallel Distrib Comput 59:107–131

    Article  Google Scholar 

  21. 21.

    Chaturvedi AK, Sahu R (2011) New heuristic for scheduling of independent tasks in computational grid. Int J Grid Distrib Comput 4(3):25–36

    Google Scholar 

  22. 22.

    Armstrong R, Hensgen D, Kidd T (1998) The relative performance of various mapping algorithms is independent of sizable variances in run-time predictions. In: 7th IEEE heterogeneous computing workshop, pp 79–87

  23. 23.

    Gogos C, Valouxis C, Alefragis P, Goulas G, Voros N, Housos E (2016) Scheduling independent tasks on heterogeneous processors using heuristics and column pricing. Future Gener Comput Syst 60:48–66

    Article  Google Scholar 

  24. 24.

    Khanli LM, Razzaghzadeh S, Zargari SV (2012) A new step toward load balancing based on competency rank and transitional phases in grid networks. Future Gener Comput Syst 28:682–688

    Article  Google Scholar 

  25. 25.

    Cho K, Tsai P, Tsai C, Yang C (2015) A hybrid meta-heuristic algorithm for VM scheduling with load balancing in cloud computing. Neural Comput Appl 26:1297–1309

    Article  Google Scholar 

  26. 26.

    Ramezani F, Lu J, Hussain FK (2014) Task-based system load balancing in cloud computing using particle swarm optimization. Int J Parallel Program 42:739–754

    Article  Google Scholar 

  27. 27.

    Gkatzikis L, Koutsopoulos I (2013) Migrate or not? Exploiting dynamic task migration in mobile cloud computing systems. IEEE Wirel Commun 20(3):24–32

    Article  Google Scholar 

  28. 28.

    Wu H, Wang C, Xie J (2013) TeraScaler ELB—an algorithm of prediction-based elastic load balancing resource management in cloud computing. In: 27th international conference on advanced information networking and applications workshops. IEEE, pp 649–654

  29. 29.

    Bala A, Chana I (2016) Prediction-based proactive load balancing approach through vm migration. Eng Comput 32(4):581–592

    Article  Google Scholar 

  30. 30.

    Zhao J, Yang K, Wei X, Ding Y, Hu L, Xu G (2016) A heuristic clustering-based task deployment approach for load balancing using bayes theorem in cloud environment. IEEE Trans Parallel Distrib Syst 27(2):305–316

    Article  Google Scholar 

  31. 31.

    Jiang Y (2016) A survey of task allocation and load balancing in distributed systems. IEEE Trans Parallel Distrib Syst 27(2):585–599

    Article  Google Scholar 

  32. 32.

    Patel DK, Tripathy D, Tripathy CR (2016) Survey of load balancing techniques for grid. J Netw Comput Appl 65:103–119

    Article  Google Scholar 

  33. 33.

    Wu F, Wu Q, Tan Y (2015) Workflow scheduling in cloud: a survey. J Supercomput 71(9):3373–3418

    Article  Google Scholar 

  34. 34.

    Lee YC, Zomaya AY (2012) Energy efficient utilization of resources in cloud computing systems. J Supercomput 60:268–280

    Article  Google Scholar 

  35. 35.

    Rimal BP, Choi E, Lumb I (2009) A taxonomy and survey of cloud computing systems. In: International joint conference on INC, IMS and IDC. IEEE, pp 44–51

  36. 36.

    Eucalyptus. http://manpages.ubuntu.com/manpages/precise/man5/eucalyptus.conf.5.html. Accessed 17 July 2018

  37. 37.

    Tian W, Zhao Y, Zhong Y, Xu M, Jing C (2011) A dynamic and integrated load balancing scheduling algorithm for cloud datacenters. In: IEEE international conference on cloud computing and intelligence system, pp 311–315

  38. 38.

    Xu M, Tian W, Buyya R (2017) A survey of load balancing algorithms for virtual machines placement in cloud computing. Concurr Comput Pract Exp 29:1–16

    Google Scholar 

  39. 39.

    Kuila P, Jana PK (2014) Approximation schemes for load balanced clustering in wireless sensor networks. J Supercomput 68:87–105

    Article  Google Scholar 

  40. 40.

    Gao C, Chen S, Li X, Huang J, Zhang Z (2017) A Physarum-inspired optimization algorithm for load-shedding problem. Appl Soft Comput 61:239–255

    Article  Google Scholar 

  41. 41.

    Liu J, Jin X, Wang Y (2005) Agent-based load balancing on homogeneous minigrids: macroscopic modeling and characterization. IEEE Trans Parallel Distrib Syst 16(7):586–598

    Article  Google Scholar 

  42. 42.

    Amazon Web Services. https://docs.aws.amazon.com/batch/latest/userguide/serv ice_limits.html. Accessed 5 July 2018

  43. 43.

    Microsoft azure. https://docs.microsoft.com/en-us/azure/batch/batch-quota-limit. Accessed 7 July 2018

  44. 44.

    Google Cloud—Quota Policy. https://cloud.google.com/ml-engine/docs/tensorflow/quotas#limits_on_concurrent_usage_of_virtual_machines. Accessed 15 July 2018

  45. 45.

    Google Cloud—Quotas and Limits. https://cloud.google.com/dataflow/quotas#compute-engine-quotas. Accessed 16 July 2018

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Sanjaya K. Panda.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Panda, S.K., Jana, P.K. Load balanced task scheduling for cloud computing: a probabilistic approach. Knowl Inf Syst 61, 1607–1631 (2019). https://doi.org/10.1007/s10115-019-01327-4

Download citation

Keywords

  • Cloud computing
  • Load balancing
  • Task scheduling
  • Virtual machine
  • Quality of service
  • Probability theory