ReviewLoad-balancing algorithms in cloud computing: A survey
Introduction
Cloud computing is a modern technology in the computer field to provide services to clients at any time. In a cloud computing system, resources are distributed all around the world for faster servicing to clients (Apostu et al., 2013, Dasgupta et al., 2013). The clients can easily access information via various devices such as laptops, cell phones, PDAs, and tablets. Cloud computing has faced many challenges, including security, efficient load balancing, resource scheduling, scaling, QoS management, data center energy consumption, data lock-in and service availability, and performance monitoring (Kaur et al., 2014; Malladi et al., 2015). Load balancing is one of the main challenges and concerns in cloud environments;(Jadeja and Modi, 2012) it is the process of assigning and reassigning the load among available resources in order to maximize throughput, while minimizing the cost and response time, improving performance and resource utilization as well as energy saving (Singh et al., 2016; Goyal et al., 2016). Service Level Agreement (SLA) and user satisfaction could be provided by excellent load balancing techniques. Therefore, providing the efficient load-balancing algorithms and mechanisms is a key to the success of cloud computing environments. Several researches have been done in the field of load balancing and task scheduling in cloud environments. However, our studies showed that despite the key role of load-balancing algorithms in cloud computing, especially in the advent of big data, there are a few comprehensive reviews of these algorithms. First, we mention a few recent papers that have reviewed the load-balancing algorithms and mechanisms in cloud environments:
- •
Milani and Navimipour (2016) have presented a systematic review of the existing load balancing techniques. They classified the existing techniques based on different parameters. The authors compared some popular load-balancing algorithms and presented their main properties, including their advantages and disadvantages. They also addressed the challenges of these algorithms and mentioned the open issues. However, their work lacks a discussion regarding the load balancing and task scheduling techniques in Hadoop MapReduce that is an issue nowadays.
- •
Mesbahi and Rahmani (2016) have studied state of the art load balancing techniques and the necessary requirements and considerations for designing and implementing suitable load-balancing algorithms for cloud environments. They presented a new classification of load balancing techniques, evaluated them based on suitable metrics and discussed their pros and cons. They also found that the recent load balancing techniques are focusing on energy saving. However, their work suffers from the lack of simulating the load balancing techniques by simulator tools; in addition, a discussion of open issues and future topics that researchers should focus on is also missing.
- •
Kanakala and Reddy, 2015a, Kanakala and Reddy, 2015b have analyzed the performance of load balancing techniques in cloud computing environments. They studied several popular load-balancing algorithms and compared them based on metrics such as throughput, speed, complexity, etc. They concluded that none of the reviewed algorithms were able to perform well in all the required areas of load balancing. However, they did not mention the current trend, future works, and open issues in the field of load balancing in cloud environments.
- •
Ivanisenko and Radivilova (2015) have studied major load-balancing algorithms in distributed systems. They classified the most used load-balancing algorithms in distributed systems, including cloud technology, cluster systems, and grid systems. They also presented a comparative analysis of different load-balancing algorithms on various efficiency indicators such as throughput, migration time, response time, etc. In their work, a description of the main features of load-balancing algorithms, analysis of their advantages, and defaults of each type of algorithms is also presented. Nevertheless, a discussion of challenges, open issues, and future trends is similarly missing.
- •
Farrag and Mahmoud (2015) have reviewed intelligent cloud algorithms for load balancing problems, including Genetic Algorithms (GA), Ant Colony Optimization (ACO), Artificial Bee Colony (ABC) and Particle Swarm Optimization (PSO). They also proposed an implementation of Ant Lion Optimizer (ALO) based cloud computing environment as an efficient algorithm, which was expected to supply the outcomes in load balancing. The authors found that these algorithms showed a better performance than traditional ones in terms of QoS, response time, and makespan. However, they did not evaluate their proposed algorithm in different scales of cloud systems by comparing its results.
To help the future researchers in the field of load balancing in designing novel algorithms and mechanisms, we surveyed the literature and analyzed state of the art mechanisms. Therefore, the purpose of this paper is to survey the existing techniques, describe their properties, and clarify their pros and cons. The main goals of this paper are as follows:
- •
Studying the existing load balancing mechanisms
- •
Providing a new classification of load balancing mechanisms
- •
Clarifying the advantages and disadvantage of the load-balancing algorithms in each class
- •
Outlining the key areas where new researches could be done to improve the load-balancing algorithms
The rest of the paper is organized as follows. Section 2 provides a literature review for the model, metrics, policies, and taxonomy of load-balancing algorithms. Challenges in cloud-based load-balancing algorithms are explained in Section 3. Section 4 provides a relatively comprehensive review of literature on the existing load balancing techniques and presents a new classification. Section 5 provides a discussion of the mentioned techniques and some useful statistics. Open issues are outlined in Section 6. Finally, in Section 7, we conclude our survey and provide future topics.
Section snippets
The load balancing model, metrics, and policies in literature
The model of load balancing is shown in Fig. 1 (Gupta et al., 2014), where we can see the load balancer receives users’ requests and runs load-balancing algorithms to distribute the requests among the Virtual Machines (VMs). The load balancer decides which VM should be assigned to the next request. The data center controller is in charge of task management. Tasks are submitted to the load balancer, which performs load-balancing algorithm to assign tasks to a suitable VM. VM manager is in charge
Challenges in cloud-based load balancing
Review of the literature shows that load balancing in cloud computing has faced some challenges. Although the topic of load balancing has been broadly studied, based on the load balancing metrics, the current situation is far from an ideal one. In this section, we review the challenges in load balancing with the aim of designing typical load balancing strategies in the future. Some studies have mentioned challenges for the cloud-based load balancing (Palta and Jeet, 2014; Nuaimi et al., 2012;
Survey on existing load balancing mechanisms
In this section, we survey the literature on the existing mechanisms for load balancing in cloud environments. For this purpose, we studied a number of journals and conference proceedings to present a new classification of them. We have classified the existing mechanisms into seven categories:
- •
Hadoop MapReduce load balancing category (HMR-category in this paper)
- •
Natural Phenomena-based load balancing category (NPH-based in this paper)
- •
Agent-based load balancing category (Agent-based in this paper)
- •
Discussion and statistics
In this section, we provide some statistics based on the studied articles. Fig. 4 shows the distribution of the reviewed articles by the year of publication from 2008 until February 2017. In the Figure we see the number of articles in each year on the corresponding slice; for example, the number of studied articles in 2015 is 29 that is the highest. The percentage of studied articles in each year is shown in the Figure too. Moreover, the number of articles in 2016 is noteworthy. Fig. 4 shows
Open issues and future trends
In this section, we offer major load balancing techniques issues that have not been comprehensively and completely addressed. In our literature review, we found that there is not a perfect technique for improving the entire load balancing metrics. For example, some techniques considered response time, resource utilization, and migration time, while the others ignored these metrics and considered other metrics. However, it seems that some metrics are mutually exclusive. For example, relying on
Conclusion and future works
Balancing of the workload among cloud nodes is one of the most important challenges that cloud environments are facing today. In this paper, we surveyed research literature in the load balancing area, which is the key aspect of cloud computing. We found in the literature, several metrics for load balancing techniques that should be considered in future load balancing mechanisms. Based on our observations, we have presented a new classification of load balancing techniques: (1) Hadoop MapReduce
References (108)
- et al.
A survey on virtual machine migration and server consolidation frameworks for cloud data centers
J. Netw. Comput. Appl.
(2015) - et al.
A delay-based dynamic scheduling algorithm for bag-of-task workflows with stochastic task execution times in clouds
J. Future Gener. Comput. Syst.
(2017) - et al.
A small world based overlay network for improving dynamic load-balancing
J. Syst. Softw.
(2015) - et al.
Load balancing mechanisms and techniques in the cloud environments: systematic literature review and future trends
J. Netw. Comput. Appl.
(2016) - et al.
A comprehensive view of Hadoop research – a systematic literature review
J. Netw. Comput. Appl.
(2014) Cuckoo optimization algorithm
Appl. Soft Comput.
(2011)- et al.
Scheduling techniques in on-demand grid as a service cloud: a review”
J. Theor. Appl. Inf. Technol.
(2014) - et al.
Symbiotic organism search optimization based task scheduling in cloud computing environment
Future Gener. Comput. Syst.
(2015) - et al.
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.
(2015) - Ahmad, F., Chakradhar,S.T., Raghunathan,A., Vijaykumar, T.N., 2012. Tarazu: optimizing mapreduce on het-erogeneous...
A guide to dynamic load balancing in distributed computer systems
Int. J. Comput. Sci. Netw. Secur.
Study on advantages and disadvantages of cloud computing – the advantages of telemetry applications in the cloud
Recent Adv. Appl. Comput. Sci. Digit. Serv.
Honey bee behavior inspired load balancing of tasks in cloud computing environments
Appl. Soft Comput.
GAMESH: a grid architecture for scalable monitoring and enhanced dependable job scheduling
Future Gener. Comput. Syst.
Performance improvement of MapReduce for heterogeneous clusters based on efficient locality and Replica aware scheduling (ELRAS) strategy
Wirel. Personal. Commun.
An efficient MapReduce scheduling scheme for processing large multimedia data
Multimed. Tools Appl.
Survey on adaptive task assignment in heterogeneous Hadoop cluster
IEAE Int. J. Eng.
Big data and Hadoop: a review
Int. J. Appl. Res. Eng. Sci.
A survey of large-scale analytical query processing in MapReduce
VLDB J.
A survey of Hadoop MapReduce scheduling algorithms
Int. J. Innov. Res. Comput. Commun. Eng.
Load balancing techniques in cloud computing environment: a review
Int. J. Adv. Res. Comput. Sci. Softw. Eng.
Honey bee behavior based load balancing of tasks in cloud computing
Int. J. Sci. Res.
Agent-based load balancing in Cloud data centers
Clust. Comput.
Comparative study load balance algorithms for MapReduce environment
Int. Appl. Inf. Syst.
A load-balanced MapReduce algorithm for blocking-based entity-resolution with multiple keys
Parallel Distrib. Comput.(AusPDC)
Process of load balancing in cloud computing using genetic algorithm
Electr. Comput. Eng.: Int. J.
Performance analysis of load balancing techniques in cloud computing environment
TELKOMNIKA Indones. J. Electr. Eng.
Performance analysis of load balancing techniques in cloud computing environment
TELKOMNIKA Indones. J. Electr. Eng.
Cloud load balancing techniques: a step towards green computing
Int. J. Comput. Sci. Issues
A multi-agent based load balancing system in IaaS cloud environment
Int. Robot. Autom. J.
Mapreduce performance in heterogeneous environments: a review
Int. J. Sci. Eng. Res.
Cited by (308)
Server placement in mobile cloud computing: A comprehensive survey for edge computing, fog computing and cloudlet
2024, Computer Science ReviewA survey to build framework for optimize and secure migration and transmission of cloud data
2024, Bulletin of Electrical Engineering and InformaticsApplication of IoT optical sensing image processing equipment based on load balancing algorithm in sports physical fitness detection
2024, Optical and Quantum ElectronicsResearch on Image Processing Resource Reconstruction Based on Load Balancing Strategy
2024, Electronics (Switzerland)Optimizing Task Scheduling in Cloud Computing Using Discrete Tuna Swarm Optimization
2024, Ingenierie des Systemes d'InformationOntological Modeling and Clustering Techniques for Service Allocation on the Edge: A Comprehensive Framework
2024, Electronics (Switzerland)