You are on page 1of 8

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

741
Volume 4, Issue 7, July 2015

Various Schemes of Load Balancing in Distributed Systems- A Review

Monika Kushwaha Saurabh Gupta


Pranveer Singh Institute of Technology Pranveer Singh Institute of Technology
Kanpur, U.P. (208020) Kanpur, U.P. (208020)
U.P.T.U., Lucknow U.P.T.U., Lucknow

Abstract 1.1.1 Need of Load Balancing


Over the past three decade, parallel and distributed A distributed system contains number of processors
computing witnessed major growth due to the declined working independently with each other and linked by
cost of hardware, advancement in communication communication channel. Some are not linked with any
technology, explosive growth of internet and need to communication channel. Each processor has an initial
solve large-scale problems. These systems often face the load that is the amount of work to be performed, and
problem of load imbalance, which can degrade the each may have a different processing capacity. The
performance of the system. Load balancing improves the workload has to be evenly distributed among all
system performance by dividing the work load processors based on their processing speed so that time
effectively among the participating computers/nodes. to execute all tasks gets minimized and idle time of each
This paper presents various aspects of load balancing processor can be reduced. This is why we need load
and explains various load balancing approaches and balancing.
strategies and their respective algorithms. Load imbalance is also a main problem in data parallel
applications and here also it mainly occurs due to the
Keywords: Load balancing, Thresholding, Migration, uneven distribution of data among the various processors
Distributed Systems. in the system. Without good load distribution strategies
and techniques, we cannot aim to reach good speedup
1. INTRODUCTION and good efficiency.
Outstanding progress in computer technology has lead to
the rise of the demand of high speed processing and the 1.1.2 Issues related to Load Balancing
need of high scalability, availability and rapid response. The following issues are analyzed during load balancing:
This resulted in use of parallel and distributed computing a) In distributed environment the communication
systems where more than one processor processes the channels are of finite bandwidth and the
job simultaneously. One of the main research issues in processing units may be physically distant hence
parallel and distributed system is effective strategy to load balancing need to take decision of whether to
distribute workload among multiple processors. Load allow task migration or not.
balancing is used for minimizing the response time, b) A computing job may not arbitrarily divisible
maximizing the throughput, and to avoid the overload. leading to certain constraints in dividing tasks.
Load balancing is to ensure that every processor in the c) Each job consists of several smaller tasks and each
system does approximately the same amount of work at of those tasks can have different execution times.
any point of time [2]. d) The load on each processor as well as on the
network can vary from time to time based on the
1.1 Load Balancing workload brought about by the users.
Load balancing is the process of distribution or e) The processors capacity may be different from
redistribution of load among processor therefore each other in architecture, operation system, CPU
improving the performance of the system. In computing, speed, memory size, and available disk space.
load balancing distributes workload across multiple
computing resources, such as computers, a computer Taking above factors into consideration the load
cluster, network links, or central processing units. Load balancing can be generalized into four basic steps:
balancing aims to optimize resource use, a) Monitoring processor load and state
maximize throughput, minimize response time, and b) Exchanging load and state information between
avoid overload of any single resource [3]. processors
c) Calculating the new work distribution
d) Actual data movement

www.ijsret.org
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
742
Volume 4, Issue 7, July 2015

1.1.3 Policies of Load Balancing Pros


