You are on page 1of 6

International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882

Volume 3 Issue 1, April 2014

Different Strategies for Load Balancing in Cloud


Computing Environment: a critical Study
Amandeep1, Vandana Yadav2, Faz Mohammad3
1,2
3

Dept. of CSE, Galgotia University, G. Noida


Asst. Prof., Dept. of CSE, MAIT, Ghaziabad

Abstract
Twenty first century is known as the era of technology. In
the technology of computing it is an era of cloud
computing. Cloud computing is the most recent
technology in today's world of computing and its become
more popular day by day due to its great feature (resource
pooling, rapid elasticity, scalability, efficiency and on
demand service). Cloud computing is built on the base of
distributed computing, grid computing and virtualization.
Cloud computing is defined as a large scale distributed
computing paradigm that is driven by economics of
scale
in which a pool of abstracted virtualized
dynamically.

computing like load balancing, virtual machine


migration, security ,energy management and server
consolidation etc. the increase in web traffic and
different service are increasing day by day making load
balancing a big research topic. in this paper we focus in
different type of load balancing algorithm.
Several elements are such as client, datacenters, and
distributed server [3].

2. DEFINITION
COMPUTING

OF

CLOUD

Many definitions are proposed for cloud computing.


Here some of them are given here,

1. INTRODUCTION
Cloud computing is a model for delivering information
technology services in which resources are retrieved from
the internet through web-based tools and applications,
rather than a direct connection to a server. Data and
software packages are stored in servers. However, cloud
computing structure allows access to information as long
as an electronic device has access to the web. This type of
system allows employees to work remotely.
Cloud computing is so named because the information
being accessed is found in the "clouds", and does not
require a user to be in a specific place to gain access to it.
In Gartners report [2], considered cloud computing as
the first among top 10 most important technologies and
with a better prospect in successive years by
companies and organization and cloud will change to the
IT industry.
Cloud computing is a term, which involves virtualization,
distributed computing, networking, web services and
software. A cloud consists of scalable, managed
computing power, storage, platform and service are
delivered on demand to external customer over the
internet. The services are available to user in pay-per-useon demand model. Due to its great feature it is adopted
by all type of user like industry, organization and
institutional etc. There are many existing issues in cloud

1) Cloud is a parallel and distributed computing system


consisting of collection of the interconnected and virtual
computers that are dynamically provisioned and
presented as one or more unified computing
resources based on the service-level- agreements
(SLA) that are established through the negotiation
between the service provider and customer [4].
2) NIST definition of cloud computing- Cloud
computing is a model for enabling ubiquitous,
convenient, on-demand network access to a shared pool
of configurable computing resources (e.g., networks,
servers, storage, applications, and services) that can be
rapidly provisioned and released with minimal
management effort or service provider inter- action [5].
3) Cloud computing refers to both the applications
delivered as services over the internet and the
hardware and systems software in the datacenters that
provide those services. The services themselves have
long been referred to as software as a service (SaaS), so
we use that term. The datacenter hardware and software
is what we will call a cloud [6].
Features of Cloud Computing

www.ijsret.org

85

International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 3 Issue 1, April 2014

1. Resource
pooling:
The
providers
computing resources are pooled to serve multiple
consumers using a multi-tenant model, with different
physical and virtual resources dynamically assigned
and reassigned according to consumer demand.
2. Rapid elasticity: Capabilities can be elastically
provisioned and released, in some cases automatically,
to scale rapidly outward and inward commensurate
with demand. To the consumer, the capabilities
available for provisioning often appear to be
unlimited and can be appropriated in any quantity at
any time.
3. Scalability: Cloud computing provides resources
and services for users on demand. The resources are
scalable over several data centers. In order to achieve
a highly scalable system, balancing of the loads when
the load increases at a large extent and a cloud user
demands more resources online rapidly is very
important.
4.
On-demand self-service: A consumer can
unilaterally provision computing capabilities, such as
server time and network storage, as needed
automatically without requiring human interaction
with each
service provider.
5. Efficiency: An efficient cloud computing system
should work for all the possible configurations of
cloud where users are requesting the resources on any
extent unknown to the cloud service providers
providing the important features like rapid elasticity
and high scalability with the much needed fault
tolerance. A proper distribution of tasks among the
processors can achieve these features for the cloud
systems.
6. Dynamic Resource Allocation: Cloud computing
systems are allocating the loads across the system
either statically or dynamically. A dynamic resource
allocation policy proves to be better than the static one
to sustain the dynamic requirements of a cloud
user.
Cloud computing have three service model i.e. IaaS
(infrastructure as a service ), PaaS (platform as a
service) and SaaS (software as a service) and it have four
deployment model i.e. public cloud , private cloud, hybrid
cloud and community cloud [6].
Load Balancing and Virtualization: Load Balancing:
Any strategy for load distribution among the
computational element is known as load balancing.

