Stateless Termination Detection

  • Authors:
  • Gideon Stupp

  • Affiliations:
  • -

  • Venue:
  • DISC '02 Proceedings of the 16th International Conference on Distributed Computing
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The switches and routers of large scale networks cannot manage a state per user session. The burden of memory management would overwhelm the network. Therefore, it is important to find distributed network algorithms which hold a state only at the initiating node. Termination detection algorithms are particularly interesting, since they can be used in the implementation of other stateless algorithms.The importance of stateless termination detection is apparent in mulitcast trees. Multicast trees are commonly used to multicast messages across the network. In many cases the mulitcast message represents a request sent from the root node that must be answered by all the leaves of the tree. In most networks the leaves could send their answer directly to the root. Unfortunately, the root would have no way of knowing when all the leaves answered the request. Broadcast-echo algorithms are often used in this case, but these algorithms require a state in the internal nodes of the mulitcast tree. Nack oriented protocols are also common, particularly in reliable multicast implementations. These algorithms are optimized for continues downstream information from the source to the destinations rather than for transactional request-reply operations.We present a simple algorithm for termination detection in trees and DAGs which does not require managing a state in the nodes of the graph. The algorithm works even if the graph changes during the execution. For a tree with n nodes, the number of bits added to each message is O(log n). We also discuss how this algorithm may be used in general graphs.