A good load balancing algorithm is defined by some 1. It has minimum communication delays.
basic policies [10] which are as follows: 2. Algorithms are simple and easy to implement.
Information policy: Specifies what workload 3. System overhead is minimized.
information to be collected, updated, When it is to be
collected and from where. Cons
a) Triggering policy: Determines the appropriate 1. Task cannot be migrated while execution.
period to start a load balancing operation. 2. Overall performance of system decreased due to
b) Resource type policy: Retrieve the task from most load fluctuations.
overloaded resource or not. 3. Less useful when task have different execution
c) Location policy: Uses the results of the resource time and nodes are heterogeneous.
type policy to find a suitable partner for a server or
receiver 2.1.1 Algorithms of Static Load Balancing
d) Selection policy: Defines the tasks which should be Among various proposed algorithms major static load
migrated from busiest resources (source) to most balancing algorithms are as follows:
idle resources (receiver). A selection policy
considers several factors in selecting a task, for e.g. 2.1.1.1 Round Robin Algorithm
transfer of small task will take less overhead. Round Robin Algorithm (RRA) assigns tasks
sequentially and evenly to all the nodes. All tasks are
1.1.4 Advantages of Load Balancing assigned to computing nodes based on Round Robin
Some major advantages of load balancing [5, 6] are as order, meaning that computing nodes choosing is
follows: performed in series and will be back to the first
a) It reduces the task waiting time. computing node if the last computing node has been
b) It minimizes task response time. reached [5]. Each node maintains its load index locally
c) It maximizes utilization of system resources. independent of allocations from remote node.
d) It maximizes system throughput.
e) It improves reliability, and stability of the system. Pros
f) It accommodates future modification. 1. Inter-process communication is not required.
g) Long starvation is avoided for small jobs. 2. Useful for jobs of equal processing time and
h) In load balancing overall system performance is nodes of same capabilities.
enhance by improving the performance of each Cons
node. 1. Not useful when tasks have unequal processing
time.
Because of the above benefits, the load balancing 2. Not useful when nodes have different capacities.
strategies become a field of intensive research. As a
result, a large number of scheduling and load balancing 2.1.1.2 Randomized Algorithm
algorithms have been developed in the past several Randomized Algorithm (RA) uses random numbers in
years. selecting computing nodes for processing, without
having any information about the current or previous
2. LOAD BALANCING APPROACHES load on the node. The computing nodes are selected
In load balancing there are two approaches and each randomly following random numbers generated based on
approach have their own algorithms. The two a statistic distribution [5, 1].
approaches are as follows:
Pros
2.1 Static Load Balancing 1. It works well for particular special purpose
In the Static load balancing approach, the load balancing applications.
decisions are made deterministically or probabilistically 2. No inter process communication is required.
at compile time according to the performance of Cons
computing nodes and remain constant during runtime. 1. It is not considered elegant solution.
Number of tasks in each node is fixed in this approach 2. Maximum response time among all algorithms.
[5]. Static load balancing methods are non-preemptive
i.e. once the load is allocated to the node it cannot be 2.1.1.3 Central Manager Algorithm
transferred to another node. In each step in Central Manager Algorithm (CMA),
central node selects slave node to be assigned a task.

www.ijsret.org
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
743
Volume 4, Issue 7, July 2015

Slave node having least load is being selected. The 1. One overloaded processor may have much higher
central node maintains the load index of all slave nodes load than other overloaded processors, causing
connected to it. Whenever, load is changed, a message is significant disturbance in load balancing.
send by the slave nodes to the central node [2]. The load 2. Increased execution time of an application.
manager makes load balancing decisions based on the
system load information, allowing the best decision 2.2 Dynamic Load Balancing
when of the process created [5, 2]. There are three general classes of problems where a
static load balancing is either impossible or can lead to
Pros imbalance of load, problems are:
1. Performs well when dynamic activities are 1. The first class consists of problems in which all
created by different hosts. the tasks are available at the beginning of the
Cons computation but the amount of time required by
1. CMA needs high level of inter process each task is different.
communication. 2. The second class consists of problems in which
2. Single point of failure. tasks are available at the beginning but as the
computation progresses, the amount of time
2.1.1.4 Threshold Algorithm required by each task changes.
In Threshold Algorithm (TA) tasks/processes are 3. The third class consists of problems in which
assigned immediately upon creation to the computing tasks are not available at the beginning but are
nodes (processors). Computing nodes for new processes generated dynamically.
are selected locally without sending remote messages.
Each node keeps a private copy of the systems load In static load balancing too much information about task
information. The load of a computing node can be and system is required before execution which is not
characterized by one of the three levels which are: under possible every time like in these three classes of
loaded, medium and overloaded. Two threshold problems. So Dynamic load balancing was developed to
parameters t_under and t_upper can be used to describe address these constraints.
these levels [5, 7]: Dynamic load balancing makes more informative load
balancing decisions during execution by the runtime
1. Under loaded: workload < t_under,
state information [1]. In dynamic load balancing
2. Medium : t_under workload t_upper,
algorithms work load is distributed among the
3. Overloaded: workload > t_upper.
processors at runtime. These algorithms monitor changes
In the initial stage, all the computing nodes are on the system work load and redistribute the work
considered under loaded. Whenever the load state of a accordingly.
computing node exceeds the load level threshold, then it
sends messages regarding the new load state to all of the Pros
other computing nodes, regularly updating them so that 1. Dynamic load balancing works well for
as the actual load state of the entire system can be known heterogeneous systems.
to every node. 2. Task can be redistributed to any processor while
If the local state is not overloaded then the process is run time hence overloading and under loading
allocated locally. Otherwise, a remote under loaded problems become minimum.
processor is selected, and if no such host exists, the 3. It works well for task having different execution
process is also allocated locally. time.
4. The system need not be aware of run-time
Pros behavior of the applications before execution.
1. It has low inter process communication.
2. Performance is improved because of large number of Cons
local process allocations which decreases the 1. High communication over heads occurs and
overhead of remote process allocations and remote becomes more when number of processors
memory accesses. increase.
2. Dynamic load balancing algorithms are complex
Cons hence not very easy to implement.
Whenever all remote processors are overloaded then all 3. System overhead increases because it is
processes are allocated locally causing two major preemptive.
problems:-

