Parallel DBMS

HIPC’2005, December 18-21 2005, Goa (India)
Snap-Stabilizing Detection of Cutsets
Alain Cournier, Stéphane Devismes, and Vincent Villain
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
2
What is a Cutset?
1
2
3
4
G=(V,E)
CS={2,6,8}
G’ = (V \ CS, E ∩ CS²)
5
6
7
8
9
Snap-Stabilizing Detection of Cutsets
3
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
4
Properties
G=(V,E)
CS={2,6,8}
G’ = (V \ CS, E ∩ CS²)
Snap-Stabilizing Detection of Cutsets
5
DFS Spanning Tree
H=0
CCRoots
H=1
H=1
H=2
H=3
H=3
H=4
H=4
H=5
Snap-Stabilizing Detection of Cutsets
6
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
7
Detection of the CCRoots
H=0 => CCRoot
H=0
H=1
H=1,B=0
H=1
H=B => CCRoot
H=2,B=2
H=2
H=3
H=3,B=2
H=3
H=4
H=4,B=3
H=4
H=5
H=5,B=3
Snap-Stabilizing Detection of Cutsets
8
Detection of the CCRoots
H=0
H=1
H=1,B=0
H=1
H=2,B=0
H=2
H=3
H=3,B=0
H=3
H=4
H=4,B=0
H=4
H=5
H=5,B=3
Snap-Stabilizing Detection of Cutsets
9
Using a DF Token Circulation for the cutset
detection
Cpt=1 because
R is a CCRoot
R
H=0,Cpt=2
H=0,Cpt=1
H=1,Cpt=1
H=1,Cpt=2
H=1,Cpt=2,B=0
Cpt++ because H=B
H=2,Cpt=2,B=2
H=2,Cpt=1
H=3,Cpt=1,B=2
H=3,Cpt=1
H=4,Cpt=1,B=3
H=3,Cpt=1
H=4,Cpt=1
H=5,Cpt=1,B=3
Snap-Stabilizing Detection of Cutsets
10
Using a DF Token Circulation for the cutset
detection
Cpt=0 because
R is not a CCRoot
R
H=0,Cpt=1
H=0,Cpt=0
H=1,Cpt=0
H=1,Cpt=1
H=1,Cpt=1
Cpt=1 because H=B
H=2,Cpt=1,B=2
H=2,Cpt=0
H=3,Cpt=0,B=2
H=3,Cpt=0
H=4,Cpt=0,B=3
H=3,Cpt=0,B=2
H=4,Cpt=0
H=4,Cpt=0,B=3
H=5,Cpt=0,B=3
Snap-Stabilizing Detection of Cutsets
11
What about Stabilization?
Snap-Stabilizing Detection of Cutsets
12
Self-Stabilization
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.
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
13
Snap-Stabilization
Snap-Stabilisation, Bui et al (1999)
A snap-stabilizing system, regardless of the initial state of the processors,
always behaves according to its specifications.
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
14
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
15
Thank you!
Snap-Stabilizing Detection of Cutsets
16