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.
Similar content being viewed by others
References
Alagar S. and Venkatesan S. (1994). An optimal algorithm for recording snapshots using casual message delivery. Inform. Process. Lett. 50: 311–316
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)
Attiya H. and Welch J. (2004). Distributed Computing: Fundamentals, Simulations and Advanced Topics. Wiley, New York
Chandrasekaran S. and Venkatesan S. (1990). A message-optimal algorithm for distributed termination detection. J. Parallel Distrib. Comput. 8(3): 245–252
Chandy K.M. and Lamport L. (1985). Distributed snapshots: determining global states of distributed systems. ACM Trans. Comput. Syst. 3(1): 63–75
Chandy K.M. and Misra J. (1986). How processes learn. Distrib. Comput. 1(1): 40–52
Dally W.J. (1990). Performance analysis of k-ary-n cube interconnection networks. IEEE Trans. Comput. 39(6): 775–785
Demirbas, M., Arora, A.: An Optimal Termination Detection Algorithm for Rings. Technical Report OSU-CISRC-2/00-TR05, The Ohio State University (2000)
Dijkstra, E.W.: Shmuel Safra’s Version of Termination Detection. EWD Manuscript 998. Available at http://www.cs.utexas.edu/users/EWD/, (1987)
Dijkstra E.W. and Feijen W.H.J. (1983). Derivation of a termination detection algorithm for distributed computations. Inform. Process. Lett. 16: 217–219
Dijkstra E.W. and Scholten C.S. (1980). Termination detection for diffusing computations. Inform. Process. Lett. 11(1): 1–4
Francez N. (1980). Distributed termination. ACM Trans. Program. Lang. Syst. 2(1): 42–55
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)
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
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)
Huang S.-T. (1989). Termination detection by using distributed snapshots. Inform. Process. Lett. 32: 113–119
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)
Lai T.-H. and Yang T.H. (1987). On distributed snapshots. Inform. Process. Lett. 25(3): 153–158
Lamport L. (1978). Time, clocks and the ordering of events in a distributed system. Commun. ACM 21(7): 558–565
N. Lynch (1996) Distributed Algorithms. Morgan Kaufmann
Mahapatra, N.R., Dutt, S.: An efficient delay-optimal distributed termination detection algorithm. J. Parallel Distrib. Comput. (2004) (to appear)
Matocha J. and Camp T. (1998). A taxonomy of distributed termination detection algorithms. J. Syst. Softw. 43(3): 207–221
Mattern F. (1987). Algorithms for distributed termination detection. Distrib. Comput. 2(3): 161–175
Mattern F. (1989). Global quiescence detection based on credit distribution and recovery. Inform. Process. Lett. 30(4): 195–200
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
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)
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)
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)
Rana S.P. (1983). A distributed solution of the distributed termination problem. Inform. Process. Lett. 17(1): 43–46
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
Tel G. (2000). Introduction to Distributed Algorithms. Cambridge University Press (US Server), Cambridge
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
Author information
Authors and Affiliations
Corresponding author
Additional information
A preliminary version of the paper first appeared in the 18th Symposium on Distributed Computing (DISC), 2004 [27].
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-007-0031-3