Sie sind auf Seite 1von 6

International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 8- August 2013

ISSN: 2231-5381 http://www.ijettjournal.org Page 3713



An Effective Dynamic Load Balancing Algorithm
for Grid System
Prakash Kumar
#1
, Pradeep Kumar
#2
, Vikas Kumar
*3

1,2
Department of CSE, NIET, MTU University, Noida, India
3
Linux Administrator, Eurus Internetworks Pvt. Ltd, Delhi, India

Abstract Grid computing is a promising technology that
involves coordinate and involvement of resources to carry out
multifarious computational problems. One of the major issues in
distributed systems is to design of an efficient dynamic load
balancing algorithm that improves the overall performance of
the distributed systems. Scheduling and resource management
plays a decisive role in achieving high utilization of resources in
grid computing environments. Load balancing is the process of
distributing the load among various nodes of a distributed
system to improve both job response time and resource
utilization while also avoiding a situation where some of the
nodes are heavily loaded while other nodes are idle or lightly
loaded. The GridSim toolkit allows modeling and simulation of
entities in parallel and distributed computing systems-users,
applications, resources, and resource schedulers for design and
evaluation of scheduling algorithms.

Keywords Grid computation, Dynamic Load balancing,
Scheduling, Cluster, Throughput, GAP Search

I. INTRODUCTION
Grid technologies develop quickly on Internet,
research related to resource allocation and task
scheduling faces new opportunities and challenges
[3]. A computational grid is less expensive than
purchasing more computational resources while
obtaining the same amount of computational power
for their computational tasks [2]. Grid is a type of
distributed system which supports the sharing and
coordinated use of geographically distributed and
multi owner Resources, independently from their
physical type and location, in dynamic virtual
organizations [1]. Grid resources are distributed
geographically in a large-scale way and resource
performance changes quickly over time. Grid tasks
from users require resources with different QoS
requirements [5]. Dynamic load balancing
algorithms can be classified into three categories:
Sender Initiated (SI), Receiver Initiated (RI), and
Periodically Exchanged (PE). In the SI algorithms,
a heavily loaded node initiates the load balancing
by requesting the load information of other nodes
and sending out its jobs to the lightly loaded nodes
[17]. The load balancing algorithm can be divided
into two kinds, centralized and distributed, by the
decision information acquisition range. In a
centralized load-balancing algorithm, the global
load information is collected at a single processor,
called the central scheduler. This scheduler will
make all the load balancing decisions based on the
information that is sent from other processors. In
decentralized load-balancing, each processor in the
system will broadcast its load information to the
rest of the processors so that locally maintained
load information tables can be updated [9]. Almost
all scheduling strategies in distributed systems
depend on load status and locations of the system
nodes [10]. Grid architecture is protocol
architecture, with protocols defining the basic
mechanisms by users and resources negotiate,
establish, manage and exploit sharing relationships.
Grid architecture is also a services standards based
open architecture that facilitates extensibility,
interoperability, portability and code sharing. Grid-
Level consists of a collection of interconnected
clusters.
II. PREVIOUS WORK
Load balancing algorithms is totally dependent upon in
which situations workload is assigned, during compile time or
execution time. dynamic load balancing algorithms are always
better than static as per as overload rejection, reliability,
adaptability, cooperativeness, fault tolerant, resource
utilization, response & waiting time and throughput is concert
[12]. With increasing number of nodes in the systemdue to
large number of resources used by user the previous load
balancing algorithms failed to performefficiently to provide
greater performance with efficient work distribution [13]. The
symmetrically initiated algorithmgenerally works better holds
true for almost all cases [16]. The use of a central scheduler
was also effective as it can handle all load-balancing decisions
with minimal inter processor communication [9]. The
portability of the method for different kinds of applications
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 8- August 2013

ISSN: 2231-5381 http://www.ijettjournal.org Page 3714

with different kinds of meshes, and the number of parameters
that must be set to obtain optimal performance from the
method [8]. Each processor can send tasks to any of its
neighboring processors without having any prior knowledge
of the system [6]. There are several heuristics algorithms have
been proposed to minimize the total completion time of the
tasks in grid systems [4].
III. DYNAMIC LOAD BALANCING
A Load balancing is one of the most important problems in
attaining high performance in distributed systems which may
consist of many heterogeneous resources connected via one or
more communication networks [7]. Load balancing is a
technique to enhance resources, utilizing parallelism,
exploiting throughput improvisation, and to reduce response
time through an appropriate distribution of the application.
Load balancing algorithms are defined by two types such as
static and dynamic load balancing algorithms to allocate the
tasks of a parallel program to workstations [1]. Design
objective able to dynamically regulate task allocation to each
processor according to changes in the systemload, optimize
the utilization of processor resources. Minimize the effect on
the working performance of the processor. The node processor
in the algorithmis defined into the four states as follows:
Heavy load, Light load, Busy, No load [17].

