(IJCSIS) International Journal of Computer Science and Information Security

,
Vol. 6, No. 1, 2009
A New Fuzzy Approach for Dynamic Load
Balancing Algorithm
Abbas Karimi
1,2,3
, Faraneh Zarafshan
1,3
, Adznan b. Jantan
1
,
A.R. Ramli
1
, M. Iqbal b.Saripan
1
1
Department of Computer Systems Engineering, Faculty of Engineering, UPM, Malaysia
2
Computer Department, Faculty of Engineering, IAU, Arak, Iran
3
Young Researchers’ Club, IAU, Arak, Iran
akarimi @iau-arak.ac.ir
Abstract— Load balancing is the process of improving the
Performance of a parallel and distributed system through is
distribution of load among the processors[1-2]. Most of the
previous work in load balancing and distributed decision
making in general, do not effectively take into account the
uncertainty and inconsistency in state information but in fuzzy
logic, we have advantage of using crisps inputs. In this paper,
we present a new approach for implementing dynamic load
balancing algorithm with fuzzy logic, which can face to
uncertainty and inconsistency of previous algorithms, further
more our algorithm shows better response time than round
robin and randomize algorithm respectively 30.84% and
45.45%.
Keywords- Load balancing, Fuzzy logic, Distributed systems.
I. INTRODUCTION
Distributed computing systems have become a natural
setting in many environments for business and academia.
This is due to the rapid increase in processor and/or memory
hungry applications coupled with the advent of low-cost
powerful workstations[3].
In a typical distributed system setting, tasks arrive at the
different nodes in a random fashion. This causes a situation
of non-uniform loading across the system nodes to occur.
Loading imbalance is observed by the existence of nodes that
are highly loaded while others are lightly loaded or even idle.
Such situations are harmful to the system performance in
terms of the mean response time of tasks and resource
utilization[3].
A system [4-5] of distributed computers with tens or
hundreds of computers connected by high-speed networks
has many advantages over a system that has the same
standalone computers. A distributed system provide the
resource sharing as one of its major advantages, which
provide the better performance and reliability than any other
traditional system in the same conditions[1].
Section II describes the load balancing and the kinds of
its models. In section III, we explain and demonstrate our
model, then in section IV, we explain the methodology and
fuzzy rules. The evaluation of performance is inspected in
section V and finally we describe the conclusion.
II. LOAD BALANCING
In computer networking, load balancing is a technique to
spread work between two or more computers, network links,
CPUs, hard drives, or other resources, in order to get optimal
resource utilization, throughput, or response time. Using
multiple components with load balancing, instead of a single
component, may increase reliability through redundancy.
Load balancing attempts to maximize system throughput by
keeping all processors busy Load balancing is done by
migrating tasks from the overloaded nodes to other lightly
loaded nodes to improve the overall system performance.
Load balancing algorithms are typically based on a load
index, which provides a measure of the workload at a node
relative to some global average, and four policies, which
govern the actions taken once a load imbalance is
detected[6]. The load index is used to detect a load
imbalance state. Qualitatively, a load imbalance occurs
when the load index at one node is much higher (or lower)
than the load index on the other nodes. The length of the
CPU queue has been shown to provide a good load index on
timeshared workstations when the performance measure of
interest is the average response time[7-8]. In the case of
multiple resources (disk, memory, etc.), a linear
combination of the length of all the resource queues
provided an improved measure, as job execution time may
be driven by more than CPU cycles[9-10] .
The four policies that govern the action of a load-balancing
algorithm when a load imbalance is detected deal with
information, transfer, location, and selection. The
information
Policy is responsible for keeping up-to-date load
information about each node in the system. A global
information policy provides access to the load index of
every node, at the cost of additional communication for
maintaining accurate information[5, 10].
The transfer policy deals with the dynamic aspects of a
system. It uses the nodes’ load information to decide when a
node becomes eligible to act as a sender (transfer a job to
another node) or as a receiver (retrieve a job from another
node). Transfer policies are typically threshold based. Thus,
1 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 6, No. 1, 2009
if the load at a node increases beyond a threshold Ts, the node
becomes an eligible sender. Likewise, if the load at a node
drops below a threshold, the node becomes an eligible
receiver
The location policy selects a partner node for a job transfer
transaction. If the node is an eligible sender, the location
policy seeks out a receiver node to receive the job selected
by the selection policy (described below). If the node is an
eligible receiver, the location policy looks for an eligible
sender node[10].
Once a node becomes an eligible sender, a selection policy
is used to pick which of the queued jobs is to be transferred
to the receiver node. The selection policy uses several
criteria to evaluate the queued jobs. Its goal is to select a job
that reduces the local load, incurs as little cost as possible in
the transfer, and has good affinity to the node to which it is
transferred. A common selection policy is latest-job arrived
which selects the job which is currently in last place in the
work queue[10].
There are two types of load balancing algorithms:
A. Static Load-Balancing
In this method, the performance of the nodes is
determined at the beginning of execution. Then depending
upon their performance the workload is distributed in the
start by the master node. The slave processors calculate their
allocated work and submit their result to the master. A task is
always executed on the node to which it is assigned that is
static load balancing methods are non-preemptive. A general
disadvantage of all static schemes is that the final selection of
a host for process allocation is made when the process is
created and cannot be changed during process execution to
make changes in the system load[1]. Major load balancing
algorithms are Round Robin[11] and Randomized
Algorithms[12], Central Manager [13]Algorithm and
Threshold[1, 14] Algorithm.
B. Dynamic Load-Balancing
It differs from static algorithms in that the workload is
distributed among the nodes at runtime. The master assigns
new processes to the slaves based on the new information
collected[4, 15]. Unlike static algorithms, dynamic
algorithms allocate processes dynamically when one of the
processors becomes under loaded. Instead, they are buffered
in the queue on the main host and allocated dynamically
upon requests from remote hosts[1]. This method is consisted
of Central Queue Algorithm and Local Queue
Algorithm[16].
Load balancing algorithms work on the principle that in
which situation workload is assigned, during compile time or
at runtime. Comparison shows that static load balancing
algorithms are more stable compare to dynamic. It is also
ease to predict the behavior of static, but at the same time,
dynamic distributed algorithms are always considered better
than static algorithms[1].
III. SYSTEM MODEL
We have a distributed network consists of n node which
every node may be a complex combination of multiple types
of resources (CPUS, memory, disks, switches, and so on)
and the physical configurations of resources for each node
may be heterogeneous. This heterogeneity can be manifested
in two ways[17]. The amount of a given resource at one node
site may be quite different from the configuration of a node
at another site. Additionally, nodes may have different
balance of each resource. For example, one node may have a
(relatively) large memory with respect to its number of CPUs
while another node may have a large number of CPUs with
less memory [18-19].
As in Fig. 1 illustrated, our system model is involved
Routing table, Load index, Cost table and a fuzzy controller,
which manages Load balancing of system.
The routing table presents the communication links
among nodes in the system. Load index indicates the load of
its related node, which is used by the policies in section II. In
order to determine the node status as a sender, receiver or
neutral by using fuzzy controller and based on fuzzy rules,
we need a cost table that provides the nodes communication
costs and the number of heavy loaded nodes. The cost table
is obtained by using load index and routing table while the
number of heavy loaded nodes can be extracted from the cost
table.
IV. METHODOLOGY
Load index value based on a given threshold is classified
into five categories and is defined between 0 to w and
threshold is s. Five Fuzzy sets (Fig.2) are used to describe the
load index value: very lightly loaded, lightly loaded,
moderate loaded, heavy loaded and very heavy loaded.
Variables for load index take grade values of Fuzzy variables
are uncertainties and depends on network situation it can be
changed.
Routing table
Load index
Cost table
Load Balancer
Fuzzy Controller
Fig.1:System model
2 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
Fig.2: Fuzzy Index load chart
μ
veiylightlyloau
(loau) =
1
q − loau
q − p
p
u loau
μ
lightly loau
(loau) =





