Snap -Stabilizing Depth-First Search on Arbitrary Networks
description
Transcript of Snap -Stabilizing Depth-First Search on Arbitrary Networks
![Page 1: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/1.jpg)
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)
![Page 2: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/2.jpg)
What is Depth-First Search?
Root R
![Page 3: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/3.jpg)
Applications of Depth-First Search?
• Mutual Exclusion• Spanning Tree Computation• Constraint Programming• Routing• …
![Page 4: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/4.jpg)
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.
![Page 5: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/5.jpg)
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.
![Page 6: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/6.jpg)
State Model
Communication: Local Shared Memory
Computation: Distributed
Fairness: Weakly fair, Unfair
Time Complexity: Step and Round
![Page 7: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/7.jpg)
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)
![Page 8: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/8.jpg)
Related Works
Snap-Stabilisation Area:
• Petit and Villain (1999) for tree networks• Cournier, Datta, Petit, and Villain (2003), Transformer
![Page 9: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/9.jpg)
There does not exist any solution using an unfair
daemon
![Page 10: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/10.jpg)
Our Solution
![Page 11: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/11.jpg)
Identified Rooted Networks
8
1 2 3 4 5
6 9
11
10
12 13 14 15 16
17 18
7R
![Page 12: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/12.jpg)
Data Structures
Successor pointor:
Parent pointor:
Visited Set: {1,2,3}
Idle PointingDone
![Page 13: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/13.jpg)
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
![Page 14: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/14.jpg)
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
![Page 15: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/15.jpg)
How to correct Abnormal Traversals?
![Page 16: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/16.jpg)
Error Detection
75 8 9
{6} {6,7}
6
{6,7,8}
Abnormal Root
![Page 17: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/17.jpg)
Error Correction
Cleaning the successive Abnormal Root of each
Abnormal Traversal
![Page 18: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/18.jpg)
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
![Page 19: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/19.jpg)
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
![Page 20: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/20.jpg)
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
![Page 21: Snap -Stabilizing Depth-First Search on Arbitrary Networks](https://reader036.fdocuments.in/reader036/viewer/2022070404/56813ac0550346895da2cf95/html5/thumbnails/21.jpg)
Perspectives
• Finding a solution with a lower memory requirement
• Finding a Transformer working with an unfair daemon
• Finding a solution without using ids