Conference PaperPDF Available

Comparative Analysis of various Load Balancing Algorithm

Authors:
Satellite Conference ICSTSD 2016 International Conference on Science and Technology for Sustainable Development, Kuala Lumpur,
MALAYSIA, May 24-26, 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 79
Comparative Analysis of various Load Balancing
Algorithm
Prof.Nikhil.S.Band
Information Technology,
PRMIT&R,Badnera
India
Mr. Pravin R. Nerkar Mr. Rahul R. Papalkar
Information Technology, Information Technology,
PRMIT&R,Badnera PRMIT&R,Badnera
India India
Abstract— Cloud computing (CC) almost all IT resources can be
delivered as a cloud service: applications, compute power,
storage capacity, networking, programming tools, even
communications services and collaboration tools. In other word
CC defines the data is mostly resident on servers ‘somewhere on
the Internet’ and the application runs on both the ‘cloud servers’
and the user’s browser. Load balancing is a technique to
distribute workload across multiple computers, or other
resources over the network links to achieve optimal resource
utilization, minimum data processing time, minimum average
response time, and avoid overload. Load balancing ensures that
all the processors in the system as well as in the network does
approximately the equal amount of work at any instant of time.
Load Balancing is important for essential operations in cloud
computing environments.
As cloud computing has been growing rapidly and many clients
all over the world are demanding more services and better
results, so load balancing is an essential and important research
area. Thus Paper describe The Study and Analysis of various
Load Balancing Algorithm use in the Cloud computing
Environment along with their corresponding advantages,
disadvantages and performance metrics are discussed in detail.
Keywords:- Cloud computing (CC), Load balancing.
I. INTRODUCTION
In many ways, cloud computing is simply a metaphor for the
Internet, the increasing movement of compute and data resources
onto the Web. But there’s a difference: cloud computing represents a
new tipping point for the value of network computing. It delivers
higher efficiency, massive scalability, and faster, easier software
development. It’s about new programming models, new IT
infrastructure, and the enabling of new business models.
At a basic level, cloud computing is simply a means of delivering
IT resources as services. Almost all IT resources can be delivered as
a cloud service: applications, compute power storage capacity,
networking, programming tools, even communications services and
collaboration tools. Cloud computing began as large-scale Internet
service providers such as Google, Amazon etc. An architecture
emerged: massively scaled, horizontally distributed system resources,
abstracted as virtual IT services and managed as continuously
configured, pooled resources. This architecturally similar to grid
computing, but where grids are used for loosely coupled, technical
computing applications, this new cloud model was being applied to
Internet services. In this architecture, the data is mostly resident on
servers ‘somewhere on the Internet’ and the application runs on both
the ‘cloud servers’ and the user’s browser. In another word Cloud
computing is an on demand service in which shared resources,
information, software and other devices are provided according to the
client’s requirement at specific time[1].
Architecture of cloud computing [14]
There are four types of cloud deployment model in,
Private Cloud( used by single organization)
Public Cloud( anyone can access)
Community Cloud(shared by several organizations)
Hybrid Cloud(combination of two or more clouds)
According to the National Institute of Standards and Technology
(NIST), basic services provided by the Cloud Environment are as
below [2]:-
Software as a Service (SaaS): Customers hire software
hosted by vendor.
Platform as a Service (PaaS): Customers hire infrastructure
and programming tools hosted by vendor to create
applications.
Infrastructure as a Service (IaaS): Customers hire
processing, networking, storage and other fundamental
computing resources.
National Institute of Standards and Technology (NIST) defines
characteristics of Cloud Computing are as below [2]:-
Satellite Conference ICSTSD 2016 International Conference on Science and Technology for Sustainable Development, Kuala Lumpur,
MALAYSIA, May 24-26, 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 80
Broad network access: available through standard
Internet- enabled devices.
On demand self-service access : consumers are
provisioned services without other’s help
Location independent resource pooling: demands are
balanced across a common infrastructure with no
particular resource assigned to any individual user.
Rapid elasticity: Quality of service will be same as
increase or decrease the number of consumers.
Pay per use: consumers pay charges based on their
usage of computing resources.
II. VIRTUALIZATION
Virtualization is a cornerstone design technique for all cloud
architectures. In cloud computing it refers primarily to platform
virtualization or the abstraction of physical IT resources from the
people and applications using them. Virtualization allows servers,
storage devices, and other hardware to be treated as a pool of
resources rather than discrete systems, so that these resources can be
allocated on demand. In cloud computing, we’re interested in
techniques such as par virtualization, which allows a single server to
be treated as multiple virtual servers, and clustering, which allows
multiple servers to be treated as a single server. There are three types
of virtualization in cloud computing.
Operating System Virtualization:- The use of OS-level
virtualization or partitioning in cloud architectures can help solve
some of the core security, privacy, and regulatory issues that could
otherwise hinder the adoption of cloud computing.
Platform virtualization: - Platform virtualization allows arbitrary
operating systems and resulting application environments to run on a
given system. There are two basic models for this system
virtualization: full virtualization, or a complete simulation of
underlying hardware, and paravirtualization, which offers a “mostly
similar” model of the underlying hardware these are implemented as
Type 1 hypervisors, which run directly on hardware, and Type 2
hypervisors, which run on top of a traditional operating system.
Application Virtualization:- There is also a software angle to
“containers” within the cloud. The Web container technology
implemented in the cloud greatly impacts developer productivity and
flexibility. The Web container is the part of the application server that
manages servlets, JavaServerTM Page (JSP) files, and other Web-tier
components.
III. LOAD BALANCING
Load balancing is the process of distributing the load among various
resources in any system Thus load need to be distributed over the
resources in cloud-based architecture, so that each resources does
approximately the equal amount of task at any point of time. Basic
need is to provide some techniques to balance requests to provide the
solution of the application faster.
The aim of load balancing is as follows:
To increase the availability of services.
To increase the user satisfaction.
To maximize resource utilization.
To reduce the execution time and waiting time of task
coming from different location.
To improve the performance.
Maintain system stability.
Build fault tolerance system.
Accommodate future modification.
IV. CHALLENGES OF LOAD BALANCING
Overhead Associated:-determines the amount of overhead involved
while implementing a load-balancing system. It is composed of
overhead due to movement of tasks, inter- process communication.
Overhead should be reduced so that a load balancing algorithm
performs well.
Throughput:-It is the number of task executed in the fixed interval of
time. To improve the performance of the system, throughput should
be high .
Performance: - It can be defined as the efficiency of the system. It
must be improved Resource Utilization -is used test the utilization of
resources. It should be maximum for an efficient load balancing
system.
Scalability: - the quality of service should be same if the number of
users increases. The more number of nodes can be added without
affecting the service.
Response Time: - can be defined as the amount of time taken to react
by a load balancing algorithm in a distributed system. For better
performance, This parameter should be reduced.
Fault Tolerance:-In spite of the node failure, the ability of an system
to perform uniform load balancing. The load balancing is the best
fault-tolerant technique.
Point of Failure: - designed the system in such a way that the single
point failure does not affect the provisioning of services. Like in
centralized system, if one central node is fail, then the whole system
would fail, so load balancing system must be designed in order to
overcome this problem.
V. BASIC TYPES OF LOAD BALANCING
ALGORITHMS
There is a extremely large need for load balancing in complex and
large distributed systems, Load balancer takes a decision to transfer
the job to the remote server for load balancing. Load balancer can
works in two ways: one is cooperative and non- cooperative. In
cooperative way, to achieve the optimal response time, all the nodes
work to gather. In non-cooperative way, response time is increase by
the independently running the tasks. Some of the algorithms for load
balancing are studied in this paper.
Based on the current state of the system, load balancing algorithms
can be classified into two types:
Static algorithm: The current status of the node is not taken
into consideration [4]. All the nodes and their properties are
known in advance. Based on this prior knowledge, the
algorithm works. Since it does not use current system status
information, it is easy to implement.
Dynamic algorithm: This type of algorithm is based on the
current status of the system [4]. The algorithm works
according to the dynamic changes in the state of nodes.
Status Table maintains the Current status of all the nodes in
Satellite Conference ICSTSD 2016 International Conference on Science and Technology for Sustainable Development, Kuala Lumpur,
MALAYSIA, May 24-26, 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 81
the cloud. Dynamic algorithms are complex to implement
but it balances the load in effective manner.
Based on the initiator of the algorithm, Load Balancing algorithms
can be classified into three types [3]:
Sender Initiated: Sender identifies that the nodes are in
large number so that the sender initiates the execution of
Load Balancing algorithm.
Receiver Initiated: The requirement of Load balancing
situation can be identified by the receiver/server in cloud
and that server initiates the execution of Load Balancing
algorithm.
Symmetric: It is the combination of both the sender
initiated and receiver initiated types.
VI. LOAD BALANCING ALGORITHMS
Following load balancing algorithms are currently prevalent in
clouds
6.1 Round-Robin Algorithm [5]
It is the static load balancing algorithm which uses the round
robin scheme for allocating job. It selects the first node randomly and
then, allocates jobs to all other nodes in a round robin fashion.
Without any sort of priority the tasks are assigned to the processors in
circular order. Because of the non uniform distribution of workload,
this algorithm is not suitable for cloud computing .some nodes get
heavily loaded and some nodes get lightly loaded because the running
time of any process is not known in advance. This limitation is
overcome in the weighted round-robin algorithm .In the weighted
round-robin algorithm some specific weight is assigned to the node
.on the basis of assignment of weight to the node it would receive
appropriate number of requests .If there are equal assignment of
weight, each node receive some traffic. This algorithm is not
preferred because prior prediction of execution time is not possible
6.2 Opportunistic Load Balancing Algorithm [6]
This is static load balancing algorithm so it does not consider the
current workload of the VM. It attempts to keep each node busy. This
algorithm deals quickly with the unexecuted tasks in random order to
the currently available node. Each task is assigned to the node
randomly. It provides load balance schedule without good results.
The task will process in slow in manner because it does not calculate
the current execution time of the node.
6.3 Min-Min Load Balancing Algorithm [7]
The cloud manager identifies the execution and completion time
of the unassigned tasks waiting in a queue. This is static load
balancing algorithm so the parameters related to the job are known in
advance. In this type of algorithm the cloud manager first deals with
the jobs having minimum execution time by assigning them to the
processors according to the capability of complete the job in specified
completion time. The jobs having maximum execution time has to
wait for the unspecific period of time. Until all the tasks are assigned
in the processor, the assigned tasks are updated in the processors and
the task is removed from the waiting queue. This algorithm performs
betters when the numbers of jobs having small execution time is
more then the jobs having large execution time. The main drawback
of the algorithm is that it can lead to starvation.
6.4 Max-Min Load Balancing Algorithm[7]
Max Min algorithm works same as the Min-Min algorithm
except the following: after finding out the minimum execution
time, the cloud manager deals with tasks having maximum
execution time. The assigned task is removed from the list of the
tasks that are to be assigned to the processor and the execution
time for all other tasks is updated on that processor. Because of its
static approach the requirements are known in advance then the
algorithm performed well. An enhanced version of max min
algorithm was proposed in [8]. It is based on the cases, where
meta-tasks contain homogeneous tasks of their completion and
execution time, improvement in the efficiency of the algorithm is
achieved by increasing the opportunity of concurrent execution of
tasks on resources.
6.5 The two phase scheduling load balancing algorithm [9]
It is the combination of OLB (Opportunistic Load Balancing) and
LBMM (Load Balance Min-Min) Scheduling algorithms to utilize
better execution efficiency and maintain the load balancing of the
system.OLB scheduling algorithm keeps every node in working state
to achieve the goal of load balance and LBMM scheduling algorithm
is utilized to minimize the execution of time of each task on the node
thereby minimizing the overall completion time. This algorithm
works to enhance the utilization of resources and enhances the work
efficiency.
6.6 ANT COLONY OPTIMIZATION BASED LOAD
BALANCING ALGORITHM [3]
Aim of the ant colony optimization to search an optimal path
between the source of food and colony of ant on the basis of their
behavior. This approach aims efficient distribution of work load
among the node. When request is initialized the ant starts movement
towards the source of food from the head node. Regional Load
Balancing Node (RLBN) is chosen in Cloud Computing Service
Provider (CCSP) as a head node. Ants keep records the every node
they visits ant record their data for future decision making .Ant
deposits the pheromones during their movement for other ants to
Satellite Conference ICSTSD 2016 International Conference on Science and Technology for Sustainable Development, Kuala Lumpur,
MALAYSIA, May 24-26, 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 82
select next node The intensity of pheromones can vary on the bases
of certain factors like distance of food, quality of food etc. When the
job gets successful the pheromones is updated. Each ant build their
own individual result set and it is later on built into a complete
solution. The ant continuously updates a single result set rather than
updating their own result set. By the ant pheromones trials, The
solution set is continuously updated.
6.7 Honeybee Foraging load balancing Algorithm [11]
It is a nature inspired decentralized load balancing technique
which helps to achieve load balancing across heterogeneous virtual
machine of cloud computing environment through local server action
and maximize the throughput. The current workload of the VM is
calculated then it decides the VM states whether it is over loaded
,under loaded or balanced .according to the current load of VM they
are grouped. The priority of the task is taken into consideration after
removed from the overload VM which are waiting for the VM .Then
the task is schedule to the lightly loaded VM. The earlier removed
task are helpful for the finding the lightly loaded VM. These tasks are
known as scout bee in the next step. Honey Bee Behavior inspired
Load Balancing technique reduces the response time of VM and also
reduces the waiting time of task.
6.8 Biased Random Sampling load balancing Algorithm[12]
Biased Random Sampling Load Balancing Algorithm is dynamic
approach, the network is represented in the form of virtual graph.
Each server is taken as a vertex of the node and the in degree
represents the available free resources the nodes have. On the basis of
the in degree the load balancer allocates the job to the node. The
nodes have at least one in degree then load balancer allocates the job
to that node. When the job is allocates to the node then the in degree
is decrement by one, and it’s get incremented again when job gets
executed. Random sampling technique is used in the addition and
deletion of the processes. The processes are centralized by the
threshold value, which indicates the maximum traversal from one
node to destination node. The length of traversal is known as walk
length. The neighbor node of the current node is selected for the
traversal. After receiving the request, load balancer selects a node
randomly and compares the current walk length with the threshold
value. If the current walk length is equal to or greater than the
threshold value, the job is executed at that node. Otherwise, the walk
length of the job is incremented and another neighbor node is
selected randomly. The performance is decrease as the number of
servers increase.
6.9 Active Clustering load balancing Algorithm [13]
Active Clustering is works on the basis of grouping similar nodes
and increase the performance of the algorithm the process of
grouping is based on the concept of match maker node. Match maker
node forms connection between its neighbors which is like as the
initial node .Then the matchmaker node disconnects the connection
between itself and the initial node. The above set of processes is
repeating again and again. The performance of the system is
increases on the basis of high availability of resources, because of
that, the throughput is also increasing. This increase in throughput is
because of the efficient utilization of resources.
7 COMPARISONS OF ALGORITHMS
8 CONCLUSIONS
Cloud computing provides everything to the user as a service
over network. The major issues of cloud computing is Load
Balancing. Overloading of a system may lead to poor performance
which can make the technology unsuccessful, for the efficient
utilization of resources, the efficient load balancing algorithm is
required. In this paper, we have surveyed various load balancing
algorithms in the Cloud environment. We have discussed the already
proposed algorithms by various researchers. The various load
balancing algorithms are also being compared here on the basis of
different types of parameter.
References
[1] Dharmesh Kashyap, Jaydeep Viradiya “ A Survey Of Various Load
Balancing Algorithms In Cloud Computing”- INTERNATIONAL JOURNAL
OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 3, ISSUE 11,
NOVEMBER 2014
[2] Reena Panwar , Bhawna Mallick, Ph.D-”A Comparative Study of Load
Balancing Algorithms in Cloud Computing International Journal of
Computer Applications (0975 – 8887) Volume 117 – No. 24, May 2015
[3] Maria Spinola, ―An Essenti al Guide to Possibilities and Risks of Cloud
Computing: a Pragmatic Effective and Hype Free Approach for Strategic
Enterprise Decision Making‖. (white paper) 2009
[4] Rat an Mi shra and Anant Jaiswal, ―Ant C olony Optimization: A solution
of Load Balancing in Cloud‖, International Journal of Web & Semant ic
Technology (IJWesT), April 2012
[5] Venubabu Kunamneni, "Dynamic Load Balancing for the cloud",
International Journal of Computer Science and Electrical Engineering, 2012.
[6] Pooja Samal, Pranati Mishra, ‖Analysis of variants in Round Robin
Algorithms for load balancing in Cloud Computing‖ (IJCSIT) International
Journal of Computer Science and Information Technologies, Vol. 4 (3) , 2013,
416-419.
[7] Che-Lun Hung1, Hsiao-hsi Wang2 and Yu-Chen Hu2, ―Efficient Load
Balancing Algorithm for Cloud Computing Network‖. IEEE Vol. 9, pp: 70-78,
2012
Satellite Conference ICSTSD 2016 International Conference on Science and Technology for Sustainable Development, Kuala Lumpur,
MALAYSIA, May 24-26, 2016
ISSN: 2348 – 8387 www.internationaljournalssrg.org Page 83
[8] T. Kokil avani, Dr. D. I. George Amalarethinam ―Load Balanced Min-
Min Algorithm for Static Meta Task Scheduling in Grid computing
International Journal of Computer Applications Vol-20 No.2, 2011
[9] Upendra Bhoi, P urvi N. Ramanuj, ―Enhanced M ax-min Task Scheduling
Algorithm in Cloud Computing Inter national Journal of Application or
Innovation in Engineering & Management (IJAIEM), Volume 2, Issue 4,
April 2013.
[10] Karanpreet Kaur, Ashima Narang, Kuldeep Kaur, "Load Balancing
Techniques of Cloud Computing", International Journal of Mathematics and
Computer Research, April 2013.
[11] Nidhi Jain Kansal, Inderveer Chana, "Cloud Load Balancing Techniques:
A Step Towards Green Computing", International Journal of Computer
Science, January 2012
[12] Dhinesh B. L.D , P . V. Krishna, ―Honey bee behavior inspired load
balancing of tasks in cloud computing environments, in proc. Applied Soft
Computing, volume 13, Issue 5, May 2013, Pages 2292-2303.
[13] Rahmeh OA, Johnson P, Taleb-Bendiab A.,‖A Dynamic Biased Random
Sampling Scheme for scalable and reliable Grid Networks‖, The INFO COMP
Journal of Computer Science, vol. 7, 1-10
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
These days, the organization knows that the power is being consumed by the unutilized Resources that is why the local cloud is becoming very popular. An essential requirement for cloud environments is not only the reduction in power consumption but also focus is also laid on decreasing the operating cost and improve the reliability of the system. The energy-aware computing makes the algorithms run faster and also reduce the computing energy requirements. This paper includes the existing techniques for balancing the load in cloud computing and their comparision on the basis of various parameters like performance, overhead, scalability etc.
Article
Full-text available
As the cloud computing is a new style of computing over internet. It has many advantages along with some crucial issues to be resolved in order to improve reliability of cloud environment. These issues are related with the load management, fault tolerance and different security issues in cloud environment. In this paper the main concern is load balancing in cloud computing. The load can be CPU load, memory capacity, delay or network load. Load balancing is the process of distributing the load among various nodes of a distributed system to improve both resource utilization and job response time while also avoiding a situation where some of the nodes are heavily loaded while other nodes are idle or doing very little work. Load balancing ensures that all the processor in the system or every node in the network does approximately the equal amount of work at any instant of time. Many methods to resolve this problem has been came into existence like Particle Swarm Optimization, hash method, genetic algorithms and several scheduling based algorithms are there. In this paper we are proposing a method based on Ant Colony optimization to resolve the problem of load balancing in cloud environment.
Article
Full-text available
Cloud computing is emerging as a new paradigm of large-scale distributed computing. It is a framework for enabling convenient, on-demand network access to a shared pool of computing resources. Load balancing is one of the main challenges in cloud computing which is required to distribute the dynamic workload across multiple nodes to ensure that no single node is overwhelmed. It helps in optimal utilization of resources and hence in enhancing the performance of the system. The goal of load balancing is to minimize the resource consumption which will further reduce energy consumption and carbon emission rate that is the dire need of cloud computing. This determines the need of new metrics, energy consumption and carbon emission for energy-efficient load balancing in cloud computing. This paper discusses the existing load balancing techniques in cloud computing and further compares them based on various parameters like performance, scalability, associated overhead etc. that are considered in different techniques. It further discusses these techniques from energy consumption and carbon emission perspective.
Article
Full-text available
Grid computing has become a real alternative to traditional supercomputing environments for developing parallel applications that harness massive computational resources. However, the complexity incurred in building such parallel Grid-aware applications is higher than the traditional parallel computing environments. It addresses issues such as resource discovery, heterogeneity, fault tolerance and task scheduling. Load balanced task scheduling is very important problem in complex grid environment. So task scheduling which is one of the NP-Complete problems becomes a focus of research scholars in grid computing area. The traditional Min-Min algorithm is a simple algorithm that produces a schedule that minimizes the makespan than the other traditional algorithms in the literature. But it fails to produce a load balanced schedule. In this paper a Load Balanced Min-Min (LBMM) algorithm is proposed that reduces the makespan and increases the resource utilization. The proposed method has two-phases. In the first phase the traditional Min-Min algorithm is executed and in the second phase the tasks are rescheduled to use the unutilized resources effectively.
Article
Full-text available
The growth in computer and networking technologies over the past decades produced new type of collaborative computing environment called Grid Network. Grid is a parallel and distributed computing network system that possesses the ability to achieve a higher throughput computing by taking advantage of many computing resources available in the network. Therefore, to achieve a scalable and reliable Grid network system, the load needs to be efficiently distributed among the resources accessible on the network. In this paper, we present a distributed and scalable load balancing framework for Grid networks using biased random sampling. The generated network system is self-organized and depends only on local information for load distribution and resource discovery. We demonstrate that introducing a geographic awareness factor in the random walk sampling can reduce the effects of communication latency in the Grid network environment. Simulation results show that the generated network system provides an effective, scalable, and reliable load balancing scheme for the distributed resources available on Grid networks.
Article
Scheduling of tasks in cloud computing is an NP-hard optimization problem. Load balancing of non-preemptive independent tasks on virtual machines (VMs) is an important aspect of task scheduling in clouds. Whenever certain VMs are overloaded and remaining VMs are under loaded with tasks for processing, the load has to be balanced to achieve optimal machine utilization. In this paper, we propose an algorithm named honey bee behavior inspired load balancing (HBB-LB), which aims to achieve well balanced load across virtual machines for maximizing the throughput. The proposed algorithm also balances the priorities of tasks on the machines in such a way that the amount of waiting time of the tasks in the queue is minimal. We have compared the proposed algorithm with existing load balancing and scheduling algorithms. The experimental results show that the algorithm is effective when compared with existing algorithms. Our approach illustrates that there is a significant improvement in average execution time and reduction in waiting time of tasks on queue.
A Survey Of Various Load Balancing Algorithms In Cloud Computing
  • Dharmesh Kashyap
  • Jaydeep Viradiya
Dharmesh Kashyap, Jaydeep Viradiya " A Survey Of Various Load Balancing Algorithms In Cloud Computing"-INTERNATIONAL JOURNAL OF SCIENTIFIC & TECHNOLOGY RESEARCH VOLUME 3, ISSUE 11, NOVEMBER 2014
An Essential Guide to Possibilities and Risks of Cloud Computing: a Pragmatic Effective and Hype Free Approach for Strategic Enterprise Decision Making‖
  • Maria Spinola
Maria Spinola, -An Essential Guide to Possibilities and Risks of Cloud Computing: a Pragmatic Effective and Hype Free Approach for Strategic Enterprise Decision Making‖. (white paper) 2009
Dynamic Load Balancing for the cloud
  • Venubabu Kunamneni
Venubabu Kunamneni, "Dynamic Load Balancing for the cloud", International Journal of Computer Science and Electrical Engineering, 2012.