210 likes | 292 Views
Snap -Stabilizing Depth-First Search on Arbitrary Networks. OPODIS 2004, December 15-17 2004, Grenoble (France). Alain Cournier, Stéphane Devismes , Franck Petit, and Vincent Villain. What is Depth-First Search?. Root. R. Applications of Depth-First Search?. Mutual Exclusion
E N D
Snap-Stabilizing Depth-First Search on Arbitrary Networks OPODIS 2004, December 15-17 2004, Grenoble (France) Alain Cournier, Stéphane Devismes, Franck Petit, and Vincent Villain
What is Depth-First Search? Root R
Applications of Depth-First Search? • Mutual Exclusion • Spanning Tree Computation • Constraint Programming • Routing • …
Self-Stabilisation, Dijkstra (1974) A self-stabilizing system, regardless of the initial state of the processors, is guaranteed to converge to the intended behavior in finite time. Snap-Stabilisation Bui, Datta, Petit, and Villain (1999) A snap-stabilizing system, regardless of the initial state of the processors, always behaves according to its specifications. Self- and Snap- Stabilisation Remark: Self-Stabilisation is a general technique allowing to design systems tolerating transient failures.
More Precisely… • Let T be a task and SPt a specification of T. • Let P be a protocol. • Pis snap-stabilizing for SPtiff: • A particular action of Pwill be executed, • The result obtained from this particular action satisfies SPt.
State Model Communication: Local Shared Memory Computation: Distributed Fairness: Weakly fair, Unfair Time Complexity: Step and Round
Related Works Self-Stabilisation Area: • Huang and Chen (1993) • Johnen and Beauquier (1995) • Petit and Villain (1997) • Datta, Johnen, Petit, and Villain (2000) • Petit (2001)
Related Works Snap-Stabilisation Area: • Petit and Villain (1999) for tree networks • Cournier, Datta, Petit, and Villain (2003), Transformer
Identified Rooted Networks 1 2 3 5 4 R 9 10 6 8 7 11 13 12 14 16 15 18 17
Data Structures Successor pointor: Parent pointor: Idle Pointing Done Visited Set: {1,2,3}
From a « good » initial configuration 1 2 4 3 {5,6,7,3,2,4,8} {5,6,7,3,2,4} {5,6,7,3,2,4,8,9,1} {5,6,7,3,2} {5,6,7,3,2,4,8} {5,6,7,3} {5,6,7,3,2} R 7 8 6 5 {5,6,7,3,2,4,8} {5,6,7,3,2,4,8,9} {5,6} {5,6,7,3,2,4,8,9,1} {5,6,7,3,2,4,8,9} {5} {5,6,7} {5,6,7,3,2,4,8,9} {5,6,7,3,2,4,8} 9 {5,6,7,3,2,4,8,9}
Arbitrary Configuration Done Processor 1 2 3 5 4 {3,4} {2,3} {5,7} R 10 9 7 6 8 {6,8} {7} {7,8} {5,7,10} 12 11 13 15 16 14 {6,8,11} {5,7,10,15} Abnormal Traversals 18 17
Error Detection 9 8 6 5 7 {6} {6,7} {6,7,8} Abnormal Root
Error Correction Cleaning the successive Abnormal Root of each Abnormal Traversal
Snap? The Root is now enabled to initiates the protocol Starting Action 1 2 3 5 4 {3,4} {2,3} {5,7} R 10 9 7 6 8 {6,8} {7,8,9} {5,7,10} {7,8,9,16} {7} {7,8} {5,7,10,15,17,18,16} 12 11 13 15 16 14 {6,8,11} {5,7,10,15} 18 17 {5,7,10,15,17,18,16} {5,7,10,15,17} {5,7,10,15,17,18} {5,7,10,15,17,18,16}
Unfairness? 1 2 3 5 4 {3,4} {5,7} R 10 9 7 6 8 {7,8} {7} {5,7,10} 12 11 13 15 16 14 {5,7,10,15} {5,7,10,15,17,18,16} 18 17 {5,7,10,15,17} {5,7,10,15,17,18} {5,7,10,15,17,18,16}
Conclusion • Snap-Stabilizing Protocol for Arbitrary Networks • Works under an Unfair Daemon • Time Complexity: • Delay: O(N²) steps ,O(N) rounds • DFS-Wave: O(N²) steps,O(N) rounds • Space Requirement: • O(N ×log(N)) per processors
Perspectives • Finding a solution with a lower memory requirement • Finding a solution without using ids • Finding a Transformer working with an unfair daemon