Cloud balancing is a computer networking method to


distribute work load across multiple computer or a
computer cluster, network link, central processing units,
disk drivers or other resources to achieve optimal
resource utilization, maximize throughput, minimize
response time and avoid overload. Load balancing
helps in preventing bottleneck of system. It also
avoiding a situation where some of the nodes are heavily
loaded while others nodes are ideal or doing very little
work. Without load balancing cloud computing would
very difficult to manage [7].
Virtualization:
Virtualization means something which is not real but
gives all the facility of a real. Virtualization is a
software implementation of a machine which will
execute different program like a real machine.
Two type of virtualization found in case of cloud
computing.
1. Para Virtualization:
Para virtualization means the hardware allow
multiple operating systems to run on single machine. It
also allows efficient use of system resources such as
memory and processor. In para virtualization all the
services are not fully available rather the services are
provided partially.
2. Full Virtualization:
It means a complete installation of one machine is done
on another machine. It will result in a virtual machine
which will have all the software i.e. present in the actual
server. It helps to sharing a computer system among
multiple users. It provide emulating hardware on another
machine.[8]
Both virtualization and load balancing are closely
related. Some of the feature of cloud computing system
like fast response time, elasticity are achieved by load
balancing technique through virtualization.
Load Balancing Approach:
Static and dynamic two type of load balancing
approaches use in cloud computing.
1. Static Approach:
This approach is mainly defined in the design or
implementation of system. Static load balancing
algorithm divides the traffic equivalently between all
users. It uses only information about the average

www.ijsret.org

86

International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 3 Issue 1, April 2014

behavior of the system. These are much simpler and


ignore the current state or the load of the node in the
system.
2. Dynamic Approach:
In this approach considered only the current state of the
system during load balancing decision. It is more suitable
for widely distributed system such a cloud computing
Dynamic approach has two parts

Centralized Approach: Only a single node is


responsible for managing and distribution within the
whole system.

Distributed
Approach:
Each
node
independently builds its own load vector. Vector
collecting load information of other node. All decision is
made locally using local load vector.
Metrics for Load Balancing:
1. Throughput: - It is used to calculate the all tasks
whose execution has been completed. The performance of
any system is improved if throughput is high.
2. Fault Tolerance: It means recovery from failure. The
load balancing should be a good fault tolerant technique.
3. Migration time: It is the time to migrate the jobs or
resources from one node to other nodes. It should be
minimized in order to enhance the performance of the
system.
4. Response Time: It is the amount of time that is taken
by a particular load balancing algorithm to response a task
in a system. This parameter should be minimized for better
performance of a system.
5. Scalability: It is the ability of an algorithm to perform
Load balancing for any finite number of nodes of a
system.
Existing Load Balancing Algorithm:
There are many load balancing algorithm which help to
achieve better throughput, improve the response time, high
resource utilization and better performance in cloud
computing environment [10, 19, 20, 21].
1. Task Scheduling Based On LB: This algorithm
mainly consists two level task scheduling mechanism
which is based on load balancing to meet dynamic
requirements of users. It obtains high resource utilization.
This algorithm achieves load balancing by first mapping
tasks to virtual machines and then all virtual machines to
host resources .It is improving the task response time .It

also provide better resource utilization.[9]


2. Opportunistic
Load
Balancing:
Opportunistic load balancing is to attempt each node
keep busy, therefore does not consider the present
workload of each computer. Opportunistic load
balancing assigns each task in free order to present
node of useful .The advantage is quite simple and
reach load balance but its shortcoming is not consider
each expectation execution time of task, therefore the
whole completion time is very poor.
3.
Active clustering: Active clustering is used in
large scale cloud system. It provides better
performance and high resource utilization. In this
algorithm same type nodes of the systems are grouped
together and they work together in groups. It works like
as self-aggregation load balancing technique where a
network is rewired to balance the load of the system.
Systems optimize using similar job assignments by
connecting similar services. it improve the throughput
by utilizing the increased system resource. It will
degrade as the system diversity increases.
4.

