Skip to main content

Channel with Termination Detection Service

  • Chapter
  • First Online:
  • 1451 Accesses

Abstract

It is often the case in a distributed computation that we want a particular component system of the computation to determine when and if the computation has terminated, for example, whether a routing update has reached all the routers in a network. Stating this independently of the specific distributed computation leads to the “distributed termination detection” problem [1]: given a generic distributed computation, say X, to obtain another distributed computation, say Y, that executes alongside X on the same platform, does not disturb X, and informs a particular system, which we call the “sink” system, when and if X has terminated. More precisely, each system in X is either “active” or “inactive”. An active system can do local computation, send and receive messages, and become inactive. An inactive system does nothing except become active upon receiving a message. The computation X is said to have terminated if all its systems are inactive and none of its messages are in transit. There are many elegant solutions to this problem, e.g., [1–4].

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

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

    Article  MathSciNet  MATH  Google Scholar 

  2. E.W. Dijkstra, W.H.J. Feijen, A.J.M. van Gasteren, Derivation of a termination detection algorithm for distributed computations. Inf. Process. Lett. 16(5), 217–219 (1983). Also EWD 840

    Google Scholar 

  3. F. Mattern, Algorithms for distributed termination detection. Distrib. Comput. 2(3), 161–175 (1987). http://dblp.uni-trier.de/db/journals/dc/dc2.html#Mattern87

  4. G. Tel, F. Mattern, The derivation of distributed termination detection algorithms from garbage collection schemes. ACM Trans. Progr. Lang. Syst. 15(1), 1–35 (1993). doi: 10.1145/151646.151647. http://doi.acm.org/10.1145/151646.151647

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer Science+Business Media New York

About this chapter

Cite this chapter

Shankar, A.U. (2013). Channel with Termination Detection Service. In: Distributed Programming. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-4881-5_13

Download citation

  • DOI: https://doi.org/10.1007/978-1-4614-4881-5_13

  • Published:

  • Publisher Name: Springer, New York, NY

  • Print ISBN: 978-1-4614-4880-8

  • Online ISBN: 978-1-4614-4881-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics