Advertisement

A class of termination detection algorithms for distributed computations

  • Devendra Kumar
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 206)

Abstract

We present a class of efficient algorithms for termination detection in a distributed system. These algorithms do not require the FIFO property for the communication channels. Assumptions regarding the connectivity of the processes are simple. Messages for termination detection are processed and sent out from a process only when it is idle. Thus it is expected that these messages would not interfere much with the underlying computation, i.e., the computation not related to termination detection. The messages have a fixed, short length. After termination has occurred, it is detected within a small number of message communications.

The algorithms use markers for termination detection. By varying assumptions regarding connectivity of the processes, and the number of markers used, a spectrum of algorithms can be derived, changing their character from a distributed one to a centralized one. The number of message communications required to detect termination after its occurrence depends on the particular algorithm — under reasonable connectivity assumptions it varies from order N (where N is the number of processes) to a constant.

This paper introduces message counting as a novel and effective technique in designing termination detection algorithms. The algorithms are incrementally derived, i.e., a succession of algorithms are presented leading to the final algorithms. Proofs of correctness are presented. We compare our algorithms with other work on termination detection.

Keywords

Termination Detection Message Length Primary Line Round Number Message Communication 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [Beeri 81]
    C. Beeri and R. Obermarck, "A Resource Class Independent Deadlock Detection Algorithm", Research Report RJ3077, IBM Research Laboratory, San Jose, California, May 1981.Google Scholar
  2. [Bracha 83]
    G. Bracha and S. Toueg, "A Distributed Algorithm For Generalized Deadlock Detection", Technical Report TR 83-558, Cornell University, June 1983.Google Scholar
  3. [Chandy 81]
    K. M. Chandy and J. Misra, "Asynchronous Distributed Simulation Via a Sequence of Parallel Computations", Communications of the ACM, Vol. 24, No. 4, pp. 198–205, April 1981.CrossRefGoogle Scholar
  4. [Chandy 82a]
    K. M. Chandy and J. Misra, "A Distributed Algorithm for Detecting Resource Deadlocks in Distributed Systems", ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Ottawa, Canada, August 1982.Google Scholar
  5. [Chandy 82b]
    K. M. Chandy and J. Misra, "A Computation on Graphs: Shortest Path Algorithms", Communications of the ACM, Vol. 25, No. 11, pp.833–837, November 1982.CrossRefGoogle Scholar
  6. [Chandy 83]
    K. M. Chandy, J. Misra, and L. Haas, "Distributed Deadlock Detection", ACM Transactions on Computing Systems, Vol. 1, No. 2, pp. 144–156, May 1983.CrossRefGoogle Scholar
  7. [Chandy 85a]
    K. M. Chandy and J. Misra, "A Paradigm for Detecting Quiescent Properties in Distributed Computations", working paper, Department of Computer Sciences, University of Texas, Austin, Texas 78712, January 9, 1985.Google Scholar
  8. [Chandy 85b]
    K. M. Chandy and L. Lamport, "Distributed Snapshots: Determining Global States of Distributed Systems", to appear in ACM Transactions on Computing Systems.Google Scholar
  9. [Chang 82]
    E. Chang, "Echo Algorithms: Depth Parallel Operations on General Graphs", IEEE Transactions on Software Engineering, Vol. SE-8, No. 4, pp.391–401, July 1982.Google Scholar
  10. [Cohen 82]
    S. Cohen and D. Lehmann, "Dynamic Systems and Their Distributed Termination", ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, pp. 29–33, Ottawa, Canada, August 18–20, 1982.Google Scholar
  11. [Dijkstra 80]
    E. W. Dijkstra and C. S. Scholten, "Termination Detection for Diffusing Computations", Information Processing Letters, Vol. 11, No. 1, August 1980.Google Scholar
  12. [Dijkstra]
    E. W. Dijkstra, "Distributed Termination Detection Revisited", EWD 828, Plataanstraat 5, 5671 AL Nuenen, The Netherlands.Google Scholar
  13. [Francez 80]
    N. Francez, "Distributed Termination", ACM Transactions on Programming Languages and Systems, Vol. 2, No. 1, pp. 42–55, January 1980.CrossRefGoogle Scholar
  14. [Francez 81]
    N. Francez, M. Rodeh, and M. Sintzoff, "Distributed Termination with Interval Assertions", Proceedings of Formalization of Programming Concepts, Peninusla, Spain, April 1981. Lecture Notes in Computer Science 107, (Springer-Verlag).Google Scholar
  15. [Francez 82]
    N. Francez and M. Rodeh, "Achieving Distributed Termination Without Freezing", IEEE-TSE, Vol. SE-8, No. 3, pp.287–292, May 1982.Google Scholar
  16. [Gligor 80]
    V. Gligor and S. Shattuck, "On Deadlock Detection in Distributed Data Bases", IEEE-TSE, Vol. SE-6, No. 5, September 1980.Google Scholar
  17. [Gouda 81]
    M. Gouda, "Distributed State Exploration For Protocol Validation", Technical Report TR 185, Department of Computer Sciences, University of Texas, Austin, 78712, October 1981.Google Scholar
  18. [Haas 83]
    L. Haas and C. Mohan, "A Distributed Deadlock Detection Algorithm for a Resource Based System", Research Report RJ3765, IBM Research Laboratory, San Jose, California, January 1983.Google Scholar
  19. [Herman 83]
    T. Herman and K. M. Chandy, "A Distributed Procedure to Detect AND/OR Deadlock", Department of Computer Sciences, University of Texas, Austin, 78712, February 1983.Google Scholar
  20. [Hoare 78]
    C. A. R. Hoare, "Communicating Sequential Processes", Communications of the ACM, Vol. 21, No. 8, pp. 666–677, August 1978.CrossRefGoogle Scholar
  21. [Holt 72]
    T. Holt, "Some Deadlock Properties of Computer Systems", Computing Surveys, Vol. 4, No. 3, pp. 179–196, September 1972.CrossRefGoogle Scholar
  22. [Kumar 85]
    D. Kumar, "Distributed Simulation", Ph.D. Thesis (in preparation), Department of Computer Sciences, University of Texas, Austin, Texas 78712.Google Scholar
  23. [Lamport 78]
    L. Lamport, "Time, Clocks, and the Ordering of Events in a Distributed System", Communications of the ACM, Vol. 21, No. 7, July 1978.Google Scholar
  24. [Misra 81]
    J. Misra and K. M. Chandy, "Proofs of Networks of Processes", IEEE Transactions on Software Engineering, Vol. SE-7, No. 4, pp. 417–426, July 1981.Google Scholar
  25. [Misra 82a]
    J. Misra and K. M. Chandy, "Termination Detection of Diffusing Computations in Communicating Sequential Processes", ACM Transactions on Programming Languages and Systems, Vol. 4, No. 1, pp. 37–43, January 1982.CrossRefGoogle Scholar
  26. [Misra 82b]
    J. Misra and K. M. Chandy, "A Distributed Graph Algorithm: Knot Detection", ACM Transactions on Programming Languages and Systems, Vol. 4, No. 4, pp. 678–688, October 1982.CrossRefGoogle Scholar
  27. [Misra 83]
    J. Misra, "Detecting Termination of Distributed Computations Using Markers", Proceedings of the ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, Montreal Canada, August 17–19, 1983.Google Scholar
  28. [Obermarck 80]
    R. Obermarck, "Deadlock Detection For All Resource Classes", Research Report RJ2955, IBM Research Laboratory, San Jose, California, October 1980.Google Scholar
  29. [Obermarck 82]
    R. Obermarck, "Distributed Deadlock Detection Algorithm", ACM Transactions on Database Systems, Vol. 7, No. 2, pp.187–208, June 1982.Google Scholar
  30. [Owicki 76]
    S. Owicki and D. Gries, "An Axiomatic Proof Technique for Parallel Programs I", Acta Informatica, Vol. 6, pp.319–340, 1976.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Devendra Kumar
    • 1
  1. 1.Department of Computer SciencesUniversity of Texas at AustinUSA

Personalised recommendations