www.ijsret.org
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
744
Volume 4, Issue 7, July 2015

2.2.1 Categories of Dynamic Load Balancing Algorithms of Dynamic Load Balancing


In general, dynamic load-balancing algorithms can be There are three basic dynamic load balancing algorithms
broadly categorized as follows: which are as following:

a) Centralized or Decentralized 2.2.2.1 Central Queue Algorithm


In centralized approach, only one processor acts as the Central Queue Algorithm [9] stores new activities and
main or central controller (Master). Master node process unfulfilled requests in a cyclic FIFO queue on the main
or holds the collection of tasks to be performed. Master host. Each new activity arriving at the queue manager is
node has global view on the load information of all inserted into the queue. Then, whenever a request for an
nodes connected to it, and decides how to allocate jobs activity is received by the queue manager, it removes the
to each of the nodes. And rest of the nodes act as slaves first activity from the queue and sends it to the requester.
[10]. Tasks are sent to the slave processes for execution. If there are no ready activities in the queue, the request is
It has advantage of ease of implementation, but suffers buffered, until a new activity is available.
from single point of failure. When a processor load falls under the threshold, the
In Decentralized approach, all nodes in the system are local load manager sends a request for a new activity to
involved in making the load balancing decision. The the central load manager. The central load manager
state information is spread among all the nodes and answers the request immediately if a ready activity is
nodes are responsible in managing their own resources found in the process-request queue, or queues the
or allocating tasks residing in their queues to other request until a new activity arrives. This is a centralized
nodes. It is more scalable and has better fault tolerance. initiated algorithm and need high communication among
nodes.
b) Cooperative or Non-cooperative
If a distributed load balancing algorithm is adopted, the 2.2.2.2 Local Queue Algorithm
next issue that should be considered is whether the nodes This algorithm supports inter process migration. The
involved in the task scheduling process are working main concept in local queue algorithm is static allocation
cooperatively or independently (non-cooperatively). In of all new process with process migration initiated by
the non-cooperative approach, each node is independent the host when its load falls under the predefined
has autonomy over its own resource scheduling, that is, minimum number of ready processes (threshold limit).
decisions are made independently of the rest of the Initially, new processes created on the main host are
system and therefore the node may migrate or allocate allocated on all under loaded hosts. From then on, all the
tasks based on local performance. processes created on the main host and all other hosts are
In the cooperative scheme, each load balancing decision allocated locally [9, 2].
maker (scheduler) has the responsibility to carry out its When the local host gets under load it request for the
own portion of the scheduling task, but all schedulers are activities from the remote hosts. The remote hosts than
working toward a common system wide goal [5]. look up its local list for ready activities and compares the
local number of ready activities with the received
c) Adaptive or Non-Adaptive number. If the former is greater than the latter, then
Dynamic load balancing is said to be adaptive if some of the activities are passed on to the requestor host
scheduled decisions take into consideration past and and get the acknowledgement from the host.
current system performance and are affected by previous This is a distributed co-operative algorithms and requires
decisions or changes in the environment. inter-process communication but lesser as compared to
It is said to be non-adaptive if parameters used in load central queue algorithm.
balancing remain the same regardless of system's past
behavior. 2.2.2.3 Least Connection Algorithm
This algorithm decides the load distribution on the basis
d) Sender/Receiver/Symmetrical Initiated of connections present on a node [13]. The load balancer
Distribution of task in dynamic load balancing can be keeps track of the numbers of connections attached to
sender initiated, receiver initiated or symmetrical each node and selects the node with least number of
initiated. In sender initiated strategy, Congested nodes connections for load transfer. The number increases
attempt to move work towards under-loaded nodes. In when a new connection is established and decreases
receiver-initiated strategy, under-loaded nodes request when connection finishes or time out.
tasks to be sent to them from nodes with higher loads. In Least Connections methods work best in environments
the symmetric approach, both the under-loaded as well where the nodes have similar capabilities. Load
as the overloaded nodes may initiate load transfers. imbalance may be caused when the tasks are all of

