This Article 
 Bibliographic References 
 Add to: 
Development of a Class of Distributed Termination Detection Algorithms
April 1992 (vol. 4 no. 2)
pp. 145-155

Accessing and updating information in a self organizing data structure in a distributed environment requires execution of various distributed algorithms. Design of such algorithms is often facilitated by the use of a distributed termination detection algorithm superimposed on top of another distributed algorithm. The problem of distributed termination detection is considered, and message counting is introduced as an effective technique in designing such algorithms. A class of efficient algorithms, based on the idea of message counting, for this problem is presented. After termination has occurred, it is detected within a small number of message communications. These algorithms do not require the FIFO (first in, first out) property for the communication lines. Assumptions regarding the connectivity of the processes are simple. The algorithms are incrementally developed, i.e. a succession of algorithms leading to the final algorithms is presented.

[1] R. K. Arora and N. K. Sharma, "A methodology to solve distributed termination problem,"Inform. Syst., vol. 8, no. 1, pp. 37-39, 1983.
[2] R. K. Arora, S. P. Rana, and M. N. Gupta, "Distributed termination detection algorithm for distributed computations,"Inform. Processing Lett., vol. 22, no. 6, pp. 311-314, 1986.
[3] K.M. Chandy and J. Misra, "Asynchronous Distributed Simulation via a Sequence of Parallel Computations,"Comm. ACM, Vol. 24, No. 4, Apr. 1981, pp. 198-206.
[4] K. M. Chandy and J. Misra, "A computation on graphs: Shortest path algorithms,"Commun. ACM, vol. 25, no. 11, pp. 833-837, Nov. 1982.
[5] K. M. Chandy and J. Misra, "A paradigm for detecting quiescent properties in distributed computations," Tech. Rep. TR-85-02, Dep. Comput. Sci., Univ. of Texas, Austin, Jan. 1985.
[6] K. M. Chandy and L. Lamport, "Distributed snapshots: Determining global states of distributed systems,"ACM Trans. Comput. Syst., vol. 3, no. 1, pp. 63-75, Feb. 1985.
[7] K. M. Chandy and J. Misra,Parallel Program Design: A Foundation. Reading, MA: Addison-Wesley, 1988.
[8] E. Chang, "Echo algorithms: Depth parallel operations on general graphs,"IEEE Trans. Software Eng., vol. SE-8, pp. 391-401, July 1982.
[9] S. Cohen and D. Lehmann, "Dynamic systems and their distributed termination," inProc. ACM SIGACT-SIGOPS Symp. Principles Distributed Comput., Ottawa, Canada, Aug. 18-20, 1982, pp. 29-33.
[10] E. W. Dijkstra and C. S. Scholten, "Termination detection for diffusing computations,"Inform. Processing Lett., vol. 11, no. 1, Aug. 1980. Also, EWD article, Jan. 1979.
[11] E. W. Dijkstra, "Distributed termination detection revisited," EWD 828, Plataanstraat 5, 5671 AL Nuenen, The Netherlands, 1981.
[12] E. W. Dijkstra, W. H. J. Feijen, and A. J. M. van Casteren, "Derivation of a termination algorithm for distributed computations,"Inform. Processing Lett., vol. 16, pp. 217-219, 1983.
[13] O. Eriksen, "A termination detection protocol and its formal verification,"J. Parallel Distributed Comput., vol. 5, pp. 82-91, 1988.
[14] N. Francez, "Distributed termination,"ACM Trans. Programming Languages Syst., vol. 2, no. 1, pp. 42-55, Jan. 1980.
[15] N. Francez, M. Rodeh, and M. Sintzoff, "Distributed termination with interval assertions," inProc. Formalization of Programming Concepts, Peninsula, Spain, Apr. 1981;Lecture Notes in Computer Science 107. Berlin, Germany: Springer-Verlag. Also, Tech. Rep. TR-186, Comput. Sci. Dep., Techhion-Israel Instit. Technol., 1980.
[16] N. Francez and M. Rodeh, "Achieving distributed termination without freezing,"IEEE Trans. Software Eng., vol. SE-8, pp. 287-292, May 1982. Also, Tech. Rep. TR-72, IBM Israel Scientific Center, 1979.
[17] V. Gligor and S. Shattuck, "On deadlock detection in distributed data bases,"IEEE Trans. Software Eng., vol. SE-6, Sept. 1980.
[18] M. G. Gouda, "Distributed state exploration for protocol validation," Tech. Rep. TR 185, Dep. Comput. Sci., Univ. of Texas, Austin, Oct. 1981.
[19] C. A. R. Hoare, "Communicating sequential processes,"Commun. ACM, vol. 21, pp. 666-677, 1978.
[20] S. T. Huang, "A fully distributed termination detection scheme,"Inform. Processing Lett., vol. 29, pp. 13-18, 1988.
[21] S. Katz and O. Shmueli, "Cooperative distributed algorithms for dynamic cycle prevention,"IEEE Trans. Software Eng., vol. SE-13, pp. 540-552, May 1987.
[22] D. Kumar, "A class of termination detection algorithms for distributed computations," inProc. Fifth Conf. Foundations Software Technol.&Theoret. Comput. Sci., New Delhi, India, Dec. 16-18, 1985;Lecture Notes in Computer Science, 206. Berlin, Germany: Springer-Verlag, pp. 73-100. Also, Tech. Rep. TR 85-07, Dep. Comput. Sci., Univ. of Texas at Austin, May 1985.
[23] D. Kumar, "On the correctness of a termination detection algorithm," Tech. Rep. TR-87-08, Dep. Comput. Sci., Univ. of Texas, Austin, Mar. 1987.
[24] D. Kumar, "Efficient algorithms for distributed simulation and related problems," Ph.D. dissertation, Dep. Comput. Sci., Univ. of Texas, Austin, May 1987.
[25] T-H Lai, "Termination detection for dynamic distributed systems with non-first-in-first-out communication,"J. Parallel Distributed Comput., vol. 3, pp. 577-599, 1986.
[26] L. Lamport, "Time, clocks, and the ordering of events in a distributed system,"Commun. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[27] F. Mattern, "Algorithms for distributed termination detection,"Distributed Comput., vol. 2, no. 3, pp. 161-175, Dec. 1987.
[28] J. Misra and K.M. Chandy, "Proofs of networks of processes,"IEEE Trans. Software Eng., vol. SE-7, pp. 417-426, July 1981.
[29] J. Misra and K.M. Chandy, "Termination detection of diffusing computations in communicating sequential processes,"ACM Trans. Programming Languages Syst., vol. 4, no. 1, pp. 37-43, Jan. 1982. Also, Tech. Rep. TR-144, Univ. of Texas at Austin, 1980.
[30] J. Misra and K.M. Chandy, "A distributed graph algorithm: Knot detection,"ACM Trans. Programming Languages Syst., vol. 4, no. 4, pp. 678-688, Oct. 1982.
[31] J. Misra, "Detecting Termination Detection of Distributed Computations Using Markers,"Proc. Symp. Principles of Distributed Computing, ACM Press, New York, 1983, pp. 290-294.
[32] R. Obermarck, "Distributed deadlock detection algorithm,"ACM Trans. Database Syst., vol. 7, June 1982.
[33] S. Owicki and D. Gries, "An axiomatic proof technique for parallel programs,"Acta Informatica, vol. 6, pp. 319-340, 1976.
[34] S. P. Rana, "A distributed solution of the distributed termination problem,"Inform. Processing Lett., vol. 17, pp. 43-46, 1982.
[35] G. Tel, R.B. Tan, and J. Van Leeuwen, "The derivation of graph marking algorithms from distributed termination detection protocols,"Sci. Comput. Programming, vol. 10, pp. 107-137, 1988.
[36] R. W. Toper, "Termination detection for distributed computations,"Inform. Processing Lett., vol. 18, pp. 33-36, 1984.

Index Terms:
distributed termination detection algorithms; self organizing data structure; distributed environment; message counting; message communications; connectivity; data structures; distributed processing; system recovery
D. Kumar, "Development of a Class of Distributed Termination Detection Algorithms," IEEE Transactions on Knowledge and Data Engineering, vol. 4, no. 2, pp. 145-155, April 1992, doi:10.1109/69.134251
Usage of this product signifies your acceptance of the Terms of Use.