Distributed Termination Detection

  • Michel Raynal


This chapter is on the detection of the termination of a distributed computation. This problem was posed and solved for the first time in the early 1980s independently by E.W. Dijkstra and C.S. Scholten (1980) and N. Francez (1980). This is a non-trivial problem. While, in sequential computing, the termination of the only process indicates that the computation has terminated, this is no longer true in distributed computing. Even if we were able to observe simultaneously all the processes, observing all of them passive could not allow us to conclude that the distributed execution has terminated. This is because some messages can still be in transit, which will reactivate their destination processes when they arrive, and these re-activations will, in turn, entail the sending of new messages, etc.

This chapter presents several models of asynchronous computations and observation/detection algorithms suited to termination detection in each of them. As in other chapters, the underlying channels are not required to be FIFO. Moreover, while channels are bidirectional, the term “output” channels (resp., “input” channels) is used when considering message send (resp., message reception).


AND receive Asynchronous system Atomic model Counting Diffusing computation Distributed iteration Global state k-out-of-n receive statement Loop invariant Message arrival vs. message reception Network traversal Non-deterministic statement OR receive statement Reasoned construction Receive statement Ring Spanning tree Stable property Termination detection Wave 


  1. 64.
    J. Brzezinski, J.-M. Hélary, M. Raynal, Termination detection in a very general distributed computing model, in Proc. 13th IEEE Int’l Conference on Distributed Computing Systems (ICDCS’93) (IEEE Press, New York, 1993), pp. 374–381 Google Scholar
  2. 74.
    S. Chandrasekaran, S. Venkatesan, A message-optimal algorithm for distributed termination detection. J. Parallel Distrib. Comput. 8(3), 245–252 (1990) CrossRefGoogle Scholar
  3. 79.
    K.M. Chandy, J. Misra, An example of stepwise refinement of distributed programs: quiescence detection. ACM Trans. Program. Lang. Syst. 8(3), 326–343 (1986) zbMATHCrossRefGoogle Scholar
  4. 82.
    E.J.H. Chang, Echo algorithms: depth-first algorithms on graphs. IEEE Trans. Softw. Eng. SE-8(4), 391–402 (1982) CrossRefGoogle Scholar
  5. 87.
    B. Charron-Bost, G. Tel, Calcul approché de la borne inférieure de valeurs réparties. Inform. Théor. Appl. 31(4), 305–330 (1997) MathSciNetzbMATHGoogle Scholar
  6. 114.
    E.W. Dijkstra, W.H.J. Feijen, A.J.M. van Gasteren, Derivation of a termination detection algorithm for distributed computations. Inf. Process. Lett. 16(5), 217–219 (1983) CrossRefGoogle Scholar
  7. 115.
    E.W.D. Dijkstra, C.S. Scholten, Termination detection for diffusing computations. Inf. Process. Lett. 11(1), 1–4 (1980) MathSciNetzbMATHCrossRefGoogle Scholar
  8. 130.
    N. Francez, Distributed termination. ACM Trans. Program. Lang. Syst. 2(1), 42–55 (1980) zbMATHCrossRefGoogle Scholar
  9. 132.
    N. Francez, M. Rodeh, Achieving distributed termination without freezing. IEEE Trans. Softw. Eng. 8(3), 287–292 (1982) zbMATHCrossRefGoogle Scholar
  10. 140.
    R. Fujimoto, Parallel discrete event simulation. Commun. ACM 33(10), 31–53 (1990) CrossRefGoogle Scholar
  11. 168.
    J.-M. Hélary, M. Hurfin, A. Mostéfaoui, M. Raynal, F. Tronel, Computing global functions in asynchronous distributed systems with perfect failure detectors. IEEE Trans. Parallel Distrib. Syst. 11(9), 897–909 (2000) CrossRefGoogle Scholar
  12. 169.
    J.-M. Hélary, C. Jard, N. Plouzeau, M. Raynal, Detection of stable properties in distributed systems, in Proc. 6th ACM Symposium on Principles of Distributed Computing (PODC’87) (ACM Press, New York, 1987), pp. 125–136 Google Scholar
  13. 178.
    J.-M. Hélary, M. Raynal, Vers la construction raisonnée d’algorithmes répartis: le cas de la terminaison. TSI. Tech. Sci. Inform. 10(3), 203–209 (1991) Google Scholar
  14. 179.
    J.-M. Hélary, M. Raynal, Synchronization and Control of Distributed Systems and Programs (Wiley, New York, 1991), 160 pages Google Scholar
  15. 180.
    J.-M. Hélary, M. Raynal, Towards the construction of distributed detection programs with an application to distributed termination. Distrib. Comput. 7(3), 137–147 (1994) CrossRefGoogle Scholar
  16. 190.
    S.-T. Huang, Termination detection by using distributed snapshots. Inf. Process. Lett. 32(3), 113–119 (1989) CrossRefGoogle Scholar
  17. 191.
    S.-T. Huang, Detecting termination of distributed computations by external agents, in Proc. 9th IEEE Int’l Conference on Distributed Computing Systems (ICDCS’89) (IEEE Press, New York, 1989), pp. 79–84 Google Scholar
  18. 221.
    T.-H. Lai, Termination detection for dynamically distributed systems with non-first-in-first-out communication. J. Parallel Distrib. Comput. 3(4), 577–599 (1986) CrossRefGoogle Scholar
  19. 249.
    F. Mattern, Algorithms for distributed termination detection. Distrib. Comput. 2(3), 161–175 (1987) CrossRefGoogle Scholar
  20. 251.
    F. Mattern, Global quiescence detection based on credit distribution and recovery. Inf. Process. Lett. 30(4), 195–200 (1989) MathSciNetCrossRefGoogle Scholar
  21. 252.
    F. Mattern, An efficient distributed termination test. Inf. Process. Lett. 31(4), 203–208 (1989) CrossRefGoogle Scholar
  22. 257.
    J. Mayo, Ph. Kearns, Efficient distributed termination detection with roughly synchronized clocks. Inf. Process. Lett. 52(2), 105–108 (1994) CrossRefGoogle Scholar
  23. 261.
    J. Misra, Detecting termination of distributed computations using markers, in Proc. 2nd ACM Symposium on Principles of Distributed Computing (PODC’83) (ACM Press, New York, 1983), pp. 290–294 CrossRefGoogle Scholar
  24. 263.
    J. Misra, Distributed discrete event simulation. ACM Comput. Surv. 18(1), 39–65 (1986) CrossRefGoogle Scholar
  25. 265.
    J. Misra, K.M. Chandy, Termination detection of diffusing computations in communicating sequential processes. ACM Trans. Program. Lang. Syst. 4(1), 37–43 (1982) zbMATHCrossRefGoogle Scholar
  26. 302.
    S.P. Rana, A distributed solution of the distributed termination problem. Inf. Process. Lett. 17(1), 43–46 (1983) MathSciNetzbMATHCrossRefGoogle Scholar
  27. 308.
    M. Raynal, Networks and Distributed Computation: Concepts, Tools and Algorithms (The MIT Press, Cambridge, 1987), 168 pages. ISBN 0-262-18130-4 Google Scholar
  28. 309.
    M. Raynal, Prime numbers as a tool to design distributed algorithms. Inf. Process. Lett. 33, 53–58 (1989) MathSciNetzbMATHCrossRefGoogle Scholar
  29. 319.
    M. Raynal, J.-M. Hélary, Synchronization and Control of Distributed Systems and Programs. Wiley Series in Parallel Computing (1991), 126 pages. ISBN 0-471-92453-9 Google Scholar
  30. 330.
    S. Ronn, H. Saikkonen, Distributed termination detection with counters. Inf. Process. Lett. 34(5), 223–227 (1990) MathSciNetCrossRefGoogle Scholar
  31. 342.
    N. Shavit, N. Francez, A new approach to detection of locally indicative stability, in 13th Int’l Colloquium on Automata, Languages and Programming (ICALP’86). LNCS, vol. 226 (Springer, Berlin, 1986), pp. 344–358 CrossRefGoogle Scholar
  32. 365.
    G. Tel, Introduction to Distributed Algorithms, 2nd edn. (Cambridge University Press, Cambridge, 2000), 596 pages. ISBN 0-521-79483-8 zbMATHCrossRefGoogle Scholar
  33. 366.
    G. Tel, F. Mattern, The derivation of distributed termination detection algorithms from garbage collection schemes. ACM Trans. Program. Lang. Syst. 15(1), 1–35 (1993) CrossRefGoogle Scholar
  34. 367.
    G. Tel, R.B. Tan, J. van Leeuwen, The derivation of graph-marking algorithms from distributed termination detection protocols. Sci. Comput. Program. 10(1), 107–137 (1988) zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Michel Raynal
    • 1
  1. 1.Institut Universitaire de France IRISA-ISTICUniversité de Rennes 1Rennes CedexFrance

Personalised recommendations