| OCR Text |
Show 42 with the rest of the system, it would be possible to push such exchanges into background mode. Communication links between processors are used for the PP updates only when they have nothing else to send. The drawback of this approach is that the system throughput may decrease when the updating period is prolonged. 2.4.7.5 Localit~ The best way to preserve the locality of a program execution is to keep all tasks within one processor. Any load balancing measure, which, by definition. spreads loads to other processors, is in direct conflict with the goal of locality. Since it is difficult to quantify the effects of locality, the degree of locality is clearly a tradeoff decision for every load balancing algorithm. The gradient model balancing scheme he/ ps locality in several ways. The saturation mechanism enforces program locality by stalling the movements of excessive tasks and confining tasks to their generating processors. The switch from breadth-first to depth-first evaluation (section 2.3.5) also boosts locality. The balance-by-need principle benefits locality too. A task is migrated away from its originating node only if it is needed. The system discourages the segregation between parent and child tasks until it is necessary. If there are many migratable tasks in an overloaded processor, the selection of migrating task may affect- the locality. In general, a newly generated task is more likely to have a closer environment than an ·older task. This suggests that transferring the oldest task in a task pool may lessen the impact on locality. 2.4.7.6 Maximum hops. One may vigorously enforce locality by limiting the maximum hops of a free task. The maximum may be set as a constant. or it may be computed from the granularity of the task. Setting a maximum hop count has a side benefit besides locality. It also eliminates the poss1bll1ty of I ivelock. A livelock occurs when an active task gets pushed around w1thout being picked up by an idle node. The situation is similar to that of convent1onal multitasking operating systems [23, 25]. A sys- |