A simple load balancing scheme for task allocation in parallel machines
A simple load balancing scheme for task allocation in parallel machines
复制标题
DOI:
10.1145/113379.113401
复制
发表时间:
1991-06
期刊:
影响因子:
--
通讯作者:
L. Rudolph;M. Allalouf;E. Upfal
中科院分区:
文献类型:
--
作者:
L. Rudolph;M. Allalouf;E. Upfal
A collection of local workpiles (task queues) and a simple load balancing scheme is well suited for scheduling tasks in shared memory parallel machines. Task scheduling on such machines has usually been done through a single, globally accessible, workpile. The scheme introduced in this paper achieves a balancing comparable to that of a global workpile, while minimizing the overheads. In many parallel computer architectures, each processor has some memory that it can access more efficiently, and so it is desirable that tasks do not mirgrate frequently. The load balancing is simple and distributed: Whenever a processor accesses its local workpile, it performs a balancing operation with probability inversely proportional to the size of its workpile. The balancing operation consists of examining the workpile of a random processor and exchanging tasks so as to equalize the size of the two workpiles. The probabilistic analysis of the performance of the load balancing scheme proves that each tasks in the system receives its fair share of computation time. Specifically, the expected size of each local task queue is within a small constant factor of the average, i.e. total number of tasks in the system divided by the number of processors.