u loau <
loau − p
q − p

1
s − loau
s − i

μ
moueiate loau
(loau) =





u loau <
loau − i
s − i

t − loau
t − s

μ
veiyheavy loau
(loau) =





u loau <
loau − s
t − s

1
v − loau
v − u

μ
heavyloau
(loau) =
1 loau
v − loau
v − u
u ≤
u loau
for input 2, number of heavy nodes fuzzy sets are define
as less and more equal (N is number of heavy nodes).
Fig.3: Fuzzy Input load
p q r s t u v w
p q r
(IJCSIS) International Journal of Computer Science and Information Secu
load chart
loau <
p ≤ loau ≤ q
loau >

>
p ≤ loau ≤ q
q < <
i ≤ loau ≤ s

< >
i ≤ loau ≤ s
s ≤ loau ≤ t

< >
s ≤ loau ≤ t
t < <
u ≤ loau ≤ v

loau <
≤ loau ≤ v
loau > v

for input 2, number of heavy nodes fuzzy sets are define
as less and more equal (N is number of heavy nodes).
put load
μ
less
(N) =
μ
moieequal
(N) =
Assuming sender initiated load balance algorithm, the
proposed knowledge base is as follows:
Rule [1]. If (load is very_lightly_load)
then (status__loadbalance__node is receiver)
Rule [2]. If (load is very_heavey_load)
then (status__loadbalance__node is sender)
Rule [3]. If (load is heavey_load) and
(no__heavy__load___nodes is more)
then (status__loadbalance__node is reciver)
Rule [4]. If (load is heavey_load) and
(no__heavy__load___nodes is less)
then (status__loadbalance__node is sender)
Rule [5]. If (load is lightly_load) and
(no__heavy__load___nodes is less)
then (status__loadbalance__node is sender)
Rule [6]. If (load is lightly_load) and
(no__heavy__load___nodes is more)
then (status__loadbalance__node is reciver)
Rule [7]. If (load is moderate_load) and
(no__heavy__load___nodes is more)
then (status__loadbalance__node is reciver)
Rule [8]. If (load is moderate_load) an
(no__heavy__load___nodes is less)
then (status__loadbalance__node is sender)
Rule [9] IF the node is sender
Then select a receiver as a migration partner
Rule [10] IF the node fails to find a migration partner
Then the node is neutral
Rule [11] IF the node is a sender
Then select a suitable task to transfer
t u v w
International Journal of Computer Science and Information Security,
Vol. 6, No. 1, 2009

