On a Space-Optimal Distributed Traversal Algorithm

A traversal algorithm is a systematic procedure for exploring a graph by examining all of its vertices and edges. A traversal is Eulerian if every edge is examined exactly once. We present a simple deterministic distributed algorithm for the Eulerian traversal problem that is space-optimal: each node has exactly d states, where d is the outgoing degree of the node, yet may require O(m2) message exchanges before it performs an Eulerian traversal, where m is the total number of edges in the network. In addition, our solution has failure tolerance properties: (i) messages that are exchanged may have their contents corrupted during the execution of the algorithm, and (ii) the initial state of the nodes may be arbitrary.Then we discuss applications of this algorithm in the context of self-stabilizing virtual circuit construction and cut-through routing. Self-stabilization [8,9] guarantees that a system eventually satisfies its specification, regardless of the initial configuration of the system. In the cutthrough routing scheme, a message must be forwarded by intermediate nodes before it has been received in its entirety. We propose a transformation of our algorithm by means of randomization so that the resulting protocol is self-stabilizing for the virtual circuit construction specification. Unlike several previous self-stabilizing virtual circuit construction algorithms, our approach has a small memory footprint, does not require central preprocessing or identifiers, and is compatible with cut-through routing.

[1]  Maria Gradinariu Potop-Butucaru,et al.  Token-Based Self-Stabilizing Uniform Algorithms , 2002, J. Parallel Distributed Comput..

[2]  Maria Gradinariu Potop-Butucaru,et al.  Memory space requirements for self-stabilizing leader election protocols , 1999, PODC '99.

[3]  Edsger W. Dijkstra,et al.  Self stabilization in spite of distributed control , 1974 .

[4]  Mohamed G. Gouda,et al.  Stabilizing Communication Protocols , 1991, IEEE Trans. Computers.

[5]  Maurice Tchuente,et al.  Sur l'Auto- Stabilisation dans un Réseau d'Ordinateurs , 1981, RAIRO Theor. Informatics Appl..

[6]  Sébastien Tixeuil Auto-stabilisation Efficace , 2000 .

[7]  Dick Alstein,et al.  Self-stabilizing mutual exclusion on directed graphs , 1995 .

[8]  Mohamed G. Gouda,et al.  Adaptive Programming , 1991, IEEE Trans. Software Eng..

[9]  Abdelmadjid Bouabdallah,et al.  A Distributed Algorithm for Constructing an Eulerian Cycle in Networks , 1999, PDPTA.

[10]  Ajoy Kumar Datta,et al.  Self-stabilizing census with cut-through constraint , 1999, Proceedings 19th IEEE International Conference on Distributed Computing Systems.

[11]  George Varghese,et al.  The FDDI MAC meets self-stabilization , 1999, Proceedings 19th IEEE International Conference on Distributed Computing Systems.

[12]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[13]  Xiaotie Deng,et al.  Exploring an unknown graph , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.