Ant colony optimization: Ant algorithm is a


multi-agent
approach
to
difficult
combinatorial optimization problem. In this algorithm
when the request is initiated the ant start its
movement. Movement of ant is of two ways:
Forward Movement: Forward Movement
the ant
moving in forward direction continuously moving from
one overloaded node to another node and check it is
overloaded or under loaded ,if ant find an over loaded
node it will continuously moving in the forward
direction and check each nodes .
Backward Movement: If ants find an over loaded
node the ant will use the back ward movement to get
to the previous node, in the algorithm if ant finds the
target node then ant will commit suicide, this algorithm
reduced the unnecessary back ward movement. It is
excellent in fault tolerance [11].
5.
Shortest Response Time First: The idea of this
algorithm is straight forward. In this each process is
assigned a priority which is allowed to run. In this equal
priority processes are scheduled in FCFS order. The
(SJF) algorithm is a special case of general priority
Scheduling algorithm. In SJF algorithm is priority is
the inverse of the next CPU burst. It means, if longer
the CPU burst then lower the priority. The SJF policy

www.ijsret.org

87

International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 3 Issue 1, April 2014

selects the job with the shortest processing time first. In


this algorithm shorter jobs are executed before long jobs.
In SJF, it is very important to know or estimate the
processing time of each job which is major problem of
SJF.
6.
MIN-MIN Algorithm: It starts with a set of all
unassigned tasks .In this minimum completion time for all
tasks is found. Then after that among these minimum
times the minimum value is selected. Then task with
minimum time schedule on machine. After that the
execution time for all other tasks is updated on that
machine then again the same procedure is followed until
all the tasks are assigned on the resources. The main
problem of this algorithm is has a starvation.
7. Honeybee Foraging Behavior: It is a nature
inspired Algorithm for self- organization. Honeybee
achieves global load balancing through local server
actions. The performance of the system is enhanced with
increased system diversity. The main problem is that
throughput is not increased with an increase in system
size. When the diverse population of service types is
required then this algorithm is best suited.[12]
8. A Fast Adaptive Load Balancing Method:
This algorithm proposed a binary trees tructure that
is used to partition the simulation region into subdomains. The characteristics of this fast adaptive balancing
method are to be adjusted the workload between the
processors from local areas to global areas. the region
should be partitioned by using the binary tree mode.
There were partition line between the binary tree and the
indexes of the cells on the left are smaller that of right and
the indexes on the top are smaller than the bottom.
Calculate the workload based on the balancing algorithm.
This algorithm has a faster balancing speed, less elapsed
time and less communication time cost of the simulation
procedure.
Advantages
are
Relative
smaller
communication overhead relative smaller communication
overhead, faster balancing speed, and high efficiency. It
cannot maintain the topology of cells [13].
9. Based Random Sampling: It is a distributed and
scalable load balancing approach that uses random
sampling of the system domain to achieve self-organization
these balancing the load across all nodes of system. This
algorithm is based on the construction of the virtual graph
having connectivity between the all nodes of the system
where each node of the graph is corresponding to the node
computer of the cloud system. Edges between nodes are

two types as Incoming edge and outgoing edge that is


used to consider the load of particular system and also
allotment the resources of the node. It is very good
technique to balance the load [14].
10. Max-Min Algorithm: Max-Min algorithm is
almost same as the min-min algorithm. The main
difference is following: In this algorithm first finding out
minimum execution times, then the maximum value is
selected which is the maximum time among all the
tasks on any resources. After that maximum time
finding, the task is assigned on the particular selected
machine. Then the execution time for all tasks is
updated on that machine, this is done by adding the
execution time of the assigned task to the execution times
of other tasks on that machine. Then all assigned task is
removed from the list that executed by the system.
11.
Randomized: In this algorithm the process
allocation order is maintain for each
processor independent of allocation from remote
processor. This is static in nature. In this algorithm a
process can be handled by a particular node n with a
probability p. When all the processes are of equal
loaded then this algorithm work well. Problem arises
when loads are of different computational complexities.
This algorithm is not maintaining deterministic approach.
12. Lock-free multiprocessing solution for LB: It
proposed a lock-free multiprocessing load balancing
solution that avoids the use of shared memory in
contrast to other multiprocessing load balancing solutions
which use shared memory and lock to maintain a user
session. It is achieved by modifying kernel. This solution
helps in improving the overall performance of load
balancer in a multicore environment by running multiple
load-balancing processes in one load balancer.
13. Heat Diffusion Based Dynamic Load Balancing:
In this algorithm, proposed an efficient cell selection
scheme and two diffusion based algorithm called global
and local diffusion. According to heat diffusion
algorithm, the virtual environment is divided into a large
no of square cells and each square cells having object and
every node in the cell send load to its neighboring nodes
in every iteration and the transfer was the difference
between the current node to that of neighboring node.
it is related to heat diffusion process. the advantages of
this algorithm are communication overhead is less, high
speed and require little amount of calculation.[15].