1 N <
q − N
q − p
p ≤ N ≤ q
u N > q

( ) =
u N <
N − q
i − p
q ≤ N ≤ i
1 N > i

Assuming sender initiated load balance algorithm, the
proposed knowledge base is as follows:
Rule [1]. If (load is very_lightly_load)
then (status__loadbalance__node is receiver)
If (load is very_heavey_load)
then (status__loadbalance__node is sender)
Rule [3]. If (load is heavey_load) and
(no__heavy__load___nodes is more)
then (status__loadbalance__node is reciver)
If (load is heavey_load) and
(no__heavy__load___nodes is less)
then (status__loadbalance__node is sender)
If (load is lightly_load) and
(no__heavy__load___nodes is less)
then (status__loadbalance__node is sender)
htly_load) and
(no__heavy__load___nodes is more)
then (status__loadbalance__node is reciver)
Rule [7]. If (load is moderate_load) and
(no__heavy__load___nodes is more)
then (status__loadbalance__node is reciver)
Rule [8]. If (load is moderate_load) and
(no__heavy__load___nodes is less)
then (status__loadbalance__node is sender)
Rule [9] IF the node is sender
Then select a receiver as a migration partner
Rule [10] IF the node fails to find a migration partner
the node is a sender
Then select a suitable task to transfer
3 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
Rule [12] IF the node fails to select a suitable task to
transfer
Then select another migration partner
Fuzzy sets for output are shown as Fig.4:
Fig.4: Fuzzy output
V. PERFORMANCE EVALUATIO
Simulation was performed in MATLAB and NS2 to verify
our approach. We evaluate our fuzzy load balancer in a
system with five node using a randomly generated network
graph and a random generated load vector
consist of the number of task on the node and load index for
each node. The edge connectivity in the network graph is
generated with probability of 0.2 and task allocation with a
Uniform distribution U [0, 1]. The generated task is
assigned to the node corresponding to the interval of the
generated random variable. Inter arrival times are taken
from the exponential distribution. Processor speeds for all
nodes are taken from Uniform distribution. Our fuzzy
proposed algorithm in form of real time during updating
amount of nodes load refreshes the cost table. Then we
generated the cost table according to network graph and
load vector. Load of each node is equal to the number of the
node tasks. From cost table we can calculate the number of
heavy nodes. In fuzzy system according to status of heavy
load nodes, amount of node load and base
base, we can determine status of each node, which can be in
one of three states: sender, receiver and neutral. Results of
our fuzzy load balancer algorithm are presented in
Fig. 5 shows fuzzy approach has significantly better
response time. In Table 2 improvement percentage of our
algorithm for different number of tasks in Round Robin and
Randomize algorithm are shown. This table shows
performance of fuzzy algorithm is better
randomize algorithm.
Table 1: Response time of load balancing algorithm for
different number of tasks.
Algorithm
Number of Task
2 4 6 8
Randomize 3 4 7 11
Round Robin 2 3 6 9
Fuzzy 1 2 4 7
(IJCSIS) International Journal of Computer Science and Information Secu
Rule [12] IF the node fails to select a suitable task to
ERFORMANCE EVALUATION
Simulation was performed in MATLAB and NS2 to verify
our approach. We evaluate our fuzzy load balancer in a
system with five node using a randomly generated network
graph and a random generated load vector-load vector
ode and load index for
each node. The edge connectivity in the network graph is
generated with probability of 0.2 and task allocation with a
Uniform distribution U [0, 1]. The generated task is
assigned to the node corresponding to the interval of the
rated random variable. Inter arrival times are taken
from the exponential distribution. Processor speeds for all
nodes are taken from Uniform distribution. Our fuzzy
proposed algorithm in form of real time during updating
cost table. Then we
generated the cost table according to network graph and
load vector. Load of each node is equal to the number of the
node tasks. From cost table we can calculate the number of
heavy nodes. In fuzzy system according to status of heavy
oad nodes, amount of node load and based on fuzzy rule
base, we can determine status of each node, which can be in
one of three states: sender, receiver and neutral. Results of
presented in Table 1.
Fig. 5 shows fuzzy approach has significantly better
response time. In Table 2 improvement percentage of our
algorithm for different number of tasks in Round Robin and
Randomize algorithm are shown. This table shows
performance of fuzzy algorithm is better than RR and
In Table 3 total improvement of our fuzzy approach is
shown. This table confirms fuzzy load balancing algorithm
has better response time and performance in comparison to
Round Robin and Randomize load balancing algorithm
respectively 30.84% and 45.45%.
I. CONCLUSION
CONCLUSION
Fuzzy logic systems can make absolute outputs from
uncertainties inputs. In this paper, we present
for implementing dynamic load balancing algorithm with
fuzzy logic and we have shown its response time is
significantly better than round robin and randomize
algorithm.
In the future works, we will follow the load balancing issue
in parallel systems to find out whether
action will be quicker than the previous works or not.
Moreover, we will present
predicting the nodes status as sender, receiver or neutral
less time complexity by usin
neurofuzzy techniques.
0
5
10
15
20
25
30
35
40
45
2 4 6
R
e
s
p
o
n
s
e

