snap -stabilizing depth-first search on arbitrary networks
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
Snap-Stabilizing Depth-First Search on Arbitrary Networks
Alain Cournier, Stéphane Devismes, Franck Petit, and Vincent Villain
OPODIS 2004, December 15-17 2004, Grenoble (France)
What is Depth-First Search?
Root R
Applications of Depth-First Search?
• Mutual Exclusion• Spanning Tree Computation• Constraint Programming• Routing• …
Self- and Snap- Stabilisation
A self-stabilizing system, regardless of the initial state of the processors, is guaranteed to converge to the intended behavior in finite time.
Self-Stabilisation, Dijkstra (1974)
A snap-stabilizing system, regardless of the initial state of the processors, always behaves according to its specifications.
Snap-Stabilisation Bui, Datta, Petit, and Villain (1999)
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.
P is snap-stabilizing for SPt iff:
1. A particular action of P will be executed,
2. 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
There does not exist any solution using an unfair
daemon
Our Solution
Identified Rooted Networks
8
1 2 3 4 5
6 9
11
10
12 13 14 15 16
17 18
7R
Data Structures
Successor pointor:
Parent pointor:
Visited Set: {1,2,3}
Idle PointingDone
1 2 3
8
9
5
From a « good » initial configuration
{5} {5,6} {5,6,7}
{5,6,7,3,2,4,8,9,1} {5,6,7,3,2}
6 7
{5,6,7,3,2,4}
4
{5,6,7,3,2,4,8}
{5,6,7,3,2,4,8}
{5,6,7,3}{5,6,7,3,2,4,8}{5,6,7,3,2}
{5,6,7,3,2,4,8}
{5,6,7,3,2,4,8,9}
{5,6,7,3,2,4,8,9}
{5,6,7,3,2,4,8,9}{5,6,7,3,2,4,8,9}
{5,6,7,3,2,4,8,9,1}
R
1 2 3 4
6 9 10
11 12 13 14 15
17 18
{7} {7,8}
{5,7}
{5,7,10}
{5,7,10,15}
Arbitrary Configuration
7
16
5
8
{3,4}{2,3}
{6,8}
{6,8,11}
Done Processor
Abnormal Traversals
R
How to correct Abnormal Traversals?
Error Detection
75 8 9
{6} {6,7}
6
{6,7,8}
Abnormal Root
Error Correction
Cleaning the successive Abnormal Root of each
Abnormal Traversal
1 2 3 4
6
11 12 13 14 15
17
{5,7}
{5,7,10}
{5,7,10,15}
7
16
5
8
{2,3}
{6,8}
{6,8,11}
{3,4}
{5,7,10,15,17}
18
{5,7,10,15,17,18}
{5,7,10,15,17,18,16}
{7}
{5,7,10,15,17,18,16}
Starting Action
{7,8}
{5,7,10,15,17,18,16}
{7,8,9}
9
{7,8,9,16}
10
The Root is now enabled to initiates the protocol
Snap?
R
1 2 3 4
6
11 12 13 14 15
17
{5,7}
{5,7,10}
{5,7,10,15}
7
16
5
8
{3,4}
{5,7,10,15,17}
18
{5,7,10,15,17,18}{5,7,10,15,17,18,16}
{7}
{7,8}
{5,7,10,15,17,18,16}
9 10
Unfairness?
R
Conclusion
• Snap-Stabilizing Protocol for Arbitrary Networks
• Works under an Unfair Daemon
• Space Requirement:O(N ×log(N)) per processors
• Time Complexity:Delay: O(N²) steps , O(N) rounds DFS-Wave: O(N²) steps, O(N) rounds
Perspectives
• Finding a solution with a lower memory requirement
• Finding a Transformer working with an unfair daemon
• Finding a solution without using ids