| OCR Text |
Show 24 2.3.2 Demand-driven approach A heavily-loaded processor may initiate load balancing by requesting status of neighboring nodes and selecting a less busy processor to transfer the excessive load. The definition of less busy is not obvious in a distributed system because of communication delays between processors. On the other' hand, an idle or underutilized processor may start the load balancing algorithm by asking for more work. The advantages of such a balancing by need method are to eliminate "guess work" and to minimize system overhead. When a processor becomes idle, it initiates a load request to its immediate neighbors. If a neighbor is overloaded, one excessive load unit is transferred to the idle node. Otherwise, the request is "adjusted" and propagated to more distant processors. Intuitively, an idle node creates a vacuum on the processor plane so that extra tasks of other nodes can flow into the idle processor. 2.3.3 Gradient surface In order for a task to flow toward an idle processor, a gradient surface needs to be established. Since an idle node is an obvious target for load migration, it is assigned the lowest "potential" in the processor plane. Different strategies may be used to determine the potential of non-idle processors. For example, a customary approach is to define the busyness of a node as its potential. The goal of the gradient model load balancing scheme is that of satisfying the demands of idle processors. The necessary condition of a gradient surface is that there exists a potential gradient which leads excessive tasks toward the lowest potential in the surface. It is observed that in a homogeneous system, the gradient surface may be formed by defining the "potential" as the distance between a node and its nearest idle processor. The following discussions assume such a homogeneous system and use this definition of potential. Because of the intuitive meaning, |