Symmetric Distributed Termination - Eriksen, Ole; Skyum, Sven (DAIMI Report Series, 1985)
In this paper we present a simple algorithm for deciding when to terminate a distributed computation. Former solutions to the termination problem are restricted to rings and undirected connected networks, and they rely on the existence of a special master processor present in the network. The class of configurations for which our algorithm is applicable is the most general possible, namely the class of configurations, where the underlying (directed) networks are strongly connected. If the network is not strongly connected then there exists a group of processors which cannot send messages to the rest and it becomes impossible to detect when to terminate. Furthermore, the algorithm does not require a special master processor acting differently from the others. The only information needed is an upper bound on the diameter of the network (the number of processors, for example). The protocol for all processors is in other words identical.