Distributed algorithms for load balancing in very large homogeneous systems

In order to improve the performance of a system it is necessary to balance the loads among the processors in the system. We propose distributed load balancing algorithms for very large systems with possibly thousands of processors. The proposed algorithms are truly distributed, i.e., there does not exist any central controller to provide control, coordination, or mediation among the processors. Processors, with the use of local knowledge and interaction with their neighbors, maintain global balance in the system. The way processors are paired to exchange their loads will have an impact on the performance of the system. We have shown that an effective pairing of processors is possible with the use of the concepts of edge-coloring and node-coloring from graph theory. The proposed algorithms are truly dynamic and adaptable to instantaneous changes in the system. Their correct operation does not depend on any fixed-threshold level. They provide a fair service to every job regardless of its source of delivery to the system.

[1]  Domenico Ferrari,et al.  A Load Index for Dynamic Load Balancing , 1986, FJCC.

[2]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[3]  Amnon Barak,et al.  A distributed load‐balancing policy for a multicomputer , 1985, Softw. Pract. Exp..

[4]  John A. Stankovic,et al.  An Adaptive Bidding Algorithm For Processes, Clusters and Distributed Groups , 1984, ICDCS.

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

[6]  Yung-Terng Wang,et al.  Load Sharing in Distributed Systems , 1985, IEEE Transactions on Computers.

[7]  Theodore R. Bashkow,et al.  A large scale, homogeneous, fully distributed parallel machine, I , 1977, ISCA '77.

[8]  Chong-Wei Xu,et al.  A Distributed Drafting Algorithm for Load Balancing , 1985, IEEE Transactions on Software Engineering.

[9]  Dharma P. Agrawal,et al.  Generalized Hypercube and Hyperbus Structures for a Computer Network , 1984, IEEE Transactions on Computers.

[10]  Larry D. Wittie,et al.  Wave Scheduling - Decentralized Scheduling of Task Forces in Multicomputers , 1984, IEEE Trans. Computers.

[11]  Raphael A. Finkel,et al.  A Stable Distributed Scheduling Algorithm , 1981, IEEE International Conference on Distributed Computing Systems.

[12]  RAPHAEL A. FINKEL,et al.  Distributed algorithms for global structuring* , 1979, 1979 International Workshop on Managing Requirements Knowledge (MARK).

[13]  Claude Berge,et al.  Graphs and Hypergraphs , 2021, Clustering.

[14]  Eshrat Arjomandi An Efficient Algorithm for Colouring the Edges of a Graph With Δ + 1 Colours , 1982 .

[15]  Edward D. Lazowska,et al.  A comparison of receiver-initiated and sender-initiated adaptive load sharing (extended abstract) , 1985, SIGMETRICS 1985.

[16]  Daniel Brélaz,et al.  New methods to color the vertices of a graph , 1979, CACM.

[17]  Arthur J. Bernstein,et al.  Output Guards and Nondeterminism in “Communicating Sequential Processes” , 1980, TOPL.