Load Balancing in Distributed Computing Systems

Embed Size (px)

Citation preview

  • 8/8/2019 Load Balancing in Distributed Computing Systems

    1/4

    141Load Balancing in Distributed Computing Systems Using

    Fuzzy Expert SystemsAly E. El-Abd

    Abstract - In this paper we present fuzzy functions to modelload balancing in distributed computing systems. Due to lack ofcommunication delays in message passing, a complete andconsistent view of the entire system may never be available to anode of the system. Most of the previous work in load balancingand distributed decision making in general, do not effectivelytake into account the uncertainty and inconsistency in stateinformation. Also both the load patterns and task lengthsdescriptions are based on crisp values which may beinconvenient. Most of the research that used fuzzy descriptionsconsidered fixed fuzzy function parameter values that only canmatch in fixed load patterns.The aim of this paper is to solve the uncertainty problem instate information and task selection for migration using proposedfuzzy functions of variable membership values, and to propose anexpert system that uses these fuzzy functions in decision making.Keywordr - artificial intelligence, distributed artificialintelligence, fuzzy logic, expert systems1 INTRODUCTION

    Distributed computing systems have become a naturalsetting in m any environments for business and academia. Thisis due to the rapid increase in processor and/or memoryhungry applications coupled with the advent of low-costpowerful w orkstations [lo].In a typical distributed system setting, tasks arrive at thedifferent nodes in a rando m fashion. This causes a situation ofnon-uniform loading across the system nodes to occur.Loading imbalance is observed by the existence of nodes thatare highly loaded while o thers are lightly loaded or even idle.Such situations are harmful to the system performance interms of the mean response time of tasks and resourceutilization.Dynamic load balancing involves the reallocation of tasksto processors after their initial assigunents. This is done bymigrating tasks &om the overloaded nodes to other lightlyloaded nodes to im prove the overall system perform ance. Suchan assignment problem has been shown to be NP-complete[lo]. -Task migration could be either preemptive or nonpreemptive [I]. Preemptive task migration allows tasks inexecution to be stopped, transferred, and then resumed atanother node, None-preemptive migration allows only tasksthat have not yet started execution to be transferred.Preemptive transfer incurs extra overhead than non preemptivecounterpart. Hence, it should be used only if the perform ancegains outweigh the transfer costs.The main focus of this work is to mo del load states as uzzy

    functions, in w hich the fuzzy function parameters are adaptive,Aly El-Abd - Member IEEE, Head of Computer EngineeringDepartment, Alexandria Institute of Technology, Somoha,Alexandria,EGYPT, -mail [email protected]

    this allows avoiding decisions based on crisp values and errorsresulted due to the uncertainty in system state information.Also task lengths are modeled using fuzzy sets. At any nodetask lengths are categorized into one o f five categories: veryshort, short, intermediate, long and very long tasks. Thiscategorization reduces the complexity of the task selectionprocess.Our approach employs a fuzzy expert system forimplementing both types of transfer, selection and locationpolicies. Also rules in the knowledge base are used to triggerthe inform ation policy.The rest of the paper is organized as follows: section 2describes the system m odel. Section 3 introduces the proposedfuzzy sets for load descriptions. Section 4 introduces theproposed fuzzy sets for task length descriptions. Section 5

    describes the proposed fuzzy expert system. Section 6 isdevoted to the discussion of the simulation results andperformance evaluation. Section 7 concludes this work andgives ideas for future work,2.SYSTEM MODEL

    Our notion of a hom ogeneous distributed system is that of amulti-computer system. Com munication between the systemhosts is done solely by message passing. We allowheterogeneity in node speeds to exist, but nodes arehomogeneous n s o h a r e and hardware.2.1 HOSTMODEL

    A host in the system is assumed to have a co mputing facility(CPU), memory, and a disk. The local scheduling policy is afirst in fr st out (FIFO).Each host m aintains a load table and a communication coststable of n umerical values ready to consume whenever the loadbalancing is invoked. Load balancing invocation is uponapplication arrival. Each host has a dedicated computingfacility for executing the load balancing functions.

    2.2 TASKMODELTasks are assumed to be indep endent. Tasks have no inter-process communication requirements among themselves andthere are no precedence constraints between tasks. Tasks donot require certain hardware to be subm itted on any node.The proposed approach requires the existence of a compileand run-time libraries support [2] for the estimation ofexecution times, remaining times, penalties, communicationcosts, and the unfinished work. Execution times are estimatedfrom historical runs with different data sets. The estimatedremaining time and the transfer cost of a task are computed atrun-time. The estimated unfinished work is the time neededfor a host to complete all tasks currently in its queue. It iscalculated all the time of load balancing invocation.

    TCSET'2002,February 18-23,2002, Lviv - Slavsko, Ukraine

    Authorized licensed use limited to: JSS ACADEMY OF TECHNICAL EDUCATION. Downloaded on June 12,2010 at 06:13:10 UTC from IEEE Xplore. Restrictions apply.

  • 8/8/2019 Load Balancing in Distributed Computing Systems

    2/4

    2.3 ASSUMPTIONSThe information policy adopted is a state-change-drivenpolicy. A host upon changing its load condition sends a loadstate update message. Each host is assumed to be in one ofthree load states at any one time, light load, mod erate load orheavy load. Negotiations must be done before any task

    migration to prevent wrong task allocation.The transfer policy uses the load fuzzy sets for migrationdecision, then the selection policy selects a suitable task formigration. A suitable task i s that task which is comparable tothe com munication cost between the sender and receiver. Soselection policy is initiated after the location policy sele cts themigration partner.3. LOADDESCRIPTION

    Three fuzzy sets are used to describe the load pattern: heavyload, moderate load and light load sets. The three sets areshown in figure (I), where F(x) represents the confidence ofthe fuzzymemb ership value.

    Fi a 1 h a d F u n y Sab:

    The following equationsrepresent the three fuzzy sets:

    u , * x s pPrevious work in dynamic load balancing using fuzzyexpert systems [lo] used constant fiuLzy set parameters. Thismight be inefficient because any load, that is described to behigh with a membership value of 1, may not guaranteed to bethe highest load over the network all the time. So theparameter describes the highest load must be adaptiveaccording to the load patterns over the network. Consideringfigure 1, the region from a0 to p is divided into equal sixregions. Each region with length (p - a0)/6. So the loaddescription parameters can be der ived as follows:

    142

    TCSET'ZOOZ,February18-23,2002, Lviv - Slavsko,Ukraine

    4.TASK ENG TH ESCRIPTIONThe task length description depends on the app lication that

    runs over the system. It is not an appropriate description for atask to be a long task when it takes 8 time units, fix instance,on a certain system when 90% of the tasks ake 7 time units onthe same system. The task length can be expressed as amember of one of five fuzzy sets, very long length tasks set,long 1r:ngth tasks set, intermed iate length tasks set, short lengthtasks !;et and very sho rt length tasks set.

    IJUWiM Clak l k u l c4 k P xFi02Ta5kFurryseb

    Unlike the load description, n order to tak e into ;account hevariance in task lengths, the task length descrip tion is modeledas five: sets, this is m ore e fficient in the task selection processwhich is sensitive to both the task length and itscommunication cost. The task length fuzy sets are shown infigure (2).As in the previo us section the task length parameterscan be derived as follows:

    Once the task is described, it is added to one of five poles,very long, long, intermediate, short, and very short task poles.Upon the invocation of the sele ction policy, it selects any taskrandomly from the suitable task pole. T he selected task is thattask which when removed from the node's queue andmigrated, it will arrive the partner node before th e sender'sstate tums into idle state.5 . THE PROPOSED EXPERTYSTEM

    The implemented expert system has the followingcomponentsas shown in Figure 3.

    Authorized licensed use limited to: JSS ACADEMY OF TECHNICAL EDUCATION. Downloaded on June 12,2010 at 06:13:10 UTC from IEEE Xplore. Restrictions apply.

  • 8/8/2019 Load Balancing in Distributed Computing Systems

    3/4

    1435.1 KNOWLEDGEASE

    Assuming sender initiated load balance algorithm, theproposed knowledge base is as follows:Rule [l] IF the node is lightly loaded THEN the node is areceiverRule[2] IF the node is moderately loaded AND the numberof heavily loaded nodes is nearly equal to the number oflightly loaded nodesRule[3] IF the node is moderately loaded A M ) the numberof heavily loaded nodes is more than the number of lightlyloaded nodesRule[4] IF the node is moderately loaded AND the numberof heavily loaded nodes is less than the number of lightlyloaded nodesRule[S] IF the node is senderTHEN select a receiver as a migration partnerRule[6] IF the node fails to find a migration partnerTHEN the node is neutralRule[7] IF the node is a senderTHEN select a suitable task to transferRule[S] IF the node fails to select a suitable task to transferTHEN select another migration partner

    THEN the node is neutral

    THEN the node is receiver

    THEN the node is sender

    5.2 INFERENCENGINEIs that part of the expert system that is responsible fordecision-making, using rules chaining. Chaining is eitherforward or backward. Forward chaining is used when there isno exact goal to search for, also if the initial states are lessthan the goal states. On the other hand, backward chaining isused when there is an exact solution to search for and it isrequired to find the path to this goal, also it is used when thenumber of final states are less than the initial states. For theproblem of load balancing, the goal can be defined as a loadbalance state over all the system nodes, but we can'tspecifically define the task distribution scheme that leads tothis balance state. So we don't have a determined final state,and hence the problem is a typical forward chaining problem.Forward chaining can be implemented in depth fvst orbreadth frst search techniques. Using depth first searchtechnique to implement a forward chaining inference enginefor use in real-time applications may be inconvenient, becausedepth first algorithms may go in a very long path to find asolution. In most cases, the breadth first search technique takestime to find a solution much less than the time required by thedepth first technique. The draw back of u sing the breadth firstsearch technique is that it needs large amount of memory,which is relaxed by the new advancement in computertechnology. Thus we use the breadth first search technique toimplement a forward chaining inference engine.As we mentioned in the system model section, we propose adistributed load balancing approach, so each node in thenetwork should have the expert system for the load balancingactivity.

    6. SIMULATIONESULTS6.1 CASE STUDY

    A computer network of 10 nodes with irregular topology isgenerated using a randomly generated processor graph. Tendifferent processor graphs are generated in ten separateexperiments. The edge connectivity in the processor graph isgenerated with probability of 0.5. The system has manyrandom variables taken from different random distributionsthat include:1. Initial tasks allocation2. Tasks inter arrival times3 . Tasks execution times4. Links communication costs5 . Processors speedsInitial tasks allocations are drawn from a uniformdistribution U[O,l]. This s the random domain that is dividedinto unequal intervals, and each subinterval represents a nodein the co-domain. The generated task is assigned to the nodecorresponding to the interval of the generated randomvariable. Inter arrival times are taken from the exponential

    distribution, task execution times are taken from the weibulldistribution. Processor speeds are taken from a uniformdistribution. During the simu lation process the following costsare considered:1. The time consumed in the negotiation between thesender and its direct neighbors.2. The time consumed in the return acknowledgment toaccept or reject the load balancing contribution request.3. The time consumed to receive the system state updatemessages required by the information policy.4. The time consumed to transfer the task to the selectedmigration partner.

    6.2 RESULTSThree cases in which no load balancing, load balancingusing average threshold and load b alancing using the proposedexpert system are considered. Calculating the averageresponse time for each case for each processor graph in 10different experiments gives the results shown in the followingbar chart, figure 5 .The previous chart shows the response time in the

    JD %+ ID w 24 IDD = .m UD mo 5n .m - mU-...Figure 5: Simulation results

    TCSET'2002, February 18-23,2002, Lviv - Slavsko, Ukraine

    Authorized licensed use limited to: JSS ACADEMY OF TECHNICAL EDUCATION. Downloaded on June 12,2010 at 06:13:10 UTC from IEEE Xplore. Restrictions apply.

  • 8/8/2019 Load Balancing in Distributed Computing Systems

    4/4

    144mentioned three cases. In case of 14% overall system load(light load), the average threshold load balancing techniquegained 32.2% response time improvement, while the fuzzyexpert system gained 33.,14% improvement. In case of 57%overall system load (moderate load ), the former gained 34.7%improvement while the later gained 38.8% improvement. Incase of 92.8% overall system load (high load), the formergained 34.8% improvement while the later gained 38.6%improvement.Also the simulation results indicate improvem ent stability incase of load balancing using the propo sed fuzzy expert systemwhile the average threshold technique shows improvementfluctuatio ns. In all ca ses the fuzzy expert system outperformsthe average threshold technique, especially in moderate andheavy load pattem s, which ind icates the supe riority of owapproach.

    7.cONCLUSIONA novel approach to solve the problem of dynamic loadbalancing in distrib uted computing systems based on the fuzzymodeling of loads pattems and task lengths, using expertsystems is developed. The proposed approach has been

    studied by means of simulation. Performance measure in termsof the mean response time is improved in all cases withdifferent percentages. The application of the proposedapproach on hard real time systems, using neural networkswill be considered in future work.REFERENCES

    T.L. Casavant and J.G. Kuhl, "A Taxonomy ofschedu ling in General Purp ose Distributed Com putingSystems", IEEE Trans. Software Engineering Vol. 14,Feb. 1988.M.Gupta and P.B anejee, "Compile-Time Estimation ofComm unication Costs on Multicomputers", Proceeding sin parallel processing symposium, Beverly Hills CA,March 1992.Muhammad Kafil and Ishfaq Ahmad, "Optimal TaskAssignment in Heterogeneous Distributed ComputingSystems", IEEE Concurrency, May1998.Sekhar Darbah And Daharm a p Argawal, OptimalScheduling Algorithm for Distributed-MemoryMachines" IEEE Transactions on Parallel AndDistributed Systems, January 1998.Chi-Chung Hui And Samuel T. Chansobn, "AllocatingTask Interaction Graphs to Processors in HeterogeneousNetworks", IEEE Transactions On Parallel AndDistributed Systems, Sept. 1997.Si Wu and K.Y.Michale Wong, "Dynamic OverloadContr ol for Distributed Call Processo rs Using the NeuralNetwork Method", IEE E Transaction on Neural NetworkVol. 9 No. 6, Nov. 98 .David M. Nicol, Rahul Simha And Don Towsely, I*Static Assignment of Stochastic Tasks UsingMajorization", IEEE T ransaction s on Com puter June1996.Cheol Hoon Lee and Kang G. Shin, "Optha1 TaskAssignment in Homogeneous Networks", IEEE

    Transactions on Parallel and Distributed Systems, Feb.1997.191 Min-You Wu, "On Run Time Parallel Scheduling forProcessor Load Balancing", IEEE Tmractions onParallel And Distributed Systems, February 1997.[lo] Ajoy Kumar, Mukesh Singhal, Ming T(M&e) Liu, "AModel for Distributed Decision Making: An ExpertSystem for Load Balancing in Distributed Systems",IEEE com puter software and app lications conference,1987.[ l l ] Kelvin K. Yue and David J. Lilja, It An EffectiveProcessor Allocation Strategy for M ultiprogram medShared-M emory Multiprocessors", IEEE 'TransactionsOn Parallel and Distributed Systems December 1997.[12] Thomas L. Casavant And Jon G. Kuhl, 'I A 'Taxonomy ofscheduling in general-purpose distributed computingsystems", IEEE Transactions on S o h a r e Ikgineering,February 1988.[13] Niranjan G. Shivaratri Phillip Krueger And MukeshSinghal, I' Load Distribu ting for -Locally D istributedSystems", Computer Magazine, Decem ber 1992.[14] .Aly E. El-Abd and Mohamed I. El-Bendary, "A Neural'Network Approach for Dynamic Load balancing inHomogeneous Distributed Systems", Proceedings ofE E E HICS30, January 1997.

    TCSET'2002, February18-23,2002, Lviv - Slavsko,Ukraine

    Authorized licensed use limited to: JSS ACADEMY OF TECHNICAL EDUCATION Downloaded on June 12 2010 at 06:13:10 UTC from IEEE Xplore Restrictions apply