Professional Documents
Culture Documents
Saurabh Gupta
Pranveer Singh Institute of Technology
Kanpur, U.P. (208020)
U.P.T.U., Lucknow
Abstract
Over the past three decade, parallel and distributed
computing witnessed major growth due to the declined
cost of hardware, advancement in communication
technology, explosive growth of internet and need to
solve large-scale problems. These systems often face the
problem of load imbalance, which can degrade the
performance of the system. Load balancing improves the
system performance by dividing the work load
effectively among the participating computers/nodes.
This paper presents various aspects of load balancing
and explains various load balancing approaches and
strategies and their respective algorithms.
Keywords: Load balancing, Thresholding, Migration,
Distributed Systems.
1. INTRODUCTION
Outstanding progress in computer technology has lead to
the rise of the demand of high speed processing and the
need of high scalability, availability and rapid response.
This resulted in use of parallel and distributed computing
systems where more than one processor processes the
job simultaneously. One of the main research issues in
parallel and distributed system is effective strategy to
distribute workload among multiple processors. Load
balancing is used for minimizing the response time,
maximizing the throughput, and to avoid the overload.
Load balancing is to ensure that every processor in the
system does approximately the same amount of work at
any point of time [2].
1.1
Load Balancing
Load balancing is the process of distribution or
redistribution of load among processor therefore
improving the performance of the system. In computing,
load balancing distributes workload across multiple
computing resources, such as computers, a computer
cluster, network links, or central processing units. Load
balancing
aims
to
optimize
resource
use,
maximize throughput, minimize response time, and
avoid overload of any single resource [3].
www.ijsret.org
741
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 4, Issue 7, July 2015
1.1.4
Pros
1. It has minimum communication delays.
2. Algorithms are simple and easy to implement.
3. System overhead is minimized.
Cons
1. Task cannot be migrated while execution.
2. Overall performance of system decreased due to
load fluctuations.
3. Less useful when task have different execution
time and nodes are heterogeneous.
2.1.1 Algorithms of Static Load Balancing
Among various proposed algorithms major static load
balancing algorithms are as follows:
2.1.1.1 Round Robin Algorithm
Round Robin Algorithm (RRA) assigns tasks
sequentially and evenly to all the nodes. All tasks are
assigned to computing nodes based on Round Robin
order, meaning that computing nodes choosing is
performed in series and will be back to the first
computing node if the last computing node has been
reached [5]. Each node maintains its load index locally
independent of allocations from remote node.
Pros
1. Inter-process communication is not required.
2. Useful for jobs of equal processing time and
nodes of same capabilities.
Cons
1. Not useful when tasks have unequal processing
time.
2. Not useful when nodes have different capacities.
2.1.1.2 Randomized Algorithm
Randomized Algorithm (RA) uses random numbers in
selecting computing nodes for processing, without
having any information about the current or previous
load on the node. The computing nodes are selected
randomly following random numbers generated based on
a statistic distribution [5, 1].
Pros
1. It works well for particular special purpose
applications.
2. No inter process communication is required.
Cons
1. It is not considered elegant solution.
2. Maximum response time among all algorithms.
2.1.1.3 Central Manager Algorithm
In each step in Central Manager Algorithm (CMA),
central node selects slave node to be assigned a task.
www.ijsret.org
742
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 4, Issue 7, July 2015
www.ijsret.org
743
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 4, Issue 7, July 2015
a) Centralized or Decentralized
In centralized approach, only one processor acts as the
main or central controller (Master). Master node process
or holds the collection of tasks to be performed. Master
node has global view on the load information of all
nodes connected to it, and decides how to allocate jobs
to each of the nodes. And rest of the nodes act as slaves
[10]. Tasks are sent to the slave processes for execution.
It has advantage of ease of implementation, but suffers
from single point of failure.
In Decentralized approach, all nodes in the system are
involved in making the load balancing decision. The
state information is spread among all the nodes and
nodes are responsible in managing their own resources
or allocating tasks residing in their queues to other
nodes. It is more scalable and has better fault tolerance.
b) Cooperative or Non-cooperative
If a distributed load balancing algorithm is adopted, the
next issue that should be considered is whether the nodes
involved in the task scheduling process are working
cooperatively or independently (non-cooperatively). In
the non-cooperative approach, each node is independent
has autonomy over its own resource scheduling, that is,
decisions are made independently of the rest of the
system and therefore the node may migrate or allocate
tasks based on local performance.
In the cooperative scheme, each load balancing decision
maker (scheduler) has the responsibility to carry out its
own portion of the scheduling task, but all schedulers are
working toward a common system wide goal [5].
c) Adaptive or Non-Adaptive
Dynamic load balancing is said to be adaptive if
scheduled decisions take into consideration past and
current system performance and are affected by previous
decisions or changes in the environment.
It is said to be non-adaptive if parameters used in load
balancing remain the same regardless of system's past
behavior.
d) Sender/Receiver/Symmetrical Initiated
Distribution of task in dynamic load balancing can be
sender initiated, receiver initiated or symmetrical
initiated. In sender initiated strategy, Congested nodes
attempt to move work towards under-loaded nodes. In
receiver-initiated strategy, under-loaded nodes request
tasks to be sent to them from nodes with higher loads. In
the symmetric approach, both the under-loaded as well
as the overloaded nodes may initiate load transfers.
www.ijsret.org
744
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 4, Issue 7, July 2015
Roun
d
Robi
n
Static
Randomize
d
Central
Manage
r
Threshol
d
Central
Queue
Local
Queue
Least
Connecti
on
static
Static
dynamic
dynamic
dynamic
Dynamic
Low
low
Low
high
high
high
High
Less
less
Less
less
less
more
More
No
no
No
no
no
yes
No
No
no
Yes
no
yes
yes
No
less
less
Least
less
more
more
Less
more
more
More
more
less
less
Less
less
less
Less
less
more
more
More
Nature
Overhead
Resource Utilization
Process Migration
Fault Tolerant
Response Time
Waiting Time
Centralized/Decentrali
zed
Adaptability
www.ijsret.org
745
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 4, Issue 7, July 2015
Algorithms
Key features
Assigns
task
sequentially.
Chooses
computing
nodes serially.
Round Robin
Weighted Round
Robin
Tasks assigned
according
to
their weights.
Nodes selected
randomly.
Static
Randomized
Central Manager
Master
node
selects
slave
nodes.
Least load node
is selected.
If
load
>
threshold limit
task is assigned.
Disadvantages
No inter-process
communication
Simple and easy to
implement.
Minimum system
overhead.
Improvement over
round robin.
Useful for nodes
of
different
capacities.
No inter-process
communication.
Useful for special
purpose
applications.
Useful
when
dynamic tasks are
created.
Maximum
response time.
Uneven
load
distribution.
Minimize remote
process
allocations.
Minimize remote
memory accesses.
High inter-process
communication.
Bottleneck state
arises.
Increased
execution time.
Disturbed
load
balancing.
Receiver
initiated
balancing.
Inter-process
task migration if
load < threshold
limit.
Useful
for
heterogeneous
nodes.
Tasks
assigned
after execution.
Single point of
failure.
No inter process
task migration.
Load migrated
to node with
least
connections.
Task migrated to
immediate
neighbor nodes.
Symmetric
Less
communication
delay.
Decentralized
Threshold
Central Queue
Local Queue
Dynamic
Advantages
Least Connection
Nearest neighbor
www.ijsret.org
Less inter-process
communication.
746
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 4, Issue 7, July 2015
Random
Probabilistic
Threshold
Centralized
Information and
Centralized
Decision
Centralized
Information and
Distributed
Decision
Distributed
Information and
Distributed
Decision
initiated
load
balancing.
Task migrated to
randomly
selected node if
load > threshold.
Load
information not
exchanged.
Nodes have a
load vector.
Load
vector
shared
periodically
with
random
nodes.
Load
information
exchanged.
Sender initiated
load balance.
Task is accepted
if node has load
> threshold.
Master
node
keeps
load
information.
Maser
node
takes
load
balancing
decisions.
Master
node
keeps
load
information.
Load balancing
decision
is
distributed.
Each node takes
own
load
balancing
decision.
Load
information is
distributed.
4. CONCLUSION
In this paper we have taken review of concepts about
load balancing and various load balancing strategies.
Computing resources are rapidly developing, and
growing uses of heterogeneous system with parallel or
distributed computing issue of load imbalance has
nature.
Communication
overheads.
Poor utilization of
system resources.
Minimized
communication
overhead.
Algorithm is not
scalable.
Simple
implementation
More
communication
overhead.
performance
results.
Single point
failure.
Not scalable.
Less inclusion of
message
information.
Robust nature.
No single point of
failure.
Efficient
performance.
More
communication
overhead
sometime.
of
www.ijsret.org
747
International Journal of Scientific Research Engineering & Technology (IJSRET), ISSN 2278 0882
Volume 4, Issue 7, July 2015
[3]http://en.wikipedia.org/wiki/Load_balancing_%28co
mputing%29.
REFERENCES
[4]https://devcentral.f5.com/articles/intro-to-loadbalancing-for-developers-ndash-the-algorithms.
[5] S. F. El-Zoghdy and S. Ghoniemy, A Survey of
Load Balancing In High-Performance Distributed
Computing Systems, International Journal of Advanced
Computing Research, Volume 1, 2014.
[6] Mr. Amitkumar S Manekar, Mr. Mukesh D
Poundekar, Prof. Hitesh Gupta and Prof. Malti Nagle,
A Pragmatic Study and Analysis of Load Balancing
Techniques In Parallel Computing, International
Journal of Engineering Research and Application, Vol.
2, Issue4, July-August 2012, pp.1914-1918.
[7] Daniel Grousa and Anthony T., Non-Cooperative
load balancing in distributed systems, Journal of
Parallel and Distributing Computing, 2005.
[12]http://www.loadbalancerblog.com/blog/2013/06/loa
d-balancing-scheduling-methods-explained.
[13] Suriya and Prashanth, Review of load balancing in
cloud computing, IJCS, vol.10 issue.1, Jan 2013.
[14] Javed hussain and Durgesh kumar mishra,
Analysis and investigation of nearest neighbor
algorithm for load balancing, International Journal of
Emerging Trends & Technology in Computer Science,
Volume 2, Issue 6, November December 2013.
[15] Sherihan Abu Elenin and Masato Kitakami,
Performance Analysis of Static Load Balancing in
Grid, International Journal of Electrical & Computer
Sciences, Vol: 11, No: 03, June 2011.
www.ijsret.org
748