t
i
m
e
(
m
s
e
c
)
Number of task for
Response time chart
Table 2: Comparison of improvement Percentage of Fuzzy
purpose algorithm vs. Round Robin & Randomize load
balancing algorithm.
Number
Of Task
Performance Of
Fuzzy
vs.
Round Robin
2 %50
4 %33.3
6 %33.3
8 %22.2
10 %15.4
Fig.5: Response Time between Randomize, Round Robin
Fuzzy load balancing algorithm.
Table 3: proportion percentage of improving our novel
Fuzzy
e time of load balancing algorithm for
different number of tasks.
10
16
13
11
International Journal of Computer Science and Information Security,
Vol. 6, No. 1, 2009
In Table 3 total improvement of our fuzzy approach is
shown. This table confirms fuzzy load balancing algorithm
has better response time and performance in comparison to
Round Robin and Randomize load balancing algorithm
respectively 30.84% and 45.45%.
CONCLUSION
NCLUSION AND FUTURE WORKS
Fuzzy logic systems can make absolute outputs from
uncertainties inputs. In this paper, we present a new approach
for implementing dynamic load balancing algorithm with
fuzzy logic and we have shown its response time is
significantly better than round robin and randomize
we will follow the load balancing issue
l systems to find out whether the load balancing
action will be quicker than the previous works or not.
a new load balancing approach for
predicting the nodes status as sender, receiver or neutral with
less time complexity by using genetic algorithms and
6 8 10
Number of task for 5 nodes
Response time chart
r andomi ze
r ound r obi n
f uzzy
: Comparison of improvement Percentage of Fuzzy
purpose algorithm vs. Round Robin & Randomize load-
balancing algorithm.
Performance Of
Fuzzy
Round Robin
Performance Of
Fuzzy
vs.
Randomize
%66.7
%33.3 %50
%33.3 %42.9
%22.2 %36.4
%15.4 %31.25
Fig.5: Response Time between Randomize, Round Robin and
load balancing algorithm.
: proportion percentage of improving our novel
algorithm
Round
Robin
Randomize
% 30.84 % 45.45
4 http://sites.google.com/site/ijcsis/
ISSN 1947-5500
(IJCSIS) International Journal of Computer Science and Information Security,
Vol. 6, No. 1, 2009
REFERENCES
[1] S. Sharma, S. Singh, and M. Sharma, "Performance Analysis of
Load Balancing Algorithms," World Academy of Science, Engineering and
Technology, vol. 38, 2008.
[2] G. R. Andrews, D. P. Dobkin, and P. J. Downey, "Distributed
allocation with pools of servers," in Proceedings of the first ACM
SIGACT-SIGOPS symposium on Principles of distributed computing.
Ottawa, Canada: ACM, 1982, pp. 73-83.
[3] A. E. El-Abd, "Load balancing in distributed computing systems
using fuzzy expert systems," presented at
International Conference on Modern Problems of Radio Engineering,
Telecommunications and Computer Science (TCSET 2002), Lviv-Slavsko,
Ukraine, 2002.
[4] S. Malik, "Dynamic Load Balancing in a Network of
Workstation," 19 November 2000 2000.
[5] D. L. Eager, E. D. Lazowska, and J. Zahorjan, "Adaptive load
sharing in homogeneous distributed systems," IEEE Trans. Softw. Eng.,
vol. 12, pp. 662-675, 1986.
[6] N. G. Shivaratri, P. Krueger, and M. Singhal, "Load Distributing
for Locally Distributed Systems," Computer, vol. 25, pp. 33-44, 1992.
[7] D. L. Eager, E. D. Lazowska, and J. Zahorjan, "A comparison of
receiver-initiated and sender-initiated adaptive load sharing (extended
abstract)," SIGMETRICS Perform. Eval. Rev., vol. 13, pp. 1-3, 1985.
[8] M. Livny and M. Melman, "Load balancing in homogeneous
broadcast distributed systems," in Proceedings of the Computer Network
Performance Symposium. College Park, Maryland, United States: ACM,
1982, pp. 47-55.
[9] D. Ferrari and S. Zhou, "An empirical investigation of load
indicies for load balancing applications pages " presented at 12th
International Symposium on Computer Performance Modeling,
Measurement, and Evaluation, North-Holland, Amsterdam, 1987.
[10] W. Leinberger, G. Karypis, and V. Kumar, "Load Balancing
Across Near-HomogeneousMulti-Resource Servers," presented at
Proceedings. 9thHeterogeneous Computing Workshop (HCW 2000)
Cancun, Mexico, 2000.
[11] Z. Xu and R. Huang, "Performance Study of Load Balancing
Algorithms in Distributed Web Server Systems " CS213 Parallel and
Distributed Processing Project Report.
[12] R. Motwani and P. Raghavan, "Randomized algorithms," ACM
Comput. Surv., vol. 28, pp. 33-37, 1996.
[13] P. L. McEntire, J. G. O'Reilly, and R. E. Larson, Distributed
Computing: Concepts and Implementations. New York: IEEE Press, 1984.
[14] W. I. Kim and C. S. Kang, "An adaptive soft handover
algorithm for traffic-load shedding in the WCDMA mobile communication
system," presented at WCNC'2003, 2003.
[15] n. Y.-T. Wang and A.-R. J. T. Morris, "Load Sharing in
Distributed Systems," IEEE Transactions on Computers, vol. 34, pp. 204-
217, 1985.
[16] W. Leinberger, G. Karypis, and V. Kumar, "Load Balancing
Across Near-Homogeneous Multi-Resource Servers," presented at s,
Cancun, Mexico, 2000.
[17] A. Kumar, M. Singhal, and T. L. Ming, "A model for distributed
decision making: An expert system for load balancing in distributed
systems " presented at 11th Symposium on Operating Systems, 1987.
[18] S. Darbha and D. P. Agrawal, "Optimal Scheduling Algorithm
for Distributed-Memory Machines," IEEE Transactions on Parallel and
Distributed Systems, vol. 9, pp. 87-95, 1998.
[19] S. A. Munir, Y. W. Bin, R. Biao, and M. Man, "Fuzzy Logic
based Congestion Estimation for QoS in Wireless Sensor Network," in
Wireless Communications and Networking Conference, WCNC 2007.
IEEE. Kowloon, 2007, pp. 4336-4341.
Abbas Karimi: Received his Bachelor
degree in Computer hardware engineering
and MS in Computer Software
Engineering from Iran. He is PhD
candidate in UPM, Malaysia in the field of
computer system Engineering. He has
been working as a lecturer and faculty
member in the Department of computer
engineering at IAU-Arak Branch and lecturer in several
universities. He was involved in several research projects,
authorizing one textbook in Persian, several management
posts, etc. His research interests are in load balancing
algorithms, real time, distributed, parallel and fault-tolerant
systems.
5 http://sites.google.com/site/ijcsis/
ISSN 1947-5500