www.ijsret.org

88

International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 3 Issue 1, April 2014

14. Compare and Balance: This algorithm is uses to


reach an equilibrium condition and manage unbalanced
systems load. In this algorithm on the basis of probability,
current host randomly select a host and compare their
load. If load of current host is more than the selected
host, it transfers extra load to that particular node. Then
each host of the system performs the same procedure. This
load
balancing algorithm is
also
designed and
implemented to reduce virtual machines migration time.
Shared storage memory is used to reduce virtual machines
migration time.
15. Resource
Awareness
Scheduling Algorithm:
It is a combination of Min-Min and Max-Min algorithm
and have no time consuming instruction. The time
complexity of this algorithm is O(mn2) where m is the no.
of resources and n is the no. of task.
16. Connection Mechanism: It is a algorithm based on
least connection mechanism. It needs to count the no. of
connection for each server dynamically to estimate the
load. The load balancers record the connection no of each
server. The no. of connection increase when a new
connection is dispatch to it and decrease the no when
connection finished or timeout happen.[16]
17. Round Robin: In this algorithm all the processes are
divided between all processors. In this each process is
assigned to the processor in a round robin order. The work
load distributions between processors are equal. Different
processes have not same job processing time. At many
point of time some nodes may be heavily loaded and
others remain idle In web servers where http requests are of
similar nature and distributed equally then RR algorithm is
used .When time quantum is very large then RR
Scheduling Algorithm is same as the FCFS Scheduling.
and when time quantum is too small then Round Robin
Scheduling is known as Processor Sharing Algorithm.
18.
Throttled Load Balancing Algorithm: It is
completely based on virtual machine. Client first
requesting the load balancer to check the right virtual
machine which access that load easily and perform the
operation that is given by the client.[17]
19. Load Balancing Using Firefly Algorithm: This
algorithm is inspired from firefly algorithm. The proposed
approach deals with a simulated cloud network with set of
requests and servers. The servers are associated with nodes
and each node is supplied with some attributes. The
attributes are assigned to control the load in each node.
It has three levels.
1.
Initially a population is generated from the cloud
network.
2. Scheduling index calculation

3.
The scheduling list is optimized by firefly
algorithm.
It is efficient in optimizing scheduling by balancing the
load.[18]

3. CONCLUSION:
In this paper we discuss the load balancing in cloud
computing and metrics for load balancing in cloud
computing. We also discuss the cloud virtualization.
Load balancing helps in proper utilization of
resources and improve the performance of system. Load
balancing is a major issues in cloud computing. In this
paper we examined some existing load balancing
algorithm that maintain load balancing and provide
better scheduling and resource allocation techniques.
Researchers have been done in this area. But still there
is need of improvement in the strategy of resource
allocation and scheduling algorithm.

REFERENCES:
[1] Gaochao Xu, Junjie Pang, and Xiaodong Fu A Load
Balancing Model Based on Cloud Partitioning for the
Public Cloud. IEEE TRANSACTIONS ON CLOUD
COMPUTING YEAR 2013
[2]
R.
Hunter,
The
why
of
cloud,
http://www.gartner.com/
DisplayDocument?doc
cd=226469&ref= g noreg, 2012
[3] Namrata Swarnkar , Asst. Prof. Atesh Kumar Singh
and Dr. R. Shankar A Survey of Load Balancing
Techniques in Cloud Computing. Vol. 2
Issue 8, August 2013
[4] Rajkumar Buyyaa and et.al. Cloud computing and
emerging IT platforms: Vision, hype, and reality for
delivering computing as the 5th utility ,ELSEVIER.
[5] NIST: Nist definition of cloud computing
[6] Fox et al: Above the Clouds: A Berkeley View of
Cloud computing feb 2009 [7] cloud computing bible.
[8] Rajwinder Kaur and Pawan Luthra Load
Balancing in Cloud Computing. Proc. of Int. Conf. on
Recent Trends in Information, Telecommunication and
Computing, ITC
[9] Y. Fang, F. Wang, and J. Ge, A Task Scheduling
Algorithm Based on Load Balancing in Cloud
Computing, Web Information Systems and Mining,
Lecture Notes in Computer Science, Vol. 6318, 2010,
pages 271-277.
[10] Ms. Parin. V. Patel, Mr. Hitesh. D. Patel and Asst.
Prof. Pinal. J. Patel A Survey On Load Balancing In

