Skip to main content
Log in

A family of optimal termination detection algorithms

  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

An important problem in distributed systems is to detect termination of a distributed computation. A computation is said to have terminated when all processes have become passive and all channels have become empty. In this paper, we present a suite of algorithms for detecting termination of a non-diffusing computation for an arbitrary communication topology under a variety of conditions. All our termination detection algorithms have optimal message complexity. Furthermore, they have optimal detection latency when message processing time is ignored.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Alagar S. and Venkatesan S. (1994). An optimal algorithm for recording snapshots using casual message delivery. Inform. Process. Lett. 50: 311–316

    Article  MATH  Google Scholar 

  2. Atreya, R., Mittal, N., Garg, V. K.: Detecting locally stable predicates without modifying application messages. In: Proceedings of the 7th International Conference on Principles of Distributed Systems (OPODIS), pp. 20–33, La Martinique, France (2003)

  3. Attiya H. and Welch J. (2004). Distributed Computing: Fundamentals, Simulations and Advanced Topics. Wiley, New York

    Google Scholar 

  4. Chandrasekaran S. and Venkatesan S. (1990). A message-optimal algorithm for distributed termination detection. J. Parallel Distrib. Comput. 8(3): 245–252

    Article  Google Scholar 

  5. Chandy K.M. and Lamport L. (1985). Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3(1): 63–75

    Article  Google Scholar 

  6. Chandy K.M. and Misra J. (1986). How processes learn. Distrib. Comput. 1(1): 40–52

    Article  MATH  Google Scholar 

  7. Dally W.J. (1990). Performance analysis of k-ary-n cube interconnection networks. IEEE Trans. Comput. 39(6): 775–785

    Article  Google Scholar 

  8. Demirbas, M., Arora, A.: An Optimal Termination Detection Algorithm for Rings. Technical Report OSU-CISRC-2/00-TR05, The Ohio State University (2000)

  9. Dijkstra, E.W.: Shmuel Safra’s Version of Termination Detection. EWD Manuscript 998. Available at http://www.cs.utexas.edu/users/EWD/, (1987)

  10. Dijkstra E.W. and Feijen W.H.J. (1983). Derivation of a termination detection algorithm for distributed computations. Inform. Process. Lett. 16: 217–219

    Article  Google Scholar 

  11. Dijkstra E.W. and Scholten C.S. (1980). Termination detection for diffusing computations. Inform. Process. Lett. 11(1): 1–4

    Article  MATH  Google Scholar 

  12. Francez N. (1980). Distributed termination. ACM Trans. Program. Lang. Syst. 2(1): 42–55

    Article  MATH  Google Scholar 

  13. Hélary, J.-M., Jard, C., Plouzeau, N., Raynal, M.: Detection of stable properties in distributed applications. In: Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC), pp. 125–136 (1987)

  14. Hélary J.-M. and Raynal M. (1994). Towards the construction of distributed detection programs, with an application to distributed termination. Distrib. Comput. 7(3): 137–147

    Article  Google Scholar 

  15. Huang, S.-T.: Detecting termination of distributed computations by external agents. In: Proceedings of the IEEE International Conference on Distributed Computing Systems (ICDCS), pp. 79–84 (1989)

  16. Huang S.-T. (1989). Termination detection by using distributed snapshots. Inform. Process. Lett. 32: 113–119

    Article  Google Scholar 

  17. Lai, T.-H., Tseng, Y.-C., Dong, X.: A more efficient message-optimal algorithm for distributed termination detection. In: Proceedings of the 6th International Parallel and Processing Symposium (IPPS), pp. 646–649. IEEE Computer Society (1992)

  18. Lai T.-H. and Yang T.H. (1987). On distributed snapshots. Inform. Process. Lett. 25(3): 153–158

    Article  MATH  Google Scholar 

  19. Lamport L. (1978). Time, clocks and the ordering of events in a distributed system. Commun. ACM 21(7): 558–565

    Article  MATH  Google Scholar 

  20. N. Lynch (1996) Distributed Algorithms. Morgan Kaufmann

  21. Mahapatra, N.R., Dutt, S.: An efficient delay-optimal distributed termination detection algorithm. J. Parallel Distrib. Comput. (2004) (to appear)

  22. Matocha J. and Camp T. (1998). A taxonomy of distributed termination detection algorithms. J. Syst. Softw. 43(3): 207–221

    Article  Google Scholar 

  23. Mattern F. (1987). Algorithms for distributed termination detection. Distrib. Comput. 2(3): 161–175

    Article  Google Scholar 

  24. Mattern F. (1989). Global quiescence detection based on credit distribution and recovery. Inform. Process. Lett. 30(4): 195–200

    Article  Google Scholar 

  25. Mattern F., Mehl H., Schoone A. and Tel G. (1991). Global virtual time approximation with distributed termination detection algorithms, Technical Report RUU-CS-91-32. University of Utrecht, The Netherlands

    Google Scholar 

  26. Misra, J.: Detecting termination of distributed computations using markers. In: Proceedings of the ACM Symposium on Principles of Distributed Computing (PODC), pp. 290–294 (1983)

  27. Mittal, N., Venkatesan, S., Peri, S.: Message-optimal and latency-optimal termination detection algorithms for arbitrary topologies. In: Proceedings of the 18th Symposium on Distributed Computing (DISC), pp. 290–304, Amsterdam, The Netherlands (2004)

  28. Peri, S., Mittal, N.: On termination detection in an asynchronous distributed system. In: Proceedings of the ISCA International Conference on Parallel and Distributed Computing Systems (PDCS), pp. 209–215, San Francisco, CA, USA (2004)

  29. Rana S.P. (1983). A distributed solution of the distributed termination problem. Inform. Process. Lett. 17(1): 43–46

    Article  MATH  Google Scholar 

  30. Shavit N., Francez N. (1986) A new approach to detection of locally indicative stability. In: Proceedings of the International Colloquium on Automata, Languages and Systems (ICALP), pp. 344–358, Rennes, France

  31. Tel G. (2000). Introduction to Distributed Algorithms. Cambridge University Press (US Server), Cambridge

    MATH  Google Scholar 

  32. Tel G. and Mattern F. (1993). The derivation of distributed termination detection algorithms from garbage collection schemes. ACM Trans. Programm. Lang. Syst. 15(1): 1–35

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Neeraj Mittal.

Additional information

A preliminary version of the paper first appeared in the 18th Symposium on Distributed Computing (DISC), 2004 [27].

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mittal, N., Venkatesan, S. & Peri, S. A family of optimal termination detection algorithms. Distrib. Comput. 20, 141–162 (2007). https://doi.org/10.1007/s00446-007-0031-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-007-0031-3

Keywords

Navigation