An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System


Published on

Due to the restriction of designing faster and faster computers, one has to find the ways to maximize the performance of the available hardware. A distributed system consists of several autonomous nodes, where some nodes are busy with processing, while some nodes are idle without any processing. To make better utilization of the hardware, the tasks or load of the overloaded node will be sent to the under loaded node that has less processing weight to minimize the response time of the tasks. Load balancing is a tool used effectively for balancing the load among the systems. Dynamic load balancing takes into account of the current system state for migration of the tasks from heavily loaded nodes to the lightly loaded nodes. In this paper, we devised an adaptive load-sharing algorithm to balance the load by taking into consideration of connectivity among the nodes, processing capacity of each node and link capacity.

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System

  1. 1. International Journal of Research in Computer ScienceeISSN 2249-8265 Volume 3 Issue 3 (2013) pp., A Unit of White Globe Publicationsdoi: 10.7815/ijorcs. 33.2013.063www.ijorcs.orgAN ADAPTIVE LOAD SHARING ALGORITHM FORHETEROGENEOUS DISTRIBUTED SYSTEMP. NeelakantanDepartment of CSE, SVUCE, Tirupati, A.P, INDIAE-mail: pneelakantan@rediffmail.comAbstract: Due to the restriction of designing faster andfaster computers, one has to find the ways to maximizethe performance of the available hardware. Adistributed system consists of several autonomousnodes, where some nodes are busy with processing,while some nodes are idle without any processing. Tomake better utilization of the hardware, the tasks orload of the overloaded node will be sent to the underloaded node that has less processing weight tominimize the response time of the tasks. Loadbalancing is a tool used effectively for balancing theload among the systems. Dynamic load balancingtakes into account of the current system state formigration of the tasks from heavily loaded nodes to thelightly loaded nodes. In this paper, we devised anadaptive load-sharing algorithm to balance the loadby taking into consideration of connectivity among thenodes, processing capacity of each node and linkcapacity.Keywords: Load balancing, Distributed System,heterogeneous, response time.I. INTRODUCTIONAn important attribute in a dynamic load balancingpolicy is to initiate the load balancing activity. Thebalancing activity specifies which node is responsiblefor detecting imbalance of the load among thenodes[9]. A load-balancing algorithm is invoked whenload imbalance among the nodes is detected. Theinitiation of load balancing activity will have a higherimpact on complexity, overhead and scalability. Theload balancing algorithm is designed in such a way tomake the overloaded node to transfer its excess load tothe underloaded node which is called sender – initiatedand when underloaded node requests the load from theoverloaded node then it is called receiver- initiated [6][8].Domain balancing is used to decentralize thebalancing process by minimizing its scope anddecrease the complexity of the load balancingalgorithm. A domain is defined as subset of nodes in asystem, such that a load balancing algorithm can beapplied for this subset of nodes in a single step.Domain balancing is used in load balancing algorithmsto decentralize the balancing. The balancing domainsare further divided into two types: The first type isoverlapped domains, which consists of node initiatingthe balancing activity and balances its load bymigrating the tasks or load units with the set ofsurrounding nodes [3].Global balancing is achieved by balancing everydomain and by diffusing the excess load throughoutthe overlapped domains in a distributed system.Another important attribute in load balancingalgorithm is the degree of information. The degree ofinformation plays an important role in making the loadbalancing decisions. To achieve global load balancingin a few steps, the load balancing should get absoluteinformation instead of getting the obsolete informationfrom the nodes. In general, the collection ofinformation by a node is restricted to the domain ornearest neighboring nodes (which are directlyconnected to a node) [4].Although collecting information from all the nodesin a distributed system gives the exact knowledge ofthe system, it introduces large communication delay,so from this perspective, it will have a negative impacton the load balancing algorithm. In such cases, it hasbeen observed, that the average response time is keptminimum without load balancing instead of doing theload balancing which induces overhead in migratingthe load from one node to another node in the system[5].In this section, an abstract view of the softwaredetails is presented for load balancing. The distributedsystem consists of several nodes and the same loadbalancing software is installed to run on all the nodesin the distributed system. By installing the samesoftware in all the nodes, the load balancing decision istaken by a node locally (decentralized) by collectingthe information from the neighboring nodes asopposed to the centralized load balancing policy[14].The program must use a multi-threaded concept toimplement load balancing in a distributed system. Twocommunication ports are available: TCP and UDP.UDP is preferable as it incurs less communicationoverhead. In general the architecture provides three
  2. 2. 10 P. Neelakantanwww.ijorcs.orglayers: Communication layer, Load balancing processand application layer[14][10]. For storing informationtwo data structures were used.The communication link is responsible for fourphases: node status information phase, node statusreception, tasks reception and task migration. The nodestatus information is responsible for disseminating theload information to the node that has requested it. Theexchange of the information has a profound effect onthe load balancing decision; it has to be doneaccording to the predefined intervals of time specifiedon each node [7] [14].The status reception is responsible for receiving thestatus information from the other nodes and it will beupdated in the local node list which is running thestatus reception phase. Here it is possible to distinguishthe old information from the new information. Thetechnique that is used to find is to associate thetimestamp for the information that it has received fromsome node (say 𝑇𝑆𝑗𝑖(𝐼𝑛𝑓), the time stamp attached tothe information received from 𝑗 to 𝑖). The local nodesay 𝑖 maintaining the status about the node 𝑗 is kept inthe memory. If any estimate regarding node 𝑗 exists inthe node 𝑖 memory, it will be compared to the receivedtime stamp message and drops the old time stamp andthe new timestamp message has been saved in thememory as the old time stamp has the obsoleteinformation[11][1][2].Once a node collects the above information, then itknows whether it is overloaded or underloaded. In caseif it is overloaded node, then it transmits the excesstasks (loads) to the underloaded nodes in a “taskstransmission” phase. The next initiation of loadbalancing activity will be done only when the currentmigration of load units to the underloaded nodes iscompleted.The “task reception” is responsible for listening tothe requests and accepts the tasks sent from the othernodes. As we can observe from the above situations,the minimum time to initiate the new load balancingactivity takes three time instants. One instant forreceiving the status of all the nodes and second timeinstant for determining the underloaded nodes andcomputing the excess load and third time instant fortransferring the excess load to the underloaded nodeswhich has been determined in the second time instant.So, the new load balancing activity takes place only atthe fourth time instant [12] [14].In a few papers [3] [9] [10], it is assumed that thenodes will not fail. The problem arises when the nodesfail which is common in the distributed systems.Sometimes a communication link will also fail, so thenode will be unreachable. These two aspects i.e.,failure of a node and the communication link willaffect greatly the load balancing algorithms. Let usassume the following scenario. The overloaded nodehas collected the load information from theneighboring nodes and found some of the nodes arelow loaded as discussed earlier. Now at the given timeinstant when the node tries to send its excess load tothe overloaded node, it will not succeed because of thefailure of the node. The node may fail after sending thestatus information. If this happens, an alternative mustbe chosen to avoid a failure of the load-balancingalgorithm.II. NOTATIONS & ASSUMPTIONSN : Number of nodesV= {1, 2,…, N} a set of nodes in a systemxi(t) : Expected waiting time experienced by a taskinserted into the queue at the ithnode in time tAi(t) : rate of generation of waiting time on ithnodecaused by the addition of tasks in time t.Si(t) : rate of reduction in waiting time caused by theservice of the tasks at the ithnode in time t.ri(t) : rate of removal(transfer) of the tasks from node jto node i at time t by the load balancing algorithm atnode j.tsi : Average completion time of the task at node : Average size of the task in bytes at node i when itis transferreddij : Transfer rate in bytes/sec between node i and nodej𝑥̅ 𝑖(𝑡): Average size of the queue calculated by node ibased on its domain information at time t.𝐷𝑖: Neighboring nodes to i which is defined as𝐷𝑖 = {𝑗|𝑗 ∈ 𝑉 𝑎𝑛𝑑 (𝑖, 𝑗) ∈ 𝐸} where V= {1, 2…N}𝐸𝑖(𝑡): Excess number of tasks at node i at time t.fij : Portion of the excess tasks of node i to betransferred to node j decided by the load balancingalgorithm.The following assumptions were made in this paper:1. It is assumed that a distributed system consists of Nheterogeneous nodes interconnected by anunderlying arbitrary communication network. Eachnode i in a system has a processing weight Pi >0and processing capacity Si>0. The load is defined tobe Li= Pi/Si. In homogenous case the value ofLi=Pi.2. It has been assumed that tasks arrive at node iaccording to Poisson process with rate 𝜆𝑖(𝑡). A taskarrived at node i may be processed locally ormigrated through the network to another node j forremote processing. Once the task is migrated, itremains there until its completion.
  3. 3. An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System 11www.ijorcs.org3. It is assumed that there is a communication delayincurred when task is transferred from one node toanother before the task can be processed in thesystem. The communication delays are different foreach link.Each node contains an independent queue wherearrived tasks are added to the queue, which results inaccumulation of waiting time. Load balancing must bedone repeatedly to maintain load balance in thesystem. The proposed algorithm is distributed in naturemeaning that each node runs load-balancing algorithmautonomously.The second level of the system is a load-balancinglayer, which consists of load balancing algorithms. Theload balancing process is initiated by suing predefinedtime instants or randomly generating which is kept in afile. The algorithm determines the portion of theexcess load to be sent to the underloaded node basedon the current state of the node and availability of thenodes in the network. The load balancing algorithmmust consider the communication delay whilemigrating the tasks to the other nodes. The algorithmselects the tasks to migrate to other nodes by settingtheir status as inactive to avoid execution of the tasksby current node application during the transitionperiod. After completion of the task transmissionactivity, the status of the tasks is set to active whenthey are not transmitted to any node. when the tasksare transmitted to other nodes during the tasktransmission phase then those tasks are removed fromthe task queue of the current node.Application layer consists of two threads of control:Task input and task execution threads. The task inputcreates a number of tasks defined in the initializationfile and inserts them in the task queue. This task inputis also responsible for adding the new tasks to the taskqueue either from the current node or from other nodesin the system. The task execution thread is responsiblefor execution of the tasks and updating the QSizevariable by removing the task from the task queue.The load balancing policy must take into account ofprocessing capacity of the node while migrating thetasks to it. The selected node may become a candidatefor one or more overloaded node in a given timeinstant because of the decentralized policy. Anotherissue to be considered is variable task completiontimes. Taking these issues in priori is not possible so aload balancing strategy must be adaptive to thedynamic state changes in the system and actaccordingly to transfer the tasks. Even this can resultin task shuttle between the nodes, so a migration limitfor a task should be set to avoid task thrashing.Another issue to be considered while migrating thetasks from one node to another node in a system iscommunication overhead. Large communicationdelays will have a negative impact on the loadbalancing policy, so, the transfer delays must be takeninto account while migrating the task. When thecompletion of the task time in current node is greaterthan the completion time on task in another nodeinclusive of communication overhead, then only a taskis considered for migration.III. MATHEMATICAL MODELThe mathematical model for load balancing in agiven node i is given by [1][2]𝑑𝑤 𝑖(𝑡)𝑑𝑡=𝐴𝑖 − 𝑆𝑖 + 𝑟𝑖(𝑡) − ∑ 𝑓𝑖𝑗𝑡𝑠𝑖𝑡𝑠 𝑗≠𝑁 𝑖𝑗=1 𝑟𝑗(𝑡 − 𝜏𝑖𝑗) (1)𝐸𝑖(𝑡)= 𝑞𝑖(𝑡)- 𝑞�𝑖(𝑡)𝑟𝑖(𝑡) = 𝐺𝑖(𝐸𝑖(𝑡))𝑓𝑖𝑗 ≥ 0, 𝑓𝑖𝑖=0, ∑ 𝑓𝑖𝑗 = 1≠𝑁𝑖𝑗=1𝐸𝑖(𝑡) = �𝐸 𝑖𝑓 𝑦 ≥ 00 𝑖𝑓 𝑦 < 0When a task is inserted into the task queue of nodei, then it experiences the expected waiting time whichis denoted by wi(t).Let the number of tasks in ithnode is denoted by 𝑞𝑖(t).Let the average time needed to service the task at nodei 𝑡𝑠𝑖 .The expected (average) waiting time is given by atnode i is given by 𝑤𝑖(𝑡) = 𝑞𝑖(𝑡)𝑡𝑠𝑖.Note that 𝑤𝑖(𝑡)/𝑡𝑠𝑖 = 𝑞𝑖 is the number of tasks inthe node i queue.Similarly 𝑤 𝑘(𝑡)/𝑡𝑠 𝑘 = 𝑞 𝑘 is the queue length ofsome node k. If tasks on node i were transferred tosome node k, then the waiting time transferred is𝑞𝑖 𝑡𝑠 𝑘=𝑤 𝑖(𝑡)𝑡𝑠 𝑘𝑡𝑠𝑖, so that the fraction 𝑡𝑠 𝑘/𝑡𝑠𝑖 convertswaiting time on node i to waiting time on node k.𝐴𝑖 ∶ Waiting time generated by adding the task in theithnode.𝑆𝑖 : Rate of reduction in waiting time caused by theservice of tasks at the ithnode is given by 𝑆𝑖 = (1 ∗𝑡𝑝𝑖)/𝑡𝑝𝑖=1 for all 𝑤𝑖(𝑡) > 0.𝑟𝑖(𝑡) ∶ The rate of removal (transfer) of the tasksfrom node i at time t by the load balancing algorithm atnode i. 𝑓𝑖𝑗 is the fraction of ithnode tasks to be sent outto the jthnode. In more detail fijri(t) is the rate at whichnode i sends waiting time (tasks) to node i at time twhere fii>=0 and 𝑓𝑖𝑖=0.That is, the transfer from node iof expected waiting time (tasks) ∫ 𝐸𝑖(𝑡)𝑑𝑡𝑡2𝑡1in theinterval of time [𝑡1, 𝑡2] to the other nodes is carried outwith the 𝑗 𝑡ℎnode receiving the fraction 𝑝𝑖𝑗(𝑡 𝑝 𝑗/𝑡 𝑝𝑖) ∫ 𝑢𝑖(𝑡)𝑑𝑡𝑡2𝑡1where the ratio 𝑡 𝑝 𝑗/𝑡 𝑝𝑖converts thetask from waiting time on node i to waiting time on
  4. 4. 12 P. Neelakantanwww.ijorcs.orgnode j. As ∑ (𝑛𝑖=1 𝑓𝑖𝑗 ∫ 𝐸𝑖(𝑡)𝑑𝑡𝑡2𝑡1) = ∫ 𝐸𝑖(𝑡)𝑑𝑡𝑡2𝑡1, thisresults in removing all of the waiting time ∫ 𝐸𝑖(𝑡)𝑑𝑡𝑡2𝑡1from node i.The quantity 𝑓𝑖𝑗 𝐸𝑖(𝑡 − 𝜏𝑖𝑗) is the rate ofincrease (rate of transfer) of the expected waiting time(tasks) at time t from node i by (to) node j where𝜏𝑖𝑗(𝜏𝑖𝑖 = 0) is the time delay for the task transfer fromnode i to node j.In this model, all rates are in units of the rate ofchange of expected waiting time, or time/time which isdimensionless. As 𝐸𝑖(𝑡) ≥ 0, node i can only sendtasks to other nodes and cannot initiate transfers fromanother node to itself. A delay is experienced bytransmitted tasks before they are received at the othernode. The control law 𝐸𝑖(𝑡) = 𝐺𝑖 ∗ 𝐸𝑖(𝑡) states that ifthe 𝑖 𝑡ℎnode output 𝑤𝑖(𝑡) is above the domain average(∑ 𝑞 𝑗(𝑡 − 𝜏𝑖𝑗))𝑛𝑗=1 /n, then it sends data to the othernodes, while if it is less than the domain averagenothing is sent. The 𝑗 𝑡ℎnode receives the fraction∫ 𝐹𝑖𝑗𝑡2𝑡1(𝑡 𝑝𝑖/𝑡 𝑝 𝑗) 𝑢𝑖(𝑡)𝑑𝑡 of transferred waiting time∫ 𝐸𝑖(𝑡)𝑑𝑡𝑡2𝑡1delayed by the time 𝜏𝑖𝑗.The modeldescribed in (1) is the basic model for load balancing,but an important feature is to determine fij for eachunderloaded node j. One approach is to distribute theexcess load equally to all the underloaded neighbors.𝑓𝑖𝑗 =1𝑛−1for i≠j.Another approach is to use the load informationcollected from the neighbors to determine the deficitload of the neighbors. The deficit load of the neighborsshall be determined by node i by using the formula (2)𝑞 𝑗(𝑡-𝜏𝑖𝑗) − 𝑞�𝑖 (2)The above formula is used by node i to compute thedeficiency waiting times in the queue of node j withrespect to the domain load average of node i.If node j queue is above the domain averagewaiting time, then node i do not send tasks to it.Therefore (𝑞�𝑖 − 𝑞 𝑗(𝑡-𝜏𝑖𝑗)) is a measure by node i ashow much node j is behind the domain average waitingtime. Node i performs this computation for all theother nodes which are directly connected to it and thenportions out its tasks among the other nodes that fallbelow the domain queue average of node i.𝑓𝑖𝑗 =(𝑞� 𝑖−𝑞 𝑗(𝑡−𝜏 𝑖𝑗))∑ (𝑞� 𝑖−𝑞 𝑗(𝑡−𝜏 𝑖𝑗)𝑁 𝑖𝑗=1(3)If the denominator ∑ (𝑞�𝑖 − 𝑞 𝑗(𝑡 − 𝜏𝑖𝑗)𝑁 𝑖𝑗=1 =0 then fijare defined to be zero then no waiting times aretransferred. If the denominator ∑ (𝑞�𝑖 − 𝑞 𝑗(𝑡 −𝑁 𝑖𝑗=1𝜏𝑖𝑗)=0, then(𝑞�𝑖 − 𝑞 𝑗(𝑡 − 𝜏𝑖𝑗) ≤ 0∀𝑗 ∈ 𝑁𝑖.However by definition of the average ∑ (𝑞�𝑖 −𝑁 𝑖𝑗=1𝑞 𝑗(𝑡 − 𝜏𝑖𝑗)+𝑞�𝑖 − 𝑞𝑖(𝑡) =∑ (𝑞�𝑖 − 𝑞 𝑗(𝑡 − 𝜏𝑖𝑗)𝑁 𝑖𝑗=1 )=0which implies𝑞�𝑖 − 𝑞 𝑗(𝑡)=∑ (𝑞�𝑖 − 𝑞 𝑗(𝑡 − 𝜏𝑖𝑗)𝑁 𝑖𝑗=1 ) > 0That is, if the denominator is zero, the node j is notgreater than its domain queue average, so Ei(t)= Gi.Ei(t))=0, where G is Gain Factor.fij : Portion of theexcess tasks of node i to be transferred to node jdecided by the load balancing algorithm.Except the last three parameters remaininginformation is known at the time of load balancingprocess. Before the instance of load balancing activity,every variable is updated.IV. ALGORITHMA. Algorithm ALSThe current node i, performs the followings:a. Calculate the average queue size ( 𝑞�𝑖)based on theinformation received from the neighbouring nodes.𝑞�𝑖=1≠𝑁𝑖+1∑ (𝑞𝑖 + 𝑞 𝑗𝑡𝑠 𝑗𝑡𝑠𝑖≠𝑁𝑖𝑗=1 )if (𝑞𝑖 > 𝑞�𝑖)then Ei =(𝑞𝑖-𝑞�𝑖) * Gelse Exit.b. Determine the participant nodes in load sharingprocess.Participants= {j| 𝑞 𝑗<𝑞�𝑖, ∀j∈Ni}c. Calculate the fraction of the load ( 𝑓𝑖𝑗′) to be sent tothe participants𝑓𝑖𝑗′=𝑞�𝑖−(𝑡𝑠 𝑗𝑡𝑠 𝑖)𝑞 𝑗∑ ( 𝑞�𝑖−(𝑐 𝑗𝑐 𝑖)𝑞 𝑗𝑁 𝑖𝑗=1d. Calculate maximum portion of the excess load(𝑓𝑖𝑗′′)𝑓𝑖𝑗′′=(𝑞𝑖−Ei) 𝑡𝑠𝑖 dijEibie. 𝑓𝑖𝑗 = Min (𝑓𝑖𝑗′, 𝑓𝑖𝑗′′)f. For j∈ Participantsi. Announce to node j about its willingness tosend Tij= 𝑓𝑖𝑗 *Ei tasks;ii. nowReceived = call procedure acceptanceFromNodej()iii. if(nowReceived >0)1. Transfer NowReceived to j2. Tij=Tij- NowReceivedEnd ifg. Repeat steps from (a) to (f).Procedure acceptanceFromNodej()if ((𝑞 𝑗+ Tij)< 𝑞� 𝑗nowSend=𝑞� 𝑗 − 𝑞 𝑗;else nowSend=-1;
  5. 5. An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System 13www.ijorcs.orgreturn now Send;end acceptanceFromNodejIn general it is assumed that keeping the Gain factorG=1 will give the good performance. But in adistributed system with largest delays and the nodesthat have domain queue average outdated gives poorresult. This phenomenon was first observed by the loadbalancing group at the University of New Mexico [7].So the G values are set in the way that yields anoptimal result. Another step that is added in the abovealgorithm is to test the node availability. It checks bothnode availability as well as the amount of waitingtimes it can receive. The node executing the ALS ispermitted to send the tasks to the neighbors afterreceiving the acknowledgement specifying the amountof the load they can be able to process.. The timecomplexity of the proposed algorithm is O(d) shown inthe table 1.Table 1: ALS OperationsSno Actions OperationQuantity,(d is thenumber ofneighbors)1Computeaveragequeue sizeAdditionDivisionMultiplicationd+1dd2 Compute EiSubtractionMultiplication113DeterminetheparticipantnodesComparison d4Compute𝑓𝑖𝑗′SubtractionDivisionMultiplicationd+1d+1d+15Compute𝑓𝑖𝑗′′SubtractionDivisionMultiplication1136 Compute Tij Multiplication d7Message tonodeTransfer d8ComputenowReceivedAdditionComparisonMessageTransferdddV. SIMULATIONTo test the performance of the newly proposedload-balancing policy, a Java program is developed totest the performance of the existing and proposedalgorithms. The existing algorithms, ELISA andDOLB are used to compare with the proposedalgorithm ALS. The DOLB is very much related to theabove problem. The initial settings and parameters areshown in Table 2. The average network transfer ratesbetween each node are represented by the costadjacency matrix.The proposed algorithm ALS is tested with DOLB& ELISA for the gain values G between 0.3 and 1 with0.1 incremental steps. The 𝛼 parameter introduced inthe previous section was set to 0.05 by running severalexperiments and observing the behavior of the tsiparameter. Note that, the first time the load-balancingprocess was triggered was after 40s from the start ofthe system and then the strategy was executedregularly at 20s interval.Table 2: Simulation ParametersNumber of nodes 16,32,64Initial taskdistribution[100..1000] tasks distributedrandomly at each nodeAverage taskprocessing time(𝑡𝑠in ms)Processing time is randomlydistributed in arange[300…800]Size of task( in Mb) 1Load balancinginstanceFirst time the load balancingwas triggered at 5s then forevery 10s the load balancingis initiatedBandwidthdistribution (𝑑𝑖𝑗)A cost adjacency matrixdenotes the transfer ratebetween the nodes.Number of nodes 16,32,64Initial taskdistribution[100..1000] tasks distributedrandomly at each nodeAverage taskprocessing time(𝑡𝑠in ms)Processing time is randomlydistributed in arange[300…800]This was done to ensure that the ts parameter hadenough time to adapt and reflect the currentcomputational power of each node before theoccurrence of any tasks migration between the nodes.Note that the ratio𝑡𝑠𝑖𝑡𝑠 𝑗are fixed over time. Theproposed and rival methods were evaluated byconducting 10 runs for each value of G between 0.3and 1 with 0.1 incremental step.
  6. 6. 14 P. Neelakantanwww.ijorcs.orgFigure 1: Completion time averaged over 5 runs vs differentgain values K. The graphs shows the results of three policiesfor system size=64.Figure 2: Completion time averaged over 5 runs vs.different gain values K. The graphs shows the results ofthree policies for system size=32.Figure 3: Total number of tasks exchanged averaged over 5runs Vs different Gain values K. The graphs shows theperformance of the three policies for system size=16.VI. CONCLUSIONThe proposed algorithm is better when compared tothe existing algorithms in the literature. In simulation,we assumed the tasks with no precedence and with nodeadlines. However, as a future work, the algorithmmust focus on considering the tasks with dead line andtasks with precedence relations.VII. REFERENCES[1] M. M. Hayat, S . Dhakal, C. T. Abdallah I ‘Dynamictime delay models for load balancing. Part II: Stochasticanalysis of the effect of delay uncertainty, CNRS-NSFWorkshop: Advances in Control of tirne-delay Systems,Paris France, January 2003.[2] J. Ghanem, C. T. Abdallah, M. M. Hayat, S. Dhakal,J.D Birdwell, J. Chiasson, and Z. Tang. Implementationof load balancing algorithms over a local area networkand the internet. 43rd IEEE Conference on Decisionand Control, Submitted, Bahamas, 2004. doi:10.1109/CDC.2004.1429411[3] L. Anand, D. Ghose, and V. Mani, “ELISA: AnEstimated Load Information Scheduling Algorithm forDistributed Computing Systems,” Int’l J. Computersand Math With Applications, vol. 37, no. 8, pp. 57-85,Apr. 1999. doi: 10.1016/S0898-1221(99)00101-7[4] WEI Wen-hong, XIANG Fei, WANG Wen-feng, et al.Load Balancing Algorithm in Structure P2PSystems[J],Computer Science, 2010, 37(4):82-85.[5] Khalifa, A.S.; Fergany, T.A.; Ammar, R.A.; Tolba,M.F,” Dynamic online Allocation of Independent tasksonto heterogeneous computing systems to maximizeload balancing,” IEEE International Symposium onSignal Processing and Information Technology, ISSPIT2008,Page(s): 418 – 425. doi: 10.1109/ISSPIT.2008.4775659[6] Andras Veres and Miklos Boda. The chaotic nature ofTCP congestion control. In Proceedings of the IEEEInfocom, pages 1715-1723, 2000. doi:10.1109/INFCOM.2000.832571[7] J. Chiasson, J. D. Birdwell, Z. Tang, and C.T. Abdallah.The effect of time delays in the stability of loadbalancing algorithms for parallel computations. IEEEConference on Decision and Control, Maui, Hawaii,2003. doi: 10.1109/CDC.2003.1272626[8] Ming wu and Xian-He sun, A General Self AdaptiveTask Scheduling System for Non DedicatedHeterogeneous Computing, In Proceedings of IEEEInternational Conference on Cluster Computing, PP354-361, Dec 2003. doi: 10.1109/CLUSTR.2003.1253334[9] Z. Zeng and B. Veeravalli, "Design and PerformanceEvaluation of Queue-and-Rate-Adjustment DynamicLoad Balancing Policies for Distributed Networks",presented at IEEE Trans. Computers, 2006, pp.1410-1422. doi: 10.1109/TC.2006.180[10] K. Lu, R. Subrata, and A. Y. Zomaya, Towardsdecentralized load balancing in a computational gridenvironment, in: Proceedings of the first InternationalConference on Grid and Pervasive Computing, 2006,Vol. 3947, pp. 466-477, Springer-Verlag Press. doi:10.1007/11745693_46[11] Acker, D., Kulkarni, S. 2007. A Dynamic LoadDispersion Algorithm for Load Balancing in aHeterogeneous Grid System. IEEE Sarnoff0204060801001201401600.3 0.4 0.5 0.6 0.7 0.8 0.9 1ALSDOLBELISA0204060801001201401600.3 0.4 0.5 0.6 0.7 0.8 0.9 1AverageTaskCompletiontimeGainALSDOLBELISA0501001502002503003504004500.3 0.4 0.5 0.6 0.7 0.8 0.9 1NUmberofTasksexchangedALSDOLBELISA
  7. 7. An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System 15www.ijorcs.orgSymposium, 1- 5, 2007. 10.1109/SARNOF.2007.4567375[12] M. Luczak and C. McDiarmid. On the maximum queuelength in the supermarket model. The Annals ofProbability, 34(2):493–527, 2006. doi: 10.1214/00911790500000710[13] Zhou, S. (1987). An Experimental Assessment ofResource Queue Lengths as Load Indices. Proc. WinterUSENIX Conf., p.73-82.[14] J. Ghanem, C. T. Abdallah, M. M. Hayat, S. Dhakal,J.D Birdwell, J. Chiasson, and Z. Tang. Implementationof load balancing algorithms over a local area networkand the internet. 43rd IEEE Conference on Decisionand Control, Submitted, Bahamas, pp 4199-4204, 2004.How to citeP. Neelakantan, " An Adaptive Load Sharing Algorithm for Heterogeneous Distributed System ". InternationalJournal of Research in Computer Science, 3 (3): pp. 9-15, May 2013. doi: 10.7815/ijorcs. 33.2013.063