Figure 1: Different status of Nodes
Load balancing for a parallel system is one of the most
important problems which has to be solved in order to enable
the efficient use of parallel computer systems. This problem
can be compared to problems arising in natural work
distribution processes like that of scheduling all tasks needed
to construct a large building. Several objectives have to be
taken into consideration:
i. The whole work should be completed as fast as possible.
ii. The work should be distributed fairly. About the same
amount of work should be assigned to every worker.
iii. As workers are very expensive, they should be kept busy.
If there is only little work to do, the distribution of the
tasks has to be planned very well.
iv. There are precedence constraints between different
tasks.
The goal here is to minimize the execution time of a single
application running in parallel.

Figure 2: Dynamic Load balancing to avoid overload on
heavily loaded node
Load balancing can be achieved through static load
partitioning and dynamic load balancing policies for clusters
of heterogeneous multiprocessors. In static load partitioning
policies, the amount of work assigned to a processor is
proportional to its processing capacity and remains the same
throughout the duration of the job. As shown in Figure 2,
initially processes are stored in queue or process can be
allotted as they arrive. If these are placed in queue, processes
are allotted one by one to primary nodes. Processes are
migrated fromheavily loaded node to light weighted node
[11]. The circumstances determining the optimal balance
change frequently or continuously during execution, so that
the cost of the load balancing calculation after each change
should be minimized in addition to optimizing the splitting of
the actual calculation [8].
IV. LOAD BALANCING ALGORITHMS
According to the location policy decentralized algorithmis
classified into sender-initiated algorithms, receiver-initiated
algorithms and symmetrically-initiated algorithms.
A. Sender-Initiated Algorithm:
Sender initiated algorithms let the heavily loaded nodes
take the initiative to request the lightly loaded nodes to receive
the jobs .There are three basic decisions that need to be made
before a transfer of a job can take place:
i. Transfer policy: When does a node become the sender?
ii. Selection policy: How does a sender choose a job for
transfer?
iii. Location policy: What node should be the target receiver?
A sender can use a transfer policy that initiates the algorithm
when detecting that its queue length (SQ) has exceeded a
certain threshold (ST) upon the arrival of a new job.
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 8- August 2013

ISSN: 2231-5381 http://www.ijettjournal.org Page 3715


Figure 3: Flowchart of Sender-Initiated Algorithm
Upon receiving this information, the sender can select the
node with the smallest queue length (RQ) as the target
receiver, provided that the queue length of the sender (SQ) is
greater than the queue length of the target receiver (RQ) [16].
B. Receiver-Initiated Algorithm:
Receiver initiated algorithms let the lightly loaded nodes
invite heavily loaded nodes to send their jobs. It can use a
similar transfer policy of the sender-initiated algorithm, which
activates the pull operation when its queue length falls below
a certain threshold (RT), upon the departure of a job.

Figure 4: Flowchart of Receiver-Initiated Algorithm
Similarly multicasting can be used to implement the
location policy that identifies. On average the receiver-
initiated algorithmperforms better than the sender-initiated
algorithm[16].
C. Symmetrically- Initiated Algorithm:
Symmetrically initiated algorithms combine the
advantages of both sender and receiver initiated algorithms. A
node can activate the sender initiated algorithms when its
queue size exceeds one threshold ST, and can activate the
receiver-initiated algorithmwhen its queue size falls below
another threshold RT [16].
V. PROBLEM STATEMENT
Grid Computing should enable the job in question to be run
on an idle machine elsewhere on the network. Grids
functionally bring together globally distributed computers and
information systems for creating a universal source of
computing power and information. Multicomputer with
dynamic load balancing allocate or reallocate resources at
runtime based on task information, which may determine
when and whose tasks can be migrated [1]. The case if central
node is out of order then at that moment over all load
balancing algorithms is fail. Static load balancing algorithms
allocate the tasks of a parallel programto workstations based
on either the load at the time nodes are allocated to some task,
or based on an average load of our workstation cluster. In
order to utilize these dynamic resources and jobs optimally, a
scheduling strategy should be able to continually adapt to the
changes and properly distribute the workload and data
amounts scheduled to each node.
VI. PROPOSED METHODOLOGY
There are two types of node- Primary and supporting nodes.
Primary are main nodes and supporting are used to handle
overload. When a Primary Node is overloaded, it will search
other primary node (light weighted) within a cluster if such
node is found; overloaded primary node will maintain the load
balancing with available primary node [11].
Algorithm Initialization: N number of tasks that have to be
scheduled and workload w
t
(x) of tasks are submitted to M
number of processors.
Task Scheduling: Scheduler allocates number of demanded
tasks to M number of processors based on fair completion
time of each task.
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 8- August 2013

