snap-stabilizing detection of cutsets alain cournier, stéphane devismes, and vincent villain...
TRANSCRIPT
Snap-Stabilizing Detection of Cutsets
Alain Cournier, Stéphane Devismes, and Vincent Villain
HIPC’2005, December 18-21 2005, Goa (India)
Snap-Stabilizing Detection of Cutsets 2
What is a Cutset?
Let G=(V,E) be an undirected connected graph. Let CS be a subset of V. Let G’ be the subgraph induced by V\CS.
CS is a cutset of G if and only if G’ is unconnected.
Snap-Stabilizing Detection of Cutsets 3
What is a Cutset?
6
87
5
4
2
G=(V,E)
CS={2,6,8}
G’ = (V \ CS, E ∩ CS²)
CS is a cutset of G
9
1
3
Snap-Stabilizing Detection of Cutsets 4
Problem: Given a network G and a subset of processors
CS.
Is CS a Cutset of G?
This decition must be performed in a distributed manner
Snap-Stabilizing Detection of Cutsets 5
Properties
G=(V,E)
CS={2,6,8}
G’ = (V \ CS, E ∩ CS²)
Snap-Stabilizing Detection of Cutsets 6
DFS Spanning Tree
H=1
H=0
H=1
H=2
H=4 H=4
H=3H=3
H=5
CCRoots
Snap-Stabilizing Detection of Cutsets 7
Approach
Theorem: CS is a cutset of G if and only if there exists at least two CCRoots.
Scheme of the algorithm:
• To detect the CCRoots
• To count the CCRoots
• To decide if CS is a cutset
Snap-Stabilizing Detection of Cutsets 8
Detection of the CCRoots
H=1
H=0
H=1
H=2
H=4 H=4
H=3
H=5H=5,B=3
H=1,B=0
H=4,B=3
H=2,B=2
H=3H=3,B=2
H=0 => CCRoot
H=B => CCRoot
Snap-Stabilizing Detection of Cutsets 9
Detection of the CCRoots
H=1
H=0
H=1
H=2
H=4 H=4
H=3
H=5H=5,B=3
H=1,B=0
H=4,B=0
H=2,B=0
H=3H=3,B=0
Snap-Stabilizing Detection of Cutsets 10
Using a DF Token Circulation for the cutset detection
R
H=0,Cpt=1
H=1,Cpt=1
H=2,Cpt=1
H=3,Cpt=1
H=4,Cpt=1,B=3 H=4,Cpt=1
H=5,Cpt=1,B=3
H=3,Cpt=1,B=2 H=3,Cpt=1
H=2,Cpt=2,B=2
H=1,Cpt=2
H=0,Cpt=2
H=1,Cpt=2,B=0
R decides that
CS is a cutset
because Cpt =
2
Cpt=1 because R is a CCRoot
Cpt++ because H=B
Snap-Stabilizing Detection of Cutsets 11
Using a DF Token Circulation for the cutset detection
R
H=0,Cpt=0
H=1,Cpt=0
H=2,Cpt=0
H=3,Cpt=0
H=4,Cpt=0,B=3 H=4,Cpt=0
H=5,Cpt=0,B=3
H=3,Cpt=0,B=2 H=3,Cpt=0,B=2
H=2,Cpt=1,B=2
H=1,Cpt=1
H=0,Cpt=1
H=1,Cpt=1
R decides that
CS is not a
cutset because
Cpt = 1
Cpt=0 because R is not a CCRoot
Cpt=1 because H=B
H=4,Cpt=0,B=3
Snap-Stabilizing Detection of Cutsets 12
What about Stabilization?
Snap-Stabilizing Detection of Cutsets 13
Self-Stabilization
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)
If we use a Self-Stabilizing DFTC, Then the cutset detection is Self-Stabilizing
• Huang and Chen (Distributed Computing, 1993)• Johnen et al (WDAG, 1997)• Datta et al (Distributed Computing, 2000)
Snap-Stabilizing Detection of Cutsets 14
Snap-Stabilization
A snap-stabilizing system, regardless of the initial state of the processors, always behaves according to its specifications.
Snap-Stabilisation, Bui et al (1999)
If we use a Snap-Stabilizing DFTC, Then the cutset detection is Snap-Stabilizing
• Cournier, Devismes, Petit, and Villain (OPODIS, 2004)• Cournier, Devismes, and Villain (SSS, 2005)
Snap-Stabilizing Detection of Cutsets 15
Conclusion
The decision needs one traversal of the network only
The time complexity of the solution corresponds to the time complexity of the DFTC
Small memory overcost (two integers)
The stabilization property depends on the DFTC
Our solution can used in dynamic networks
Our method can be adapted to solve some problem closed to the cutset detection: cutpoint and bridge finding.
Snap-Stabilizing Detection of Cutsets 16
Thank you!