Stepwise development of a distributed load balancing algorithm

  • Peter Grønning
  • Thomas Qvist Nielsen
  • Hans Henrik Løvengreen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 486)


This paper describes an algorithm which has been used to implement load balancing for the problem-heap paradigm on a distributed system of transputers. The algorithm is relatively simple due to the fact that only local balance is sought. Emphasis is put on the stepwise development of the algorithm. First an abstract algorithm is presented and its safety and liveness properties are proved. Then a concrete, distributed algorithm is shown to correctly implement the abstract one. Experimental results of the transputer implementation are also reported.


Load balancing distributed data structures formal methods transputer 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    R.J.R. Back & R. Kurki-Suonio: Decentralization of process nets with centralized control. Distributed Computing, Vol. 3, No. 2, 1989, Pages 73–87.Google Scholar
  2. [2]
    J.W. de Bakker, W.-P. de Roever & G. Rozenberg (Eds.): Stepwise Refinement of Distributed Systems. Lecture Notes in Computer Science, Vol. 430, Springer 1990.Google Scholar
  3. [3]
    Mani Chandy & Jayadev Misra: An Example of Stepwise Refinement of Distributed Programs: Quiescence Detection. ACM Transactions on Programming Languages and Systems, Vol. 8, No. 3, July 1986, Pages 326–343.Google Scholar
  4. [4]
    Mani Chandy & Jayadev Misra: Parallel Program Design — A Foundation. Addison-Wesley Publishing Company Inc. 1988.Google Scholar
  5. [5]
    Edsger W. Dijkstra: Self-stabilizing Systems in Spite of Distributed Control. Communications of the ACM, Vol. 17, No. 11, 1974, Pages 643–644.Google Scholar
  6. [6]
    C.A.R. Hoare: Communicating Sequential Processes. Communication of ACM, Vol. 21, No. 8, August 1978, Pages 666–677.Google Scholar
  7. [7]
    Bengt Jonsson: Compositional Verification of Distributed Systems. Ph.D. Thesis, Uppsala DoCS 87/09 1987.Google Scholar
  8. [8]
    Leslie Lamport: An Assertional Correctness Proof of a Distributed Algorithm. Science of Computer Programming, Vol. 2, 1982, Pages 175–206.Google Scholar
  9. [9]
    Leslie Lamport: A Theorem on Atomicity in Distributed Algorithms. Digital Systems Research Center, Report No. 28, 1988.Google Scholar
  10. [10]
    Leslie Lamport: A simple approach to specifying concurrent systems. Communications of the ACM, Vol. 32, No. 1, 1989, Pages 32–45.Google Scholar
  11. [11]
    Peter Møller-Nielsen & Jørgen Staunstrup: Problem-heap: A paradigm for multiprocessor algorithms. Parallel Computing, Vol. 4, 1987, Pages 63–74.Google Scholar
  12. [12]
    Van Nguyen et. al.: A model and temporal proof system for networks of processes. Distributed Computing, Vol. 1, 1986, Pages 7–25Google Scholar
  13. [13]
    A. Pnueli: Applications of Temporal Logic to the Specification and Verification of Reactive Systems: A Survey of Current Trends. Lecture Notes in Computer Science, Vol. 224, Springer 1986, Pages 510–584.Google Scholar
  14. [14]
    Eugene W. Stark: Foundations of a Theory of Specification for Distributed Systems. Ph.D. Thesis, Report No. MIT/LCS/TR-342, Massachusetts Institute of Technology 1984.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Peter Grønning
    • 1
  • Thomas Qvist Nielsen
    • 1
  • Hans Henrik Løvengreen
    • 1
  1. 1.Department of Computer Science Building 344Technical University of DenmarkLyngbyDenmark

Personalised recommendations