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.




Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Zhang J, Huang H, Wang X (2016) Resource provision algorithms in cloud computing: a survey. J Netw Comput Appl 64:23–42
Durao F, Carvalho JFS, Fonseka A, Garcia VC (2014) A systematic review on cloud computing. J Supercomput 68(3):1321–1346
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
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
Singh S, Chana I (2016) Cloud resource provisioning: survey, status and future research directions. Knowl Inf Syst 49(3):1005–1069
Panda SK, Jana PK (2015) Efficient task scheduling algorithms for heterogeneous multi-cloud environment. J Supercomput 71(4):1505–1533
Panda SK, Jana PK (2016) Normalization-based task scheduling algorithms for heterogeneous multi-cloud environment. Inf Syst Front 20(2):373–399
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
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
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
Elastic load balancing. https://aws.amazon.com/elasticloadbalancing/. Accessed 13 Jan 2018
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
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
Panda SK, Jana PK (2017) SLA-based task scheduling algorithms for heterogeneous multi-cloud environment. J Supercomput 73(6):2730–2762
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
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
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
Ibarra OH, Kim CE (1977) Heuristic algorithms for scheduling independent tasks on nonidentical processors. J Assoc Comput Mach 24(2):280–289
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
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
Chaturvedi AK, Sahu R (2011) New heuristic for scheduling of independent tasks in computational grid. Int J Grid Distrib Comput 4(3):25–36
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
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
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
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
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
Gkatzikis L, Koutsopoulos I (2013) Migrate or not? Exploiting dynamic task migration in mobile cloud computing systems. IEEE Wirel Commun 20(3):24–32
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
Bala A, Chana I (2016) Prediction-based proactive load balancing approach through vm migration. Eng Comput 32(4):581–592
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
Jiang Y (2016) A survey of task allocation and load balancing in distributed systems. IEEE Trans Parallel Distrib Syst 27(2):585–599
Patel DK, Tripathy D, Tripathy CR (2016) Survey of load balancing techniques for grid. J Netw Comput Appl 65:103–119
Wu F, Wu Q, Tan Y (2015) Workflow scheduling in cloud: a survey. J Supercomput 71(9):3373–3418
Lee YC, Zomaya AY (2012) Energy efficient utilization of resources in cloud computing systems. J Supercomput 60:268–280
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
Eucalyptus. http://manpages.ubuntu.com/manpages/precise/man5/eucalyptus.conf.5.html. Accessed 17 July 2018
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
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
Kuila P, Jana PK (2014) Approximation schemes for load balanced clustering in wireless sensor networks. J Supercomput 68:87–105
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
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
Amazon Web Services. https://docs.aws.amazon.com/batch/latest/userguide/serv ice_limits.html. Accessed 5 July 2018
Microsoft azure. https://docs.microsoft.com/en-us/azure/batch/batch-quota-limit. Accessed 7 July 2018
Google Cloud—Quota Policy. https://cloud.google.com/ml-engine/docs/tensorflow/quotas#limits_on_concurrent_usage_of_virtual_machines. Accessed 15 July 2018
Google Cloud—Quotas and Limits. https://cloud.google.com/dataflow/quotas#compute-engine-quotas. Accessed 16 July 2018
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10115-019-01327-4
Keywords
Profiles
- Sanjaya K. Panda View author profile