The slave processors calculate their allocated work and submit their result to the master. if the load at a node drops below a threshold. 1.2) are used to describe the load index value: very lightly loaded. a selection policy is used to pick which of the queued jobs is to be transferred to the receiver node. Static Load-Balancing In this method. Central Manager [13]Algorithm and Threshold[1. switches. the location policy looks for an eligible sender node[10]. and so on) and the physical configurations of resources for each node may be heterogeneous. A general disadvantage of all static schemes is that the final selection of a host for process allocation is made when the process is created and cannot be changed during process execution to make changes in the system load[1]. and has good affinity to the node to which it is transferred. This method is consisted of Central Queue Algorithm and Local Queue Algorithm[16]. which manages Load balancing of system.com/site/ijcsis/ ISSN 1947-5500 . Variables for load index take grade values of Fuzzy variables are uncertainties and depends on network situation it can be changed. There are two types of load balancing algorithms: Ts III. they are buffered in the queue on the main host and allocated dynamically upon requests from remote hosts[1]. 2009 if the load at a node increases beyond a threshold .1:System model The routing table presents the communication links among nodes in the system. during compile time or at runtime. lightly loaded. SYSTEM MODEL We have a distributed network consists of n node which every node may be a complex combination of multiple types of resources (CPUS. 1 illustrated. Load balancing algorithms work on the principle that in which situation workload is assigned. Major load balancing algorithms are Round Robin[11] and Randomized Algorithms[12]. 2 http://sites. A common selection policy is latest-job arrived which selects the job which is currently in last place in the work queue[10]. the location policy seeks out a receiver node to receive the job selected by the selection policy (described below). A task is always executed on the node to which it is assigned that is static load balancing methods are non-preemptive. memory. If the node is an eligible sender. disks. heavy loaded and very heavy loaded. Routing table Load index Cost table A. Dynamic Load-Balancing It differs from static algorithms in that the workload is distributed among the nodes at runtime. Load index indicates the load of its related node. Fuzzy Controller Load Balancer Fig. The selection policy uses several criteria to evaluate the queued jobs. nodes may have different balance of each resource. Five Fuzzy sets (Fig. This heterogeneity can be manifested in two ways[17]. incurs as little cost as possible in the transfer. Instead. Vol. Additionally. The amount of a given resource at one node site may be quite different from the configuration of a node at another site. Once a node becomes an eligible sender. Unlike static algorithms.google. one node may have a (relatively) large memory with respect to its number of CPUs while another node may have a large number of CPUs with less memory [18-19]. the node becomes an eligible sender. Likewise. we need a cost table that provides the nodes communication costs and the number of heavy loaded nodes. For example. Load index. our system model is involved Routing table. the performance of the nodes is determined at the beginning of execution. In order to determine the node status as a sender. 6. Cost table and a fuzzy controller. receiver or neutral by using fuzzy controller and based on fuzzy rules. METHODOLOGY Load index value based on a given threshold is classified into five categories and is defined between 0 to w and threshold is s.(IJCSIS) International Journal of Computer Science and Information Security. the node becomes an eligible receiver The location policy selects a partner node for a job transfer transaction. Comparison shows that static load balancing algorithms are more stable compare to dynamic. B. The cost table is obtained by using load index and routing table while the number of heavy loaded nodes can be extracted from the cost table. The master assigns new processes to the slaves based on the new information collected[4. No. dynamic distributed algorithms are always considered better than static algorithms[1]. which is used by the policies in section II. 15]. As in Fig. If the node is an eligible receiver. 14] Algorithm. Then depending upon their performance the workload is distributed in the start by the master node. It is also ease to predict the behavior of static. moderate loaded. dynamic algorithms allocate processes dynamically when one of the processors becomes under loaded. but at the same time. IV. Its goal is to select a job that reduces the local load.

If (load is moderate_load) and (no__heavy__load___nodes is more) then (status__loadbalance__node is reciver) and Rule [8]. No.2: Fuzzy Index load chart μmoreequal (N) = μless (N) = 1 q−N q−p 0 0 N−q r−p 1 p≤N≤q N>q q≤N≤r N>r N< N< μverylightlyload (load) = 0 μmoderate load (load) = μveryheavy load (load) = q−p μlightly load (load) = 1 ⎨ ⎪ s − load ⎧load − p ⎪ ⎩ s−r 0 1 q − load q−p 0 load < p ≤ load ≤ q load > q< p ≤ load ≤ q r ≤ load ≤ s > < > Assuming sender initiated load balance algorithm. the proposed knowledge base is as follows: Rule [1]. number of heavy nodes fuzzy sets are define as less and more equal (N is number of heavy nodes). If (load is very_lightly_load) then (status__loadbalance__node is receiver) Rule [2]. If (load is lightly_load) and (no__heavy__load___nodes is more) then (status__loadbalance__node is reciver) Rule [7].(IJCSIS) International Journal of Computer Science and Information Security. 6. 1. If (load is moderate_load) an (no__heavy__load___nodes is less) then (status__loadbalance__node is sender) Rule [9] IF the node is sender Then select a receiver as a migration partner Rule [10] IF the node fails to find a migration partner Then the node is neutral Rule [11] IF the node is a sender Then select a suitable task to transfer ⎧ load − r ⎪ ⎨ t − load ⎪ t−s ⎩ 0 t−s s−r load < r ≤ load ≤ s s ≤ load ≤ t s ≤ load ≤ t < > ⎧ load − s ⎪ ⎨1 ⎪v − load ⎩ v−u load < u ≤ load ≤ v v−u 0 load > v for input 2. μheavyload (load) = 1 v − load load < t< u ≤ load ≤ v p q r Fig. Secu Vol.google.3: Fuzzy Input load put 3 http://sites. If (load is lightly_load) and (no__heavy__load___nodes is less) then (status__loadbalance__node is sender) htly_load) Rule [6].com/site/ijcsis/ ISSN 1947-5500 . If (load is heavey_load) and (no__heavy__load___nodes is less) then (status__loadbalance__node is sender) Rule [5]. If (load is heavey_load) and (no__heavy__load___nodes is more) then (status__loadbalance__node is reciver) Rule [4]. 2009 p q r s t u load < v w Fig. If (load is very_heavey_load) then (status__loadbalance__node is sender) Rule [3].

2009 Rule [12] IF the node fails to select a suitable task to transfer Then select another migration partner Fuzzy sets for output are shown as Fig.25 V.4 %31.7 %50 %42. Load of each node is equal to the number of the node tasks. Then we generated the cost table according to network graph and load vector. We evaluate our fuzzy load balancer in a system with five node using a randomly generated network graph and a random generated load vector-load vector vector consist of the number of task on the node and load index for ode each node.9 %36. Round Robin & Randomize load loadbalancing algorithm. This table shows performance of fuzzy algorithm is better than RR and randomize algorithm. Round Robin %50 %33. Round Robin and Fuzzy load balancing algorithm. 2 3 2 1 Fig. we will present a new load balancing approach for predicting the nodes status as sender. The generated task is assigned to the node corresponding to the interval of the generated random variable. which can be in one of three states: sender. Table 3: proportion percentage of improving our novel : algorithm Round Randomize Robin % 30. receiver and neutral. In this paper. Algorithm Randomize Round Robin Fuzzy Number of Task 4 6 8 10 4 7 11 16 3 6 9 13 2 4 7 11 Number Of Task 2 4 6 8 10 In Table 3 total improvement of our fuzzy approach is shown.com/site/ijcsis/ ISSN 1947-5500 . Secu Vol. amount of node load and base on fuzzy rule oad based base.45%. CONCLUSION AND FUTURE WORKS Fuzzy logic systems can make absolute outputs from uncertainties inputs.4: Response time(msec) 45 40 35 30 25 20 15 10 5 0 Response time chart randomize round robin fuzzy 6 8 10 2 4 Number of task for 5 nodes Fig.2 %15. PERFORMANCE EVALUATIO EVALUATION Simulation was performed in MATLAB and NS2 to verify our approach. Results of our fuzzy load balancer algorithm are presented in Table 1.(IJCSIS) International Journal of Computer Science and Information Security. Inter arrival times are taken rated from the exponential distribution. we present a new approach for implementing dynamic load balancing algorithm with fuzzy logic and we have shown its response time is significantly better than round robin and randomize algorithm. In fuzzy system according to status of heavy load nodes. 1.google.3 %22. 6. receiver or neutral with less time complexity by usin genetic algorithms and using neurofuzzy techniques. we can determine status of each node. Table 1: Response time of load balancing algorithm for e different number of tasks. Moreover. 4 http://sites. Processor speeds for all nodes are taken from Uniform distribution. No. Our fuzzy proposed algorithm in form of real time during updating amount of nodes load refreshes the cost table.84 % CONCLUSION 45. The edge connectivity in the network graph is generated with probability of 0. 1].4: Fuzzy output Fig.3 %33.84% and 45.2 and task allocation with a Uniform distribution U [0.4 Performance Of Fuzzy vs. This table confirms fuzzy load balancing algorithm has better response time and performance in comparison to Round Robin and Randomize load balancing algorithm respectively 30.5: Response Time between Randomize.45 FuzzyI. In Table 2 improvement percentage of our algorithm for different number of tasks in Round Robin and Randomize algorithm are shown. Table 2: Comparison of improvement Percentage of Fuzzy : purpose algorithm vs. From cost table we can calculate the number of heavy nodes. In the future works. Randomize %66. Performance Of Fuzzy vs. 5 shows fuzzy approach has significantly better response time. we will follow the load balancing issue in parallel systems to find out whether the load balancing l action will be quicker than the previous works or not.

47-55. Zhou. 33-37. "An empirical investigation of load indicies for load balancing applications pages " presented at 12th International Symposium on Computer Performance Modeling. Downey. Mexico. Maryland.(IJCSIS) International Journal of Computer Science and Information Security. pp. Malik. pp. Livny and M. M. "Load Balancing Across Near-Homogeneous Multi-Resource Servers." presented at WCNC'2003. 1986. [16] W. 1987. Motwani and P. 1-3. P.-R. Dobkin. Mexico. 12. "A model for distributed decision making: An expert system for load balancing in distributed systems " presented at 11th Symposium on Operating Systems. E. Larson. Bin. 1984. North-Holland. Eval. Cancun. Raghavan. 9thHeterogeneous Computing Workshop (HCW 2000) Cancun. "A comparison of receiver-initiated and sender-initiated adaptive load sharing (extended abstract). 1985." presented at International Conference on Modern Problems of Radio Engineering. 1982. R.google. and V. No. pp." SIGMETRICS Perform. 1996. 2008. S. 1982. parallel and fault-tolerant systems." in Wireless Communications and Networking Conference. Y. vol.com/site/ijcsis/ ISSN 1947-5500 . Rev. and P. 25. Kang. College Park. 2000. "Optimal Scheduling Algorithm for Distributed-Memory Machines. 2003. and M. Lazowska. 5 http://sites. L. Kumar. Biao. Darbha and D. Amsterdam. He is PhD candidate in UPM. authorizing one textbook in Persian. Sharma." World Academy of Science. J. "Load Sharing in Distributed Systems. Sharma. [4] S. "Dynamic Load Balancing in a Network of Workstation. Singhal. pp. [11] Z. and M. T. vol. Lazowska. IEEE. several management posts. and M." in Proceedings of the Computer Network Performance Symposium. L. [15] n. 1998. Kowloon. pp. "Load balancing in homogeneous broadcast distributed systems. E. "Load balancing in distributed computing systems using fuzzy expert systems. Canada: ACM..-T. Andrews. Agrawal. 6. WCNC 2007. and R. Measurement. 38. Distributed Computing: Concepts and Implementations. and V. pp. vol. [5] D. pp. vol. [13] P. "Performance Analysis of Load Balancing Algorithms. Ming. real time. Telecommunications and Computer Science (TCSET 2002). L. Zahorjan." 19 November 2000 2000. I. D. Kumar. "Fuzzy Logic based Congestion Estimation for QoS in Wireless Sensor Network. 2000. Ukraine. Eng. "Distributed allocation with pools of servers. McEntire. 13. O'Reilly. distributed. G. Lviv-Slavsko. 4336-4341. Karypis. [6] N. D. "Adaptive load sharing in homogeneous distributed systems. 204217. 1985. Xu and R. vol. [3] A." IEEE Transactions on Computers. [14] W. "Load Balancing Across Near-HomogeneousMulti-Resource Servers. Malaysia in the field of computer system Engineering." IEEE Transactions on Parallel and Distributed Systems. El-Abd. His research interests are in load balancing algorithms. "Performance Study of Load Balancing Algorithms in Distributed Web Server Systems " CS213 Parallel and Distributed Processing Project Report. Kim and C. "An adaptive soft handover algorithm for traffic-load shedding in the WCDMA mobile communication system. He has been working as a lecturer and faculty member in the Department of computer engineering at IAU-Arak Branch and lecturer in several universities. [10] W. Kumar.. pp. Ferrari and S. New York: IEEE Press. Abbas Karimi: Received his Bachelor degree in Computer hardware engineering and MS in Computer Software Engineering from Iran. Vol. Wang and A. [8] M. Softw. Y. Eager. S. Singh." in Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing. [7] D. 9. 34. 33-44. G. Leinberger. "Load Distributing for Locally Distributed Systems. [12] R. Krueger. 2009 REFERENCES [1] S." IEEE Trans. J. Melman. and J." presented at s. 73-83. "Randomized algorithms.. G. [19] S. 87-95. W. Karypis." ACM Comput. P. and Evaluation. E. Munir. [18] S. Huang. 1. vol. and J. 1992. Morris. Shivaratri. Eager. E. vol." presented at Proceedings. Zahorjan. R. J. Singhal. Ottawa. etc. A. [9] D. L. pp. 1987. G. Surv. United States: ACM. P. Leinberger. and T. He was involved in several research projects. 662-675. 28. [2] G. Man. Engineering and Technology. 2002. [17] A." Computer. D. 2007.

Sign up to vote on this title
UsefulNot useful