ISSN: 2231-5381 http://www.ijettjournal.org Page 3716


Figure 5: Flowchart of the Algorithm
Load Balancing Algorithm: It applied when the processor
task allocation is excessive than the other after scheduling the
task.
Balancing criterion: Rescheduled the task for upper bound
and lower bound processor based on W
t
(x).
Termination: This process is repeated until all the processor
is balanced. Finally, obtain the optimal solution from the
above process.
Based on the study of load balancing techniques in Grid
environment, we will propose a technique which dynamically
balances the load. The rules generated by data mining
techniques will be used for migration of jobs for load
balancing. Load balancing will take place when some change
occurs in the load situation. An efficient load balancing
algorithm namely Sender-Initiated Load Balancing (SI-LB)
for grid will be presented where the availability of jobs and
resources is dynamic. Based on the load information SI-LB
chooses most suitable node for each job, thereby minimizing
job execution time and maximizing systemthroughput. Load
information, generally defined in term of load index is
necessary condition of SI-LB algorithm. The load at each
computing node contributes to the overall load of the cluster
and can be determined as: CPU utilization, CPU speed and
queue length. The load index is determined dynamically and
the weighted sumof squares method is used to calculate the
load at each computing node. New resources may join the
Grid and on the other hand, some resources may become
unavailable. Resource managers must tailor their behaviour
dynamically so that they can extract the maximum
performance fromthe available resources and services. Grid
architecture identifies the fundamental system components,
specifies purpose and function of these components, and
indicates how these components interact with each other. The
distribution of tasks is dynamically determined, that is, the
specific application programrunning on the machine cannot
be developed with a priori estimates of the load distribution
[14]. Dynamic load distribution systems typically monitor the
workload and hosts for any factors that may affect the choice
of the most appropriate assignment and distribute jobs
accordingly. This very difference between static and dynamic
forms of load distribution is the source of the power and
interest in dynamic load distribution [15].
VII. EXPERIMENTAL RESULTS
Through simulation experiments, it is seen that the Sender-
Initiated Load Balancing algorithmprovides shorter response

Figure 6: The number of requested and used
CPUs in previous algorithm

time, enhances the resource utilization and balances the
load in an effective manner.
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 8- August 2013

ISSN: 2231-5381 http://www.ijettjournal.org Page 3717


Figure 7: The number of requested and used CPUs in
proposed algorithm
For simulating the result, we used GridSimtoolkit which is
a Grid simulator toolkit that provide a comprehensive facility
for the simulation of different classes of heterogeneous
resources, users, applications, resource brokers, and
schedulers. It has facilities for the modelling and simulation of
resources and network connectivity with different capabilities,
configurations, and domains.

Figure 8: Comparison of the Cluster user per hour in a
day
The experimental result shows the comparison with respect to
the number of requested and used CPUs in previous algorithm
and proposed algorithmand it is seen that proposed algorithm
is better as shown in the Figure 6 and Figure 7. Figure 8
shows the improvement of the cluster usage per hour [%] in a
day.
VIII. CONCLUSIONS AND FUTURE SCOPE
Workload and resource management are two essential
functions provided at the service level of the Grid system. To
improvement in global throughput need, effective and
efficient load balancing are fundamentally important. We also
check that what type of scheduling policy is used by that
algorithm, because an efficient scheduling policy can utilize
the computational resources efficiently by allowing multiple
independent jobs to run over a network of heterogeneous
clusters. The experimental result shows the better performance
of proposed algorithm and for future work we can enhance it
with more effective resource utilization using better
scheduling approach.

