Optimal Memory Requirement for Self-Stabilizing Token Circulation
Résumé
In this paper, we consider networks where every transmitted message is received by all of the transmitter's neighbors. Typical such networks are wireless networks, in which to dedicate a message to a specific neighbor, the sender must specify who the recipient is by specifying the recipient's ID. Adding an identifier has a non-negligible cost, more precisely O(log n) bits in an n-node graph. Token Circulation (TC) is a fundamental problem that consists in guaranteeing that a single token circulates from one node to another, the token fairly visiting every node infinitely often. TC inherently requires that the token holder selects a unique neighboring node to which to pass the token. This paper proposes a solution that overcomes the communication of identifiers. It achieves optimal space complexity for the token circulation problem. The contribution of this paper is fourfold. First, we present the first deterministic depthfirst token circulation algorithm for rooted wireless networks that uses only O(log log n) bits of memory per node. This is an exponential improvement compared to the classical addressing. Our algorithm assumes a Destination-Oriented Directed Acyclic Graph (DODAG) spanning the network. Less popular than spanning trees, DODAGs are nonetheless more general and adaptable spanning structures, since they do not need to distinguish one neighboring node as unique parent. Second, our algorithm has the very desirable property of being self-stabilizing. This means that starting from a configuration where zero or more than one token circulate in the network, the system is guaranteed to eventually work correctly, i.e., a single token eventually fairly visits every node infinitely often, following a depth-first order. Third, it works under the unfair scheduler, that is the most challenging scheduling assumption of the model. Finally, we show that our algorithm is optimal in terms of space complexity. Meaning that, for every n-node network, no TC algorithm can use less than Ω(log log n) bits of memory per node, even given a rooted spanning tree and even without considering self-stabilization.
Origine | Fichiers produits par l'(les) auteur(s) |
---|