Abstract
The termination problem for distributed computations is analyzed in the general context of asynchronous communication. In the underlying computational model it is assumed that messages take an arbitrary but finite time and do not necessarily obey the FIFO rule. Time diagrams are used as a graphic means of representing the overall communication scheme, giving a clear insight into the difficulties involved (e.g., lack of global state or time, inconsistent time cuts) and suggesting possible solutions.
Several efficient algorithms for the solution of the termination problem are presented. They are all based on the idea of message counting but have a number of different characteristics. The methods are discussed and compared with other known solutions.
Similar content being viewed by others
References
Apt KR, Richier J-L (1985) Real time clocks versus virtual clocks. In: Broy M (ed) Control flow and data flow: Concepts of distributed programming. Springer, Berlin Heidelberg New York, pp 475–501
Apt KR (1986) Correctness proofs of distributed termination algorithms. ACM Trans Program Lang Syst 8 (3):388–405
Arora RK, Sharma NK (1983) A methodology to solve distributed termination problem. Inf Syst 8 (1):37–39
Beilken C, Mattern F, Reinfrank M (1985) Verteilte Terminierung — ein wesentlicher Aspekt der Kontrolle in verteilten Systemen. Report SFB124-41/85, Department of Computer Science, University of Kaiserlautern, FRG
Bougé L (1985a) Symmetry and genericity for CSP in distributed systems. Report 85-32, LITP, Universite Paris 7, France
Bougé L (1985b) Repeated synchronous snapshots and their implementation in CSP. In: Brauer W (ed) 12th Coll Automata, Lang and Programming. Springer, Berlin Heidelberg New York, LNCS 194, pp 63–70
Chandy KM, Mirsa J, Haas LM (1983) Distributed deadlock detection. ACM Trans Comput Syst 1 (2):144–156
Chandy KM, Lamport L (1985) Distributed snapshots: Determining global states of distributed systems. ACM Trans Comput Syst 3 (1):63–75
Chandy KM, Misra J (1985) A paradigm for detecting quiescent properties in distributed computations. In: Apt KR (ed) Logics and models of concurrent systems. Springer, Berlin Heidelberg New York, pp 325–341
Chandy KM, Misra J (1986) An example of stepwise refinement of distributed programs: quiescence detection. ACM Trans Program Lang Syst 8 (3):326–343
Chang EJH (1982) Echo algorithms: Depth parallel operations on general graphs. IEEE Trans Software Eng SE 8 (4):391–401
Clinger WD (1981) Foundations of actor semantics. Report AI-TR-633, Artificial Intelligence Laboratory, Massachusetts Institute of Technology, USA
Cohen S, Lehman D (1982) Dynamic systems and their distributed termination. Proc ACM SIGACT-SIGOPS Symp Principles Distributed Comput, Ottawa, pp 29–33
Dijkstra EW, Scholten CS (1980) Termination detection for diffusing computations. Inf Process Lett 11 (1):1–4
Dijkstra EW, Feijen WHJ, van Gasteren AJM (1983) Derivation of a termination detection algorithm for distributed computations. Inf Process Lett 16 (5):217–219
Francez N (1980) Distributed termination. ACM Trans Program Lang Syst 2 (1):42–55
Francez N, Rodeh M, Sintzoff M (1981) Distributed termination with interval assertions. In: Diaz J, Ramos I (eds) Proc Int Colloq Formalization of Programming Concepts. Springer, Berlin Heidelberg New York, LNCS 107, pp 280–289
Francez N, Rodeh M (1982) Achieving distributed termination without freezing. IEEE Trans Software Eng SE-8 (3):287–292
Kumar D (1985) A class of termination detection algorithms for distributed computations. In: Mahheshwari N (ed) 5th Conf on Foundations of Software Technology and Theoretical Computer Science, New Delhi. Springer, Berlin Heidelberg New York, LNCS 206, pp 73–100
Lai T-H (1985) Termination detection for dynamic distributed systems with non-first-in-first-out communication. Report 85-16, Computer and Information Science Research Center. Ohio State University, Columbus, USA
Lai T-H (1986) A termination detector for static and dynamic distributed systems with asynchronous non-first-in-first-out communication. In: Kott L (ed) 13th Coll Automata, Lang and Programming. Springer, Berlin Heidelberg New York, LNCS 226, pp 196–205
Lamport L (1978) Time, clock and the ordering of events in a distributed system. Commun ACM 21 (7):558–565
Lavallee I, Roucairol G (1986) A fully distributed (minimal) spanning tree algorithm. Inf Process Lett 23:55–62
Lozinskii EL (1984) Yet another distributed termination. Report 84-2, Department of Computer Science, The Hebrew University of Jerusalem, Israel
Lozinskii EL (1985) A remark on distributed termination. Proc 5th Internat Conf on Distributed Computing Systems, Denver, pp 416–419
Mattern F, Beilken C (1985) The distributed programming language CSSA—a short introduction. Report 123/85, Department of Computer Science, University of Kaiserslautern, FRG
Mattern F (1986) Asynchronous distributed termination—parallel and symmetric solutions with echo algorithms. Report SFB124-21/87, Department of Computer Science, University of Kaiserslautern, FRG
Misra J, Chandy KM (1982) Termination detection of diffusing computations in communicating sequential processes. ACM Trans Program Lang Syst 4 (1):37–43
Misra J (1983) Detecting termination of distributed computations using markers. Proc 2nd Ann ACM Symp Principles Distributed Comput, Montreal, Quebec, pp 290–294
Nehmer J et al. (1987) Key concepts of the INCAS multicomputer project. IEEE Trans Software Eng SE-13 (8):913–923
Rana SP (1983) A distributed solution of the distributed termination problem. Inf Process Lett 17 (1):43–46
Richier J-L (1985) Distributed termination in CSP: Symmetric solutions with minimal storage. In: Mehlhorn K (ed) Proc STACS 85. Springer, Berlin Heidelberg New York, LNCS 182, pp. 267–278
Rozoy B (1986) Model and complexity of termination for distributed computations. In: Gruska J, Rovan B, Wiedermann J (eds) Proc Math Found Comp Sc 86. Springer, Berlin Heidelberg New York, LNCS 233, pp 564–572
Shavit N, Francez N (1986) A new approach to detection of locally indicative stability. Report RC 11925 (# 53703), IBM Thomas J Watson Research Center, Yorktown Heights, USA
Tan RB, van Leeuwen J (1986) General symmetric distributed termination detection. Report RUU-CS-86-2, Department of Computer Science, University of Utrecht, The Netherlands
Tel G (1986) Distributed infimum approximation. Report RUU-CS-86-12, Department of Computer Science, University of Utrecht, The Netherlands
Tel G, Tan RB, van Leeuwen J (1986) The derivation of graph marking algorithms from distributed termination detection protocols. Report RUU CS-86-11, Department of Computer Science, University of Utrecht, The Netherlands
Topor RW (1984) Termination detection for distributed computations. Inf Process Lett 18 (1):33–36
Szymanski B, Shi Y, Prywes NS (1985) Synchronized distributed termination. IEEE Trans Software Eng SE-11 (10):1136–1140
Note added in proof
Afek Y, Saks M (1987) Detecting global termination conditions in the face of uncertainty. Techn Rep, Bell Laboratories, Murray Hill, USA
Augusteijn L (1986) Establishing global assertions in a distributed environment. ESPRIT project 415, Doc. No 183, Philips Research Laboratories, Eindhoven, The Netherlands
Arora RK, Rana SP, Gupta MN (1986) Distributed termination detection algorithm for distributed computations. Inf Process Lett 22:311–314 [The algorithm is wrong. See Tan RB, Tel G, Van Leeuwen J (1986) Comments on “Distributed termination detection algorithm for distributed computations”. Inf Process Lett 23:163
Chandrasekaran S, Kannan CS, Venkatesan S (1987) Efficient distributed termination detection. Proc IFIP Conf Distributed Processing. North-Holland, Amsterdam New York Oxford
Dijkstra EW (1987) Shmuel Safra's version of termination detection. Report EWD998-0, Department of Computer Science, University of Texas at Austin, USA
Erikson O, Skyum S (1986) Symmetric distributed termination. In: Rozenberg G, Salomaa A (eds) The book of L. Springer, Berlin Heidelberg New York, pp. 427–430
Ferment D (1986) Finite or not finite solutions for the distributed termination problem. Report 86-11, LITP, Universite Paris 7, France
Ferment D, Rozoy B (1986) Possibility and impossibility of solutions for the distributed termination problem. Report 86-8, LITP, Universite Paris 7, France
Ferment D, Rozoy B (1987) Solutions for the distributed termination problem. In: Albrecht A, Jung H, Mehlhorn K (eds) Parallel algorithms and architectures. Springer, Berlin Heidelberg New York, LNCS 269
Hazari C, Zedan H (1987) A distributed algorithm for distributed termination. Inf Process Lett 24:293–297 [It is not the ‘classical’ distributed termination problem: processes are never reactivated. See also Tel G, Van Leeuwen J (1987) Comments on “A distributed algorithm for distributed termination”. Inf Process Lett 25:349]
Helary J-M, Jard C, Plouzeau N, Raynal M (1987) Detection of stable properties in distributed applications. Proc 6th ACM Symp Principles Distributed Comput
Koo R, Toueg S (1987) Effects of message loss on distributed termination. Tech Rep, Department of Computer Science, Cornell University, USA
Lai T-H (1986) Termination detection for dynamic distributed systems with non-first-in-first-out communication. J Parallel and Distributed Computing 3:577–599
Lai T-H (1987) Message-optimal algorithms for termination detection in broadcast networks. Department of Computer and Information Science, The Ohio State University, USA
Mattern F (1987) Experience with a new distributed termination detection algorithm. In: Gafni E, Raynal M, Santoro N, Van Leeuwen J, Zaks S (eds) Proc 2nd Int Workshop Distributed Algorithms, Amsterdam. Springer, Berlin Heidelberg New York, LNCS
Mattern F (1987) An efficient distributed termination test. Report SFB124-32/87, Department of Computer Science, University of Kaiserslautern, FRG
Müller H (1987) High level petri nets and distributed termination. In: Voss K, Genrich HJ, Rozenberg G (eds) Concurrency and nets. Springer, Berlin Heidelberg New York, pp 349–362
Roucairol G (1987) On the construction of distributed programs. In: Paker Y, Banatre J-P, Bozyigit M (eds) Distributed operating systems: theory and practice. Springer, Berlin Heidelberg New York, pp 47–65
Saikkonen H, Ronn S (1986) Distributed termination on a ring. BIT 26:188–194
Sanders BA (1987) A method for the construction of probebased termination detection algorithms. Proc IFIP Conf Distributed Processing. North-Holland, Amsterdam New York Oxford
Shavit N, Francez N (1986) A new approach to detection of locally indicative stability. In: Kott L (ed) 13th Coll Automata, Lang and Programming. Springer, Berlin Heidelberg New York, LNCS 226, pp 344–358
Verjus JP (1987) On the proof of a distributed algorithm. Inf Process Lett 25:145–147
Zöbel D (1986) Programmtransformationen zur Ende-Erkennung bei verteilten Berechnungen. Informationstechnik 28 (4):204–213
Author information
Authors and Affiliations
Additional information
Friedemann Matternreceived the Diploma in computer science from the University of Bonn, West Germany, in 1983.He is now a research scientist in the Department of Computer Science at the University of Kaiserslautern and is currently completing his Ph.D. His primary research interests include distributed algorithms, programming language design, and compiler construction. The author can be reached by electronic mail via mattern @ incas.uucp or mattern % uklirb.uucp @ Germany.csne.
This work has been supported by the Deutsche Forschungsgemeinschaft (DFG) as part of the SFB124 research project “VLSI-Design and Parallelism”
Rights and permissions
About this article
Cite this article
Mattern, F. Algorithms for distributed termination detection. Distrib Comput 2, 161–175 (1987). https://doi.org/10.1007/BF01782776
Issue Date:
DOI: https://doi.org/10.1007/BF01782776