What to Balance



next up previous
Next: The Task Queue Up: Design Issues Previous: Where to balance?

What to Balance

After a busy processor is paired with an idle processor, their loads are re-distributed in order to reduce the overall execution time. In general, it is very difficult to determine the optimal distribution of work, since it also depends on the load of other processors.

A common approach is to migrate a fixed portion (less than 50%) of work from the busy processor. The amount of work is estimated by computation costs of the individual tasks, which must be specified by the programmer.

Task migration disturbs data locality, since local references made by the task may become remote after it is moved. To reduce the loss of data locality, the programmer specifies the penalty of migrating the tasks so that tasks with high penalty are kept local whenever possible.

Excessive task migration may congest the network or even overflow the local memory of the destination processor. Some form of flow control between the source and the destination processor must be enforced.



Boris Vaysman
Fri Mar 22 13:38:23 PST 1996