www.ijsret.org

89

International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 3 Issue 1, April 2014

Cloud Computing. International Journal of Engineering


Research & Technology (IJERT)Vol.
1 Issue 9, November- 2012
[11] Nishant, K. P. Sharma, V. Krishna, C. Gupta, KP.
Singh, N. Nitin and R. Rastogi, Load Balancing of Nodes
in Cloud Using Ant Colony Optimization. In proc. 14th
International Conference on Computer Modelling and
Simulation (UKSim), IEEE, pp: 3-8, March 2012.
[12] Dhinesh Babu L.D, P. VenkataKrishna, Honey bee
behavior inspired load balancing of tasks in cloud
computing environments,Applied Soft Computing
13 (2013)
[13]Dongliang Zhang, Changjun Jiang,Shu Li, A fast
adaptive load balancing method for parallel particle-based
simulations.
[14] T.R.V. Anandharajan, Dr. M.A. Bhagyaveni Cooperative Scheduled Energy Aware Load- Balancing
technique for an Efficient Computational Cloud IJCSI
International Journal of Computer Science Issues, Vol. 8,
Issue 2, March 2011
[15] Yunhua Deng, Rynson W.H. Lau, Heat diffusion
based dynamic load balancing for distributed virtual
environments.
in: Proceedings of the17th ACM
Symposium on Virtual Reality Software and Technology,
ACM, 2010, pp. 203210
[16]
P.Warstein, H.Situ and Z.Huang(2010), Load
balancing in a cluster computer In proceeding of the
seventh International Conference on Parallel and
Distributed Computing, Applications and Technologies,
IEEE.
[17] Ms.NITIKA, Ms.SHAVETA, Mr. GAURAV RAJ;
Comparative Analysis of Load Balancing Algorithms in
Cloud Computing, International Journal of Advanced
Research in Computer Engineering & Technology
Volume 1, Issue 3, May 2012.
[18] A. Paulin Florence and V. Shanthi A LOAD
BALANCING MODEL USING FIREFLY ALGORITHM
IN CLOUD COMPUTING. 2014
Science Publications
[19] R.R. Kotkondawar, P.A. Khaire, M.C. Akewar and
Y.N. Patil,
A Study of Effective Load Balancing
Approaches in Cloud Computing. International Journal of
Computer Applications , Volume 87 No.8, February
2014
[20] Rajesh George Rajan and V.Jeyakrishnan A Survey
on Load Balancing in Cloud Computing Environments.
International Journal of Advanced Research in Computer
and Communication Engineering Vol. 2, Issue 12,
December 2013
[21]
SHANTI
SWAROOP
MOHARANA1,

RAJADEEPAN D. RAMESH and DIGAMBER


POWAR ANALYSIS OF LOAD BALANCERS IN
CLOUD COMPUTING. Vol. 2, Issue 2, May 2013,
101-108 , IASET
[22] Uddalak Chatterjee A Study on Efficient Load
Balancing Algorithms in Cloud Computing Environment.
International Journal of Current Engineering and
Technology ,2013
[23] Nidhi Jain Kansal and Inderveer Chana Cloud Load
Balancing Techniques : A Step Towards Green
Computing. IJCSI International Journal of Computer
Science Issues, Vol. 9, Issue 1, No 1, January 2012
[24] Tushar Desai and Jignesh Prajapati A Survey Of
Various Load Balancing Techniques And Challenges In
Cloud Computing. INTERNATIONAL JOURNAL OF
SCIENTIFIC
&
TECHNOLOGY
RESEARCH
VOLUME 2, ISSUE 11, NOVEMBER
2013

www.ijsret.org

90