Dynamic load balancing on a distributed system

We consider the problem of load balancing on loosely coupled multiprocessor systems. During run time, a task may create subtasks, which are dynamically distributed by the load balancer. Different load-balancing strategies (receiver-initiated, sender-initiated and mixture of both) are studied and evaluated on transputers. We test three commonly used benchmark problems (fibonacci function, N-queen and 15-puzzle) to observe the effect of load balancing. Our experiments involve up to 18 Transputers, and we observe speed improvements from 12 to 16 times over a sequential program. The mixed strategy was the best in most cases. We also find that the longer a problem takes to solve using sequential implementation, the more likely it is to benefit from parallel execution. The load balancing algorithms presented here are applicable to any distributed systems where processor interconnection is modifiable.<<ETX>>

[1]  Laxmikant V. Kalé,et al.  A dynamic scheduling strategy for the Chare-Kernel system , 1989, Proceedings of the 1989 ACM/IEEE Conference on Supercomputing (Supercomputing '89).

[2]  Nicholas Carriero,et al.  Linda in context , 1989, CACM.

[3]  C. K. Yuen Parallel LISP Systems: A Study of Languages and Architectures , 1992 .

[4]  Robert M. Keller,et al.  The Gradient Model Load Balancing Method , 1987, IEEE Transactions on Software Engineering.

[5]  M. Ronan Sleep,et al.  Transputer-Based Experiments with the ZAPP Architecture , 1987, PARLE.

[6]  Richard E. Korf,et al.  Depth-First Iterative-Deepening: An Optimal Admissible Tree Search , 1985, Artif. Intell..

[7]  Edward D. Lazowska,et al.  A Comparison of Receiver-Initiated and Sender-Initiated Adaptive Load Sharing , 1986, Perform. Evaluation.