Implementation of a new Fuzzy Based Load Balancing Algorithm for Hypercubes

Document Sample
Implementation of a new Fuzzy Based Load Balancing Algorithm for Hypercubes Powered By Docstoc
					                                                             (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                        Vol. 8, No.9, 2010

             Implementation of a new Fuzzy Based Load
                Balancing Algorithm for Hypercubes
                            Sameena Naaz                        Afshar Alam                                    Ranjit Biswas
                 Department of Computer Science, Jamia Hamdard                            Institute of Technology and Management
                            Hamdard University New Delhi, India                                            Gurgaon, Haryana

Abstract— Distributed computing systems are becoming                           When we are talking about large distributed systems there
increasingly available because of the rapid decrease in                    is huge amount of global state uncertainty present in it. Fuzzy
hardware cost and the advances in computer networking                      logic based distributed load balancing algorithms reflect the
technologies.. It is frequently observed that in a computing               effect of uncertainty in decision making process. This approach
environment with a number of hosts connected by a network,                 has been discussed in [8]. The fuzzy logic approach for
the hosts are often loaded differently. In typical distributed             Distributed Object Computing Network has been studied in [9,
system task arrive at the different nodes in random fashion.               10]. Parallel and distributed computing environment is
This causes a situation of non-uniform load across the                     inherently best choice for solving/running distributed and
different nodes. Load imbalance is observed by existence of                parallel program applications. In such type of applications, a
nodes that are highly loaded while the others are lightly                  large process/task is divided and then distributed among
loaded or even idle. Such situation is harmful to the system               multiple hosts for parallel computation. In [10] it has been
performance in terms of response time and resource                         pointed out that in a system of multiple hosts the probability of
utilization. In the work presented in this paper we have tried             one of the hosts being idle while other host having multiple
to analyze the effect of using fuzzy logic to deal with the                jobs queued up can be very high. In [11] the performance of a
problem of load balancing in hypercube model                               new Fuzzy Load balancing algorithm is compared with the
                                                                           existing algorithms.

   Keywords Load Balancing, Fuzzy Logic, Hypercubes, Response
                                                                           In a distributed environment the processors are categorized
Time                                                                       according to workload in their CPU queues as heavily loaded
                                                                           (more tasks are waiting to be executed), lightly loaded (less
                       I.     INTRODUCTION                                 tasks are waiting to be executed in CPU queue) and idle
                                                                           processors/hosts (having no pending work for execution). Here
    With the rapid decrease in the cost of hardware and the                CPU queue length is used as an indicator of workload at a
simultaneous increase in the computer networking technologies              particular processor. The algorithms used for load balancing
the increase of distributed computer systems has increased a               may require no information, or only information about
lot. The obvious advantage of using these systems is                       individual jobs (static algorithm) or may make decisions based
information and resource sharing. At the same time we know                 on the current load situation (dynamic algorithm).
that it allows parallel execution of a job on multiple processors.
When the jobs are being executed in parallel on different                  In general, load balancing algorithm can be analyzed in a
systems a decision has to be made on to which system a newly               framework with four dimensions: selection policy, transfer
arrived job has to be send. In a typical distributed system the            policy, information policy, and location policy. Specifically,
jobs arrive in random fashion on different nodes. This causes a            information and location policies have the most important
situation where some of the nodes are heavily loaded whereas               roles.
others are lightly loaded. Load balancing is the technique
which helps in even distribution of the jobs among the                         •    Transfer policy: First of all the state of the different
available nodes so that the throughput and the response times                       machines is determined by calculating it’s workload.
can be increased                                                                    A transfer policy determines whether a machine is in
                                                                                    a suitable state to participate in a task transfer, either
    Different load balancing algorithms have different                              as a sender or a receiver. For example, a heavily
complexity which depends upon the amount of communication                           loaded machine could try to start process migration
needed to approximate the least loaded node. These algorithms                       when its load index exceeds a certain threshold.
can be static or dynamic in nature. Static algorithms collect no
information and make probabilistic balancing decisions, while                  •    Selection policy: This policy determines which task
dynamic algorithms collect varying amounts of state                                 should be transferred. Once the transfer policy
information to make their decisions. Previous research on static                    decides that a machine is in a heavily-loaded state,
and dynamic load balancing can be found in [l]-[5], [6, 7],                         the selection policy selects a task for transferring.
respectively. It has been established from the previous studies                     Selection policies can be categorized into two
that dynamic algorithms give better performance improvement                         policies: preemptive and non-preemptive. A
as compared to static algorithms.                                                   preemptive policy selects a partially executed task.

                                                                                                       ISSN 1947-5500
                                                           (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 8, No.9, 2010
        As such, a preemptive policy should also transfer the           nodes. The system model with d dimensions has 2^d nodes. If
        task state which can be very large or complex. Thus,            we number the nodes from 0 thru (2^d)-1 and look at the
        transferring operation is expensive. A non-                     numbers as d-digit binary numbers, then each node will be
        preemptive policy selects only tasks that have not              connected to d other nodes which differ only in one bit. That
        begun execution and, hence, it does not require                 is, suppose d=4 for example, then 0010 (node 2) will be
        transferring the state of task.                                 connected to 1010 (node 10), 0110 (node 6), 0000 (0) and
                                                                        0011 (node 3).The system model is a compound module type
    •   Location policy: The objective of this policy is to             which consists of a sender (source) and receiver (sink)
        find a suitable transfer partner for a machine, once            module.
        the transfer policy has decided that the machine is a
        heavily-loaded state or lightly-loaded one. Common              B. The Scheduler
        location policies include: random selection, dynamic
        selection, and state polling.                                   Scheduler has two functions, threshold estimation and decision
                                                                        making. When a scheduler is invoked, it estimates two
    •   Information policy: This policy determines when the             numerical thresholds from the current states of uncertainty
        information about the state of other machines should            sources based on a fuzzy control base, and making scheduling
        be collected, from where it has to be collected, and            and state update decision using fuzzy consistency model.
        what information is to be collected.
                                                                        We have done the implementation of scheduler on MATLAB.
                                                                        In fuzzy logic toolbox we have take two input parameters. The
                II.    DISTRIBUTED SYSTEM MODEL                         first input parameter is ‘load’ and the second one is ‘Number
     A simple model of a distributed system is presented here.          of heavy Load Node’ and one output i.e. ‘status of load
                                                                        balance node’. We measure load and Number of heavy load
This model consists of a decentralized decision making
                                                                        node on a 0 to 10 scale and status of load balancing node on 0
approach with cooperation from all the nodes. So the                    to 20 scale.
performance can be improved here purely by intelligent
decision making and proper coordination. The various nodes              We need to define fuzzy sets for the input parameters, ‘load’,
of the system here are the resources and each of these                  and ‘number of heavy load node’ levels, and the output, ‘status
resources can be in different states. A vector is used to give          of load balancing node’. For this we define five membership
                                                                        functions for first input parameter i.e. ’load’ and two
the state of a node which describes many characteristics of the         membership functions for second input parameter i.e. ‘number
node. The elements of this state vector are measures which              of heavy load node’ and two membership functions for output
imply a cost or penalty for using the resource.                         parameter ‘status of load balance node.’
     The set of states of all the resources in the distributed
system is known as the global system state. In distributed load         Threshold Estimation
balancing also the decisions are not always necessarily made              The Threshold Estimation determines the limiting value for
using the complete global state information. In fact for each           each membership function. Beyond this limiting value the
node under consideration only a subset of neighboring nodes             membership function will change.
may be needed to take a decision. Another important aspect is           First Input parameter: Load (0-10)
that a node can change state faster than the time taken to
transmit state information from one state to another. Therefore         Member Function 1:     Very lightly      (0-2)
there is always some amount of uncertainty in the state                 Member Function 2:     lightly           (1-5)
information used for making a decision. Hence it is necessary
that the decision making process deals with these                       Member Function 3:     moderate          (4-6)
uncertainties. Fuzzy logic is one of the methods of dealing             Member Function 4:     heavy             (5-9)
with this uncertain information and has been used in the work
presented in this paper.                                                Member Function 5:     very heavy        (8 -10)
                                                                        Second Input Parameter: No. of heavy load node (0-5)
                III.   DESCRIPTION OF ALGORITHM                         Member Function 1:     more              (0-2.5)
The algorithm implemented in this work is basically divided             Member Function 2:      less             (2.5 – 5)
into two parts:
                                                                        Output Parameter: Status of load balance node (0-10)
    A. The system Model                                                 Member Function 1:     receiver       (0-5)
    B. The Scheduler                                                    Member Function 2:     sender          (6-10)
            a) Threshold Estimation
            b) Decision Making                                              In our work here we have taken the Gaussian distribution
                                                                            function for all the different linguistic variables for the