ACKNOWLEDGMENT
Would like to place on record my deep sense of gratitude to
Dr. Prashant Singh, HOD, NIET, Greater Noida; who
introduced me to Linguistics, and whose enthusiasmfor the
underlying structures had lasting effect. Without his
guidance and persistent help this dissertation would not have
been possible.
I am extremely thankful to Prof. Ajay Kumar, Dean,
NIET, Greater Noida, for providing me infrastructural
facilities to work in, without which this work would not have
been possible.
REFERENCES
[1] V.P Narkhede, S.T. Khandare, "Fair Scheduling Algorithm with
Dynamic Load Balancing Using in Grid Computing", International
J ournal of Engineering and Science, Volume 2, Issue 10, April 2013.
[2] U. Karthick Kumar, "A Dynamic Load Balancing Algorithm in
Computational Grid Using Fair Scheduling", International J ournal of
Computer Science Issues, Volume 8 ,Issue 5, September 2011.
[3] Bin Lu, Hongbin Zhang, "Grid Load Balancing Scheduling Algorithm
Based on Statistics Thinking",9th International Conference for Young
Computer Scientists,IEEE,2008.
[4] Fahd Alharbi, "Simple Scheduling Algorithm with Load Balancing for
Grid Computing", Asian Transactions on Computers, Volume 2, Issue
2, May 2012.
[5] J unwei Cao, Daniel P. Spooner, Stephen A J arvis, GrahamR. Nudd,
"Grid Load Balancing Using Intelligent Agents", ACM, Volume 21,
Issue 1, J anuary 2005.
[6] C. Barmon, M.N. Faruqui, G.P. Battacharjee, "Dynamic Load
Balancing Algorithm in a Distributed System", Elsevier, Volume
29,Issue 5, March 1991.
[7] Satish Penmatsa, Anthony T. Chronopoulos, "Dynamic Multi-User
Load Balancing in Distributed Systems", IEEE, 2007.
[8] Roy D. Williams, "Performance of Dynamic Load Balancing
Algorithms for Unstructured Mesh Calculations", Concurrent
Supercomputing facilities, J une 1990.
[9] Albert Y. Zomaya, Yee-Hwei Teh, "Observation on Using Genetic
Algorithms for Dynamic Load Balancing", IEEE, Volume 12, Issue 9,
September 2001.
[10] Ahmad Dalal'ah, "A Dynamic Sliding Load Balancing Strategy in
Distributed Systems", The International Arab J ournal of Information
Technology, Volume 3, Issue 2, April 2006.
[11] Parveen J ain, Daya Gupta, "An Algorithm for Dynamic Load Balancing
in Distributed Systems with Multiple Supporting Nodes by Exploiting
the Interrupt Service", International J ournal of Recent Trends in
Engineering, Volume 1, Issue 1, May 2009.
[12] Abhijit A. Rajguru, S.S. Apte, "A Comparative Performance Analysis
of Load Balancing Algorithms in Distributed System using Qualitative
Parameters", International J ournal of recent Technology and
Engineering, Volume 1, Issue 3, August 2012.
[13] Urjashree Patil, Rajashree Shedge, "Improved Hybrid Dynamic Load
Balancing Algorithm for Distributed Environment", International
International Journal of Engineering Trends and Technology (IJETT) Volume 4 Issue 8- August 2013

ISSN: 2231-5381 http://www.ijettjournal.org Page 3718

J ournal of Scientific and Research Publications, Volume 3, Issue 3,
March 2013.
[14] Bhaskar Ghosh, S. Muthukrishnan, "Dynamic Load Balancing in
Parallel and Distributed Networks by Random matching", ACM, May
1994.
[15] Rose Suleiman, Al Dahoud Ali, Issa Otoum, "Dynamic Rotating Load
Balancing Algorithm in Distributed Systems", International Conference
on Information technology and Natural Sciences, 2003.
[16] Toufik Taibi, Abdelouahab Abid, Engku Fariez Engku Azahan ,"A
Comparison of Dynamic load Balancing Algorithms", J.J Appl.
Science, Volume 9, Issue 2, 2007.
[17] Mohammad Haroon, Mohammad Husain, "Analysis of a Dynamic
Load Balancing in Multiprocessor System", International J ournal of
Computer Science engineering and Information Technology Research,
Volume 3, Issue 1, March 2013.

BIBLIOGRAPHY

Prakash Kumar


The author pursuing his M.tech
in Computer Science and
Engineering from Mahamaya
Technical University, Noida. He
has completed his Bachelor of
Engineering in Computer
Science and Engineering from
Rajasthan University with HONS
division. He has industrial
experience of 2 years as a
Software Engineer.

Pradeep Kumar

The author is working as Asst.
Professor in Computer Science
and Engineering department at
Noida Institute of Engineering
and technology. He has
completed his M.tech fromBIT,
Mesra and currently pursuing his
PHD. He has 8 years working
experience.

Vikas Kumar


The author is working as Linux
Administrator at Eurus
Internetworks Pvt. Ltd, Delhi and
having 3 year experience. He has
completed his Bachelor of
technology from Rajasthan
Technical university in 2010. He
has got certified in Red Hat
Linux 5.

Das könnte Ihnen auch gefallen