www.ijsret.org
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
745
Volume 4, Issue 7, July 2015

different durations because Connection counting just g) Waiting Time: It is the time period spent waiting
doesnt account for that scenario very well. in the ready queue and should be less.
a) Nature: It tells whether algorithm is static or h) Centralized or decentralized: It tells whether
dynamic. algorithm is centralized or decentralized.
b) Overhead: It is amount of overheads like inter- i) Cooperative: It defines the extent of
process communication, migration of tasks etc. independence that each processor has in
involved while implementing the algorithm and concluding that how should it can use its own
should be minimum. resources.
c) Resource Utilization: It tells whether the j) Adaptability: It tells if algorithm can adapt to
algorithm is able to utilize all the resources changing situations.
optimally or not means less idle processors.
d) Process Migration: It tells when a system will 2.3 Comparison on different Algorithms
migrate its process. The algorithm is capable of The comparison of above given algorithms of static and
deciding when it should make changes of load dynamic load balancing considering the following
distribution during execution of process or not. parameters is as follows:
e) Fault Tolerant: It tells whether the algorithm can
work continuously in event of failure or not,
performance of algorithm is decreasing or not.
f) Response Time: It is time a distributed system
using a particular load balancing algorithm is
taking to respond and must be less.

Table1: Comparative analysis of load balancing algorithm. D- Decentralized, C- centralized

Algorithms Roun Randomize Central Threshol Central Local Least


d d Manage d Queue Queue Connecti
Parameters Robi r on
n
Static static Static dynamic dynamic dynamic Dynamic
Nature
Low low Low high high high High
Overhead
Less less Less less less more More
Resource Utilization
No no No no no yes No
Process Migration
No no Yes no yes yes No
Fault Tolerant
less less Least less more more Less
Response Time
more more More more less less Less
Waiting Time
D D D D C C D
Centralized/Decentrali
zed
less less Less less more more More
Adaptability

3. Summary of Load Balancing Algorithms well as some other frequently used algorithms of both
There are many other dynamic and static algorithms. approaches.
Here we have summarized all the above algorithms as

www.ijsret.org
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
746
Volume 4, Issue 7, July 2015

Table 2: Summary of Load Balancing Algorithms

Approaches Algorithms Key features Advantages Disadvantages


Assigns task No inter-process Not useful if tasks
sequentially. communication have varying
Round Robin Chooses Simple and easy to execution time.
computing implement. Not useful if nodes
nodes serially. Minimum system have different
overhead. capacities.
Weighted Round Tasks assigned Improvement over Not useful if tasks
Robin according to round robin. have different
their weights. Useful for nodes execution time.
Static of different
capacities.

Nodes selected No inter-process Maximum


Randomized randomly. communication. response time.
Useful for special Uneven load
purpose distribution.
applications.
Master node Useful when High inter-process
Central Manager selects slave dynamic tasks are communication.
nodes. created. Bottleneck state
Least load node arises.
is selected.
If load > Minimize remote Increased
Threshold threshold limit process execution time.
task is assigned. allocations. Disturbed load
Minimize remote balancing.
memory accesses.
Stores new task Useful for Single point of
in cyclic FIFO heterogeneous failure.
Central Queue queue. nodes. No inter process
Has main host. Tasks assigned task migration.
Receiver after execution.
initiated
balancing.
Inter-process Less inter-process
Local Queue task migration if communication.
load < threshold
limit.
Load migrated Useful for nodes Not useful for
Dynamic Least Connection to node with of similar tasks of different
least capabilities. durations.
connections.
Task migrated to Less
Nearest neighbor immediate communication
neighbor nodes. delay.
Symmetric Decentralized

www.ijsret.org
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
747
Volume 4, Issue 7, July 2015

initiated load nature.


balancing.
Task migrated to Simple and easy to Communication
randomly implement. overheads.
selected node if Poor utilization of
load > threshold. system resources.
Random Load
information not
exchanged.
Nodes have a Minimized Algorithm is not
load vector. communication scalable.
Load vector overhead.
Probabilistic shared
periodically
with random
nodes.
Load Simple More
information implementation communication
exchanged. overhead.
Sender initiated
load balance.
Threshold Task is accepted
if node has load
> threshold.
Master node All resources are Single point of
Centralized keeps load utilized. failure.
Information and information. Efficient Not scalable.
Centralized Maser node performance
Decision takes load results.
balancing
decisions.
Master node Less inclusion of Not always up-to-
Centralized keeps load message date.
Information and information. information. Greater overhead
Distributed Load balancing Robust nature. occurs.
Decision decision is
distributed.
Each node takes No single point of More
Distributed own load failure. communication
Information and balancing Efficient overhead
Distributed decision. performance. sometime.
Decision Load
information is
distributed.

4. CONCLUSION emerged and load balancing is solution to such issues.


In this paper we have taken review of concepts about Here we presented that load balancing distributes the
load balancing and various load balancing strategies. load evenly among nodes, hence increasing overall
Computing resources are rapidly developing, and performance. Then we studied various policies which
growing uses of heterogeneous system with parallel or should be considered while designing the load balancing
distributed computing issue of load imbalance has algorithm like information policy etc. Finally we

www.ijsret.org
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
748
Volume 4, Issue 7, July 2015

discussed Static and Dynamic load balancing strategies


with their respective algorithms and concluded that each [8] P. A. Tijare and Dr. P. R. Deshmukh, Schemes for
strategy has their own pros and cons and there exists no Dynamic Load Balancing A Review, International
absolutely perfect balancing algorithm but one can use Journal of Advanced Research in Computer Science and
depending on the need. Software Engineering 3(6), June - 2013, pp. 688-692

REFERENCES [9] William Leinberger, George Karypis and Vipin


[1] Mohsen and Hossein Delda, Balancing Load in a Kumar, "Load Balancing Across Near-Homogeneous
Computational Grid Applying Adaptive, Intelligent Multi-Resource Servers", 0-7695-0556- 2/00, 2000
Colonies of Ants, Informatica 32 (2008) 327335. IEEE.

[2] Sandeep Sharma, Sarabjit Singh, and Meenakshi [10] Mr.Gaurav Sharma and Jagjit Kaur Bhatia, A
Sharma, Performance Analysis of Load Balancing review on different approaches for load balancing in
Algorithms, World Academy of Science, Engineering computational grid, Journal of Global Research in
and Technology, 2008. Computer Science, Volume 4, No. 4, April 2013.

[3]http://en.wikipedia.org/wiki/Load_balancing_%28co [11] Sherihan Abu Elenin, and Masato Kitakami,


mputing%29. Performance Analysis of Static Load Balancing in Grid,
International Journal of Electrical & Computer Sciences,
[4]https://devcentral.f5.com/articles/intro-to-load- IJECS-IJENS, Vol: 11, No: 03,june 2011.
balancing-for-developers-ndash-the-algorithms.
[12]http://www.loadbalancerblog.com/blog/2013/06/loa
[5] S. F. El-Zoghdy and S. Ghoniemy, A Survey of d-balancing-scheduling-methods-explained.
Load Balancing In High-Performance Distributed
Computing Systems, International Journal of Advanced [13] Suriya and Prashanth, Review of load balancing in
Computing Research, Volume 1, 2014. cloud computing, IJCS, vol.10 issue.1, Jan 2013.

[6] Mr. Amitkumar S Manekar, Mr. Mukesh D [14] Javed hussain and Durgesh kumar mishra,
Poundekar, Prof. Hitesh Gupta and Prof. Malti Nagle, Analysis and investigation of nearest neighbor
A Pragmatic Study and Analysis of Load Balancing algorithm for load balancing, International Journal of
Techniques In Parallel Computing, International Emerging Trends & Technology in Computer Science,
Journal of Engineering Research and Application, Vol. Volume 2, Issue 6, November December 2013.
2, Issue4, July-August 2012, pp.1914-1918.
[15] Sherihan Abu Elenin and Masato Kitakami,
[7] Daniel Grousa and Anthony T., Non-Cooperative Performance Analysis of Static Load Balancing in
load balancing in distributed systems, Journal of Grid, International Journal of Electrical & Computer
Parallel and Distributing Computing, 2005. Sciences, Vol: 11, No: 03, June 2011.

www.ijsret.org

You might also like