A. The System Model                                                         input “load”. This is shown in figure 1 below.
A distributed system is assumed to be c collection of
autonomous nodes connected by a communication network.
Message passing is the only form of communication among

                                                                                                   ISSN 1947-5500
                                                    (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                               Vol. 8, No.9, 2010

                                                                 The membership function for the output variable status of
                                                                 load balance node is shown in figure 3. From this figure
                                                                 we can see that there are two linguistic variables sender
                                                                 and receiver here and the load on a node determines it’s
                                                                 value based upon the membership function.
Figure 1: Input variable load of the node under
consideration and it’ membership function
                                                                 Decision Making
The membership function used for the number of heavy             The Fuzzy rules that have been used in this work are
load nodes is shown in figure2.                                  given below:
                                                                 Rule [1]. If (load is very light) then (node is receiver)

                                                                 Rule [2]. If (load is very heavy) then (node is sender)

                                                                 Rule [3]. If (load is heavy) and (no. of heavy load nodes is
                                                                 less) then (node is sender)

                                                                 Rule [4]. If (load is heavy) and (no. of heavy load nodes is
                                                                 more) then (node is receiver)

                                                                 Rule[5]. If (load is light) and (no. of heavy load nodes is
                                                                 more) then (node is receiver)

                                                                 Rule[6]. If (load is light) and (no. of heavy load nodes is
                                                                 less) then (node is sender)
Figure 2: Input variable No. of Heavy Load Node and it’s
membership function.
                                                                 Rule [7]. If (load is moderate) and (no. of heavy load
                                                                 nodes is more) then (node is receiver)

Figure 3: Membership function for the output variable            Rule [8]. If (load is moderate) and (no. of heavy load
Status of Load Balance Node                                      nodes is less) then (node is sender)

                                                                                          ISSN 1947-5500
                                                           (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                      Vol. 8, No.9, 2010
                IV.    INTERPRETATION OF RESULTS                                          V.     CONCLUSION AND FUTURE WORK
A distributed system is assumed to be a collection of                              The results of our simulation were compared with the
autonomous nodes connected by a communication network.
Message passing is the only form of communication among                  Sender        Receiver        Response Time            Response Time
                                                                          Node          Node            with Fuzzy              without Fuzzy
  Node          Input 1       Input 2         Output                                                     Approach                 Approach
 Number                                                                     0               1              1.99                      3.45
   0               5              0            7.105                        1               3                  1.99                    2.96
     1             4              2            8.023                        3               2                  1.99                    3.66
     2             3              1            3.584                        5               7                  1.99                    2.99
     1             4              1            2.058                        5               1               1.00743                    1.42
     3             3              2            9.251                        3               5                 2.409                    3.06

     4             4              1            1.577                        2               7                  2.99                    3.21

     0             1              0            1.577                        6               0                  2.99                    3.32

     2             2              2            8.023                        4               1                  2.99                    3.39

     5             3              1            3.114                        7               4               2.03683                    3.99
                                                                            4               2               2.88869                    4.06
     4             4              2            6.025
                                                                            1               0               1.77632                    2.01
     6             2              2            7.105
                                                                            2               0                1.7117                    2.11
     3             2              1            2.058
                                                                            1               7                2.8208                    4.88
     7             2              2            9.251
                                                                            7               0                  3.99                    4.92
     5             5              0            8.023
                                                                            5               1               1.93824                    2.07
     7             1              0            3.114
                                                                         results without using fuzzy logic and from the table 2 above
                                                                         we can see that for all cases the response times of our
nodes. We have implemented system model on OPNET++ a                     algorithm is lesser than the one where fuzzy logic is not used.
Network Simulation Tool. The system model with d                                   In future we plan to use some more system
dimensions has 2^d nodes. If we number the nodes from 0                  characteristics to determine the load at a point on any node so
through (2^d)-1 and look at these as d-digit binary numbers,             the results are closer to the real time environment.
then each node will be connected to d other nodes which differ
only in one bit. The system model is a compound module type
which consists of a sender (source) and receiver (sink) and a
router module.
Table 1: Output status of the nodes based upon the values of             [1]. P. V. McGregor and R. R. Boorstyn, “Optimal load balancing in a
two inputs                                                               computer network,” in Proc. 1975 Int. Conf: on Commun., vol. 3, pp. 41.14-
                                                                         [2]. E. D. S. Silva and M. Gerla, “Load balancing in distributed systems with
                                                                         multiple classes and site constraints,” in Proc. Performance’84, pp. 17-33.
For the hypercube model used in the work the output variable             [3]. A. N. Tantawi and D. Towsley, “A general model for optimal static load
for different values of the two input variables has been shown           balancing in star network configurations, ” in Proc. Performance’84, pp. 277-
in table 1 above. These values are used to determine whether a           291.
node works as a sender or as a receiver at any particular point          [4]. A. N. Tantawi and D. Towsley, “Optimal static load balancing in
of time. Once the status of the node is established random               distributed computer systems,” J. ACM, vol. 32, no. 2, pp. 445465, Apr. 1985.
pairing between one sender and one receiver is done and the              [5]. J. F. Kurose and S. Singh, “A distributed algorithm for optimum static
jobs are transferred. After that the response time is calculated         load balancing in distributed computer systems,” in Proc. IEEE
which is depicted in table 2.                                            INFOCOM’86, pp. 458-467.
                                                                         [6]. F. Bonomi and A. Kumar, “Adaptive optimal load balancing in a
  Table 2: Response time for different sender receiver pair.             heterogeneous multiserver system with a central job scheduler,” IEEE Trans.
                                                                         Computer, vol. 39, pp. 1232-1250, Oct. 1990.
                                                                         [7]. T. C. K. Chow and J. A. Abraham, “Load balancing in distributed
                                                                         systems,” IEEE Trans. Software Eng., vol. SE-8, pp. 401-412, July 1982.

                                                                                                          ISSN 1947-5500
                                                                      (IJCSIS) International Journal of Computer Science and Information Security,
                                                                                                                                 Vol. 8, No.9, 2010
[8]. Chulhye Park and Jon G.Kuhl, “A Fuzzy based distributed load balancing                               AUTHORS PROFILE
algorithm”, Proceedings of the Second International Symposium on
Autonomous Decentralized Systems (ISADS'95) IEEE, 1995.                                                  Sameena Naaz received the
[9]. Lap-Sun Cheung, “A Fuzzy Approach to Load Balancing in a Distributed
Object Computing Network”, First IEEE International Symposium on
                                                                                                         degree of B.Sc Engg. in
ClusterComputing and the Grid (CCGrid'01) risbane, Australia May 15-May                                  computers from Aligarh Muslim
18, 2001.                                                                                                University, in 1998 and the
[10]. Yu-Kwong Kwok And Lap-Sun Cheung, “A NEW FUZZY-DECISION BASED                                      M..Tech Degree in Electronics
Parallel And Distributed Computing, Volume 64 Issue 2, February 2004
                                                                                                         from Aligarh Muslim University,
[11]. Abbas Karimi, Faraneh Zarafshan, Adznan b. Jantan, A.R. Ramli and                                  in 2000. She is currently working
M. Iqbal b. Saripan, “A New Fuzzy Approach for Dynamic Load Balancing                                    interests
Algorithm” International Journal of Computer Science and Information
Security(IJCSIS).                                                                   as an Assistant Professor at Jamia Hamdard University in
                                                                                    the Department of Computer Science and is also pursuing
                                                                                    her Ph. D. Her research interests include soft computing
                                                                                    and load balancing and scheduling in distributed systems.

                                                                                                            ISSN 1947-5500

Description: The International Journal of Computer Science and Information Security (IJCSIS) is a well-established publication venue on novel research in computer science and information security. The year 2010 has been very eventful and encouraging for all IJCSIS authors/researchers and IJCSIS technical committee, as we see more and more interest in IJCSIS research publications. IJCSIS is now empowered by over thousands of academics, researchers, authors/reviewers/students and research organizations. Reaching this milestone would not have been possible without the support, feedback, and continuous engagement of our authors and reviewers. Field coverage includes: security infrastructures, network security: Internet security, content protection, cryptography, steganography and formal methods in information security; multimedia systems, software, information systems, intelligent systems, web services, data mining, wireless communication, networking and technologies, innovation technology and management. ( See monthly Call for Papers) We are grateful to our reviewers for providing valuable comments. IJCSIS December 2010 issue (Vol. 8, No. 9) has paper acceptance rate of nearly 35%. We wish everyone a successful scientific research year on 2011. Available at IJCSIS Vol. 8, No. 9, December 2010 Edition ISSN 1947-5500 � IJCSIS, USA.