A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment
A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment
A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment
com
*
Student, Department of Computer Engineering, YMCA University of Science and Technology, Faridabad, Haryana, India.
E-mail: [email protected]
** Associate Professor, Department of Computer Engineering, YMCA University of Science and Technology, Faridabad,
Haryana, India. E-mail: [email protected]
6 International Journal of Distributed and Cloud Computing Volume 1 Issue 2 December 2013
They use the services on demand basis and have to pay of resources that make up cloud and providing these
for the services availed depending upon their usage. resources to the end users. Several provisioning related
Cloud provides its users flexibility in availing its services issues are mentioned in Table 1.
by incorporating utility computing.
Table 1: Stakeholders of Cloud
Prior to signing of SLA, the users of cloud must verify that
SLA contains certain Quality-of-Service (QoS) parameters
Type of stakeholder Requirements/Issues
which are pre-requisites of the consumer, before using
cloud services. Some of the basic requirements or issues Security
of cloud users is listed in Table 1. Provenance
Privacy
End User
Hence, for end user, Cloud Computing is a scenario where High Availability
the user can have access to any kind of infrastructure, Reduced Cost
software or platform in a secure manner- at reduced cost- Ease-of-use
on demand basis-in an easy to use manner. Managing Resources
Outsourcing
1.2.2. Cloud Provider Resource Utilization
Energy Efficiency
Cloud provider can offer either public or private or hybrid Cloud Provider Metering
cloud. They are responsible for building of the cloud. Providing Resources
Cost Efficiency
Private clouds [4] are owned by enterprises or business
Meet end user requirements
for their internal use. They may use it to store and manage
Utility Computing
Big-Data of their organization or to provide enough
Elasticity/ Scalability
resources on demand basis to its team of employees or
Virtualization
clients. They offer greatest level of security.
Agility and Adaptability
OpenStack [5], VMware [6] and CloudStack [7] are Cloud Developer Availability
private clouds. Data Management
Reliability
Public clouds [4] may be used by individuals or Programmability
an organization based upon their requirements and
necessities. They offer greatest level of efficiency in 1.2.3. Cloud Developer
shared resources. Confidentiality is the major security
issue in using public cloud. They are more vulnerable This entity lies between end user and cloud provider.
than private clouds. Amazon web services [8], Google Cloud developer has the responsibility of taking into
Compute Engine [9], Microsoft Azure [10], HP cloud [11] consideration both the perspectives of the cloud (i.e. view
are some of the public clouds. of end user and cloud provider). The developer of cloud
must adhere to all the technical details of the cloud which
A hybrid cloud [4] is a combination of public and private
are essential to meet the requirements of both, the cloud
cloud. It allows businesses to manage some resources
user as well as the cloud provider. Some of the basic
internally within organization and some externally. The
issues that cloud developer must focus on are given in
downside is that the complexity of overall management
Table 1. Main motive of the developer is to bridge the gap
increases along with security concerns. To optimize the
between the end user of the cloud and the cloud provider.
use of one or more combination of private or public
clouds CliQr [11] allows the businesses to accommodate This paper discusses different Load Balancing schemes
changing needs of users. in cloud computing environment. The rest of the paper is
organized as follows: Section 2 discusses load balancing
Cloud provider must accomplish its job of “resource
in cloud computing environment. Section 3 discusses
provisioning”. Resource provisioning includes two
some related work to load balancing algorithms. We
main tasks. These include managing of huge bundle
conclude our study in Section 4.
A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment 7
must be mapped onto appropriate VM based upon its Case 2: Hosts and VMs, both are provisioned to VMs and
configuration and availability. tasks respectively in time sharing manner.
Based on resource provisioning and scheduling, four cases 3.1.1. Static Environment
can be examined under different performance criteria so
as to get efficient load balancing scheme. In static environment the cloud provider installs
homogeneous resources. Also the resources in the cloud
Case 1: Hosts and VMs, both are provisioned in space are not flexible when environment is made static. In this
sharing manner. scenario, the cloud requires prior knowledge of nodes
capacity, processing power , memory, performance and
A Comparative Study of Load Balancing Algorithms in Cloud Computing Environment 9
statistics of user requirements. These user requirements 3.2. Load Balancing based on Spatial
are not subjected to any change at run-time. Algorithms Distribution of Nodes
proposed to achieve load balancing in static environment
cannot adapt to the run time changes in load. Although Nodes in the cloud are highly distributed. Hence the node
static environment is easier to simulate but is not well that makes the provisioning decision also governs the
suited for heterogeneous cloud environment. category of algorithm to be used. There can be three types
Round Robin algorithm [13] provides load balancing in of algorithms that specify which node is responsible for
static environment. In this the resources are provisioned balancing of load in cloud computing environment.
to the task on first-cum-first-serve (FCFS- i.e. the task that
entered first will be first allocated the resource) basis and
3.2.1. Centralized Load Balancing
scheduled in time sharing manner. The resource which is
least loaded (the node with least number of connections) In centralized load balancing technique all the allocation
is allocated to the task. Eucalyptus uses greedy (first-fit) and scheduling decision are made by a single node. This
with round-robin for VM mapping. node is responsible for storing knowledge base of entire
cloud network and can apply static or dynamic approach
Radojevic proposed an improved algorithm over round for load balancing. This technique reduces the time
robin called CLBDM (Central Load Balancing Decision required to analyze different cloud resources but creates a
Model) [14]. It uses the basis of round robin but it also great overhead on the centralized node. Also the network
measures the duration of connection between client and is no longer fault tolerant in this scenario as failure
server by calculating overall execution time of task on intensity of the overloaded centralized node is high and
given cloud resource. recovery might not be easy in case of node failure.
In dynamic environment the cloud provider installs In distributed load balancing technique, no single node
heterogeneous resources. The resources are flexible in is responsible for making resource provisioning or task
dynamic environment. In this scenario cloud cannot rely scheduling decision. There is no single domain responsible
on the prior knowledge whereas it takes into account for monitoring the cloud network instead multiple
run-time statistics. The requirements of the users are domains monitor the network to make accurate load
granted flexibility (i.e. they may change at run-time). balancing decision. Every node in the network maintains
Algorithm proposed to achieve load balancing in dynamic local knowledge base to ensure efficient distribution of
environment can easily adapt to run time changes in load. tasks in static environment and re-distribution in dynamic
Dynamic environment is difficult to be simulated but is environment.
highly adaptable with cloud computing environment.
In distributed scenario, failure intensity of a node is
Based on WLC [15] (weighted least connection) not neglected. Hence, the system is fault tolerant and
algorithm, Ren proposed a load balancing technique in balanced as well as no single node is overloaded to make
dynamic environment called ESWLC. It allocates the load balancing decision.
resource with least weight to a task and takes into account
node capabilities. Based on the weight and capabilities Comparison of different static and dynamic load balancing
of the node, task is assigned to a node. LBMM (Load algorithms is given in Table 3. It also compares them on
Balancing Min-Min) algorithm proposed in paper [16] the basis of spatial distribution of nodes.
uses three level frameworks for resource allocation in A nature inspired solution is presented in paper [17] called
dynamic environment. It uses OLB (opportunistic load Honeybee Foraging for load balancing in distributed
balancing) algorithm as its basis. Since cloud is massively scenario. In Honeybee foraging the movement of ant
scalable and autonomous, dynamic scheduling is better in search of food forms the basis of distributed load
choice over static scheduling.
10 International Journal of Distributed and Cloud Computing Volume 1 Issue 2 December 2013
Table 3: Comparison Table of Load Balancing Algorithms in Cloud Computing Environment
balancing in cloud computing environment. This is a self 3.3. Load Balancing Based on Task
organizing algorithm and uses queue data structure for its Dependencies
implementation. Biased random sampling [18] is another
distributed load balancing technique which uses virtual Dependent tasks are those whose execution is dependent
graph as the knowledge base. on one or more sub-tasks. They can be executed only after
completion of the sub-tasks on which it is dependent.
3.2.3. Hierarchical Load Balancing Therefore, scheduling of such task prior to execution of
sub-tasks is in-efficient. Task dependency is modeled
Hierarchical load balancing involves different levels of using workflow based algorithms.
the cloud in load balancing decision. Such load balancing
techniques mostly operate in master slave mode. These Workflow basically uses DAG [25] as knowledge base
can be modeled using tree data structure wherein every to represent task dependency. Different workflow based
node in the tree is balanced under the supervision of its solution consider different parameters. Algorithm are
parent node. Master or manager can use light weight designed keeping in mind whether single or multiple
agent process to get statistics of slave nodes or child workflows are to be modeled or single or multiple QoS
nodes. Based upon the information gathered by the parent parameters are to be maintained in the system. Different
node provisioning or scheduling decision is made. workflows with or without completely different structure
are termed as multiple workflows. Workflows can also
Three-phase hierarchical scheduling proposed in paper be classified as Transaction Incentive (multiple instances
[19] has multiple phases of scheduling. Request monitor of one workflow that have same structure) and Data
acts as a head of the network and is responsible for Incentive workflows (size and quantity of data is large).
monitoring service manager which in turn monitor service
nodes. First phase uses BTO (Best Task Order) scheduling, Cost based scheduling algorithm in [26] is designed for
second phase uses EOLB (Enhanced Opportunistic single workflows. It partitions the workflows and assigns
Load Balancing) scheduling and third phase uses EMM each partition a deadline. Zhifeng Yu and Weisong Shi
(Enhanced Min-Min) scheduling. designed an algorithm for multiple workflows which
focus only on execution time. With an aim of maximizing
Table 4: Comparison of different Types of Load Balancing Scenarios in Cloud Computing Environment
throughput Ke Lie et al proposed scheduling strategy [3] Luo, S., Lin, Z. & Chenm, X. (2011). Virtualization
which is meant for transaction incentive workflows. security for cloud computing service. 2011
For clouds based on Hadoop CloudWF (computational International Conference on Cloud and Service
workflow system) encodes workflow blocks and block- Computing 978-1-4577-1637-9/11/$26.00 ©2011
to-block dependencies. Hadoop HBase sparse table is IEEE. Shenzhen, China: ZTE Corporation.
used to store information related to workflows. It is fault [4] Zhang, Q., Cheng, L. & Boutaba, R. (2010). Cloud
tolerant and uses map-reduce framework. computing: State-of-the-art and research challenges.
Journal of Internet Services and Applications, 1(1),
Table 4, compares different type of load balancing 7-18. DOI 10.1007/s13174-010-0007-6.
scenarios in cloud computing environment. It specifies [5] Open Stack: An Overview. Retrieved from www.
the knowledge base, usage and drawbacks of each type of openstack.org/downloads/openstack-overview-data-
algorithm and issues addressed by these algorithms. sheet.pdf.
[6] White Paper (2013). Measuring the Business Value
4. Conclusion of VMware Horizon View.
[7] Huang, A. Software Architect, Citrix Systems
Load Balancing is an essential task in Cloud Computing Apache Cloud-Stack Architecture.
environment to achieve maximum utilization of [8] Amazon Elastic Compute Cloud (EC2). Retrieved
resources. In this paper, we discussed various load from http://www.amazon.com/ec2/ (accessed on
balancing schemes, each having some pros and cons. On April 18, 2010).
one hand static load balancing scheme provide easiest [9] Google App Engine, http://appengine.google.com
simulation and monitoring of environment but fail to (April 18, 2010).
model heterogeneous nature of cloud. On the other hand, [10] Chappell, D. (2008). Introducing the Azure services
dynamic load balancing algorithm are difficult to simulate platform. White paper.
but are best suited in heterogeneous environment of cloud [11] CliQr Makes Cloud Benchmarking Available to All
computing. Also the level at node which implements this Users, Providing Critical Information Needed
static and dynamic algorithm plays a vital role in deciding to Optimize Application Deployment Cloud.
the effectiveness of algorithm. Unlike centralized Retrieved from www.cliqr.com/assets/downloads/
algorithm, distributed nature of algorithm provides better press/CliQrBenchmark.06.25.13.pdf.
fault tolerance but requires higher degree of replication [12] Calheiros, R. N., Ranjan, R., Beloglazov, A., Rose,
and on the other hand, hierarchical algorithm divide C. A. F. D. & Buyya, R. CloudSim: A Toolkit for
the load at different levels of hierarchy with upper Modeling and Simulation of Cloud Computing
level nodes requesting for services of lower level nodes Environments and Evaluation of Resource
in balanced manner. Hence, dynamic load balancing Provisioning Algorithms. extended version of a
techniques in distributed or hierarchical environment keynote paper: R. Buyya, R. Ranjan, and R. N.
provide better performance. However, performance of the Calheiros. Modeling and simulation of scalable
cloud computing environment can be further maximized Cloud computing environments and the CloudSim
toolkit: Challenges and opportunities. Proceedings
if dependencies between tasks are modeled using
of the Conference on High Performance Computing
workflows.
and Simulation (HPCS 2009) (pp. 21-24). IEEE
Press, New York, USA, Leipzig, Germany, June,
References 2009.
[1] Foster, I., Zhao, Y., Raicu, I. & Lu, S. (2008). [13] Sotomayor, B., Montero, R. S., Llorente, I. M. &
Cloud computing and grid computing 360-degree Foster, I. (2009). Virtual infrastructure manage-
compared. IEEE Grid Computing Environment ment in private and hybrid clouds. IEEE Internet
Workshops. Computing, 13(5), 14-22.
[2] Youseff, L. Toward a Unified Ontology of Cloud [14] Radojevic, B. & Zagar, M. (2011). Analysis of issues
Computing Retrieved from http://spsteve. wikispac- with load balancing algorithms in hosted (cloud)
es.asu.edu/file/view/unified+interface+cloud.pdf. environments. In proceedings of 34th International
Convention on MIPRO, IEEE.
14 International Journal of Distributed and Cloud Computing Volume 1 Issue 2 December 2013
[15] Lee, R. & Jeng, B. (2011). Load-balancing tactics in [21] Vesna Sesum-Cavic Institute of Computer Languages
cloud. In proc. International Conference on Cyber- Vienna University of Technology Wien, Austria, Eva
Enabled Distributed Computing and Knowledge Kühn. Applying swarm intelligence algorithms
Discovery (CyberC), IEEE, (pp. 447-454). for dynamic load balancing to a Cloud Based Call
[16] Wang, S. C., Yan, K. Q., Liao, W. P. & Wang, S. Center” 2010 Fourth IEEE International Conference
S. (2010). Towards a load balancing in a three- on Self-Adaptive and Self-Organizing Systems.
level cloud computing network. Proceedings of 3rd 978-0-7695-4232-4/10 $26.00 © 2010 IEEE DOI
International Conference on Computer Science and 10.1109/SASO.2010.19.
Information Technology (ICCSIT), IEEE, July, 1, [22] Naghibzadeh, M. (2007). A min-min max-min selec-
108-113. tive algorithm for grid task scheduling. 1-42440-
[17] Randles, M., Bendiab, A. T. & Lamb, D. (2008). 1007-X/07/$25.00, 2007 IEEE. Dept. of Computer
Cross layer dynamics in self-organising service Engineering Ferdowsi University of Mashad.
oriented architectures. IWSOS, Lecture Notes in [23] Al Nuaimi, K., Mohamed, N., Al Nuaimi, M. &
Computer Science, 5343, pp. 293-298, Springer. Al-Jaroodi, J. (2012). A survey of load balancing
[18] Randles, M., Lamb, D., Bendiab, A. T. (2010). A in cloud computing: challenges and algorithms.
Comparative Study into Distributed Load Balancing 2012 IEEE Second Symposium on Network Cloud
Algorithms for Cloud Computing. 2010 IEEE 24th Computing and Applications 978-0-7695-4943-9/12
International Conference on Advanced Information $26.00 © 2012 IEEE DOI 10.1109/NCCA.2012.29.
Networking and Applications Workshops 978-0- College of Information Technology, UAEU Al Ain,
7695-4019-1/10 $26.00 © 2010 IEEE. DOI 10.1109/ United Arab Emirates
WAINA.2010.85. [24] Zhao, C., Zhang, S., Liu, Q., Xie, J. & Hu, J. (2009).
[19] Shu-Ching, W., Yan, K. Q., Sheng, S. & Wei, W. C. Independent Tasks Scheduling Based on Genetic
(2011). A three-phases scheduling in a hierarchical Algorithm in Cloud Computing.
cloud computing network. 2011 Third International [25] Wu, Z., Liu, X., Ni, Z., Yuan, D. &Yang, Y. A.
Conference on Communications and Mobile Market-oriented hierarchical scheduling strat-
Computing 978-0-7695-4357-4/11 $26.00 © 2011 egy in cloud workflow systems. Journal of Super
IEEE DOI 10.1109/CMC.2011.2. Computing. DOI 10.1007/s11227-011-0578-4.
[20] Li, K., Xu, G., Zhao, G., Dong, Y. & Wang, D. (2011). [26] Xu, M., Cui, L., Wang, H. & Bi, Y. (2009). A mul-
Cloud task scheduling based on load balancing ant tiple QoS constrained scheduling strategy of mul-
colony optimization. 2011 Sixth Annual ChinaGrid tiple workflows for cloud computing. 2009 IEEE
Conference 978-0-7695-4472-4/11 $26.00 © 2011 International Symposium on Parallel and Distributed
IEEE. DOI 10.1109/ChinaGrid.2011.17. Processing with Applications 978-0-7695-3747-4/09
$25.00 © 2009 IEEE DOI 10.1109/ISPA.2009.95.