Parallel DBMS

SSS’2006, November 17-19, Dallas (USA)
From Self- to Snap- Stabilization
Alain Cournier, Stéphane Devismes, and
Vincent Villain
Introduction

Self-stabilizing protocols → Snap-stabilizing protocols

Arbitrary rooted network

State model
– Local shared memory
– Daemon: weakly fair/unfair
From Self- to Snap- Stabilization
2
Related Work
Transformer [Cournier et al, 2003] in the state model:
Non fault-tolerant → Snap-stabilizing
– Use Snapshots to regulary test if the system is in a normal
configuration
– Drawbacks :


Define a predicat that caracterises the normal configuration
The number of snapshots is unboundable
– Consequences :


the overcost of the transformer is difficult to evaluate
scheduling assumption (at most a weakly fair deamon)
From Self- to Snap- Stabilization
3
Assumptions

The input protocol is:
– Self-stabilizing
– Single-initiator wave protocol (the root is the initiator)
– Decision actions occur at the initiator only
Example: Token Circulation,
construction (DFS or BFS)…

PIF,
From Self- to Snap- Stabilization
Spanning
tree
4
Self- vs Snap- Stabilizing Wave Protocols
A self-stabilizing wave protocol converges to a specified
behavior in a finite time.
1.X
2.X
3.X
4.X
N.X
F(.)
F(X)
≠
F(X)
N is finite but generally unbounded
From Self- to Snap- Stabilization
5
Self- vs Snap- Stabilizing Wave Protocols
Since its first starting action (the real start of the
protocol),
a snap-stabilizing wave protocol works
according to its specification.
1.X
F(.)
F(X)
Consequence: a snap-stabilizing wave protocol do not
require to be repeated.
From Self- to Snap- Stabilization
6
More precisely
A snap-stabilizing wave protocol for a task T
verifies :
Configurations
T is executed as expected
Request
Starting Action
From Self- to Snap- Stabilization
Decision
Time
7
Our solution
Let P’ be self-stabilizing wave protocol for a task T.
We compose P’ with Reset protocol as follows :
Configurations
One Reset
Request
Starting Action
P’ executes T
DecisionTime
From Self- to Snap- Stabilization
8
Our solution
Problem: when a computation of T is requested :
–
–
The Reset must start in a finite time
But without aborting a previous initiated computation of T
Solution: we use a boolean Endr:
– Endr := True at the decision (as P’ is self-stabilizing, P’ eventually
decides)
– While Endr = True, P’ cannot start a computation of T
– Endr := True causes a Reset of the P’ Variables
– At the end of the Reset, Endr := false
From Self- to Snap- Stabilization
9
Snap-stabilizing Reset
Using a snap-stabilizing PIF protocol :

2 phases : broadcast and Feedback
– The processors abort the computation of T when receiving the
broadcast phase
– The reset is performed during the feedback phase

The snap-stabilizing PIF of [Cournier et al, 2006]
– Bounded step complexity (unfair deamon)
This implies that the transformer works at
least with the same deamon that the initial
protocol
From Self- to Snap- Stabilization
10
Case Study :
DFTC of [Huang and Chen, 1993]
R
Correct behavior
From Self- to Snap- Stabilization
11
Case Study :
DFTC of [Huang and Chen, 1993]
Starting for an abnormal initial configuration :
 Abnormal successor paths
– Correction : using a third color ERROR, the abnormal successor
paths are paralysed before to be removed.

Problem :
R
Can never move
if the deamon is unfair
From Self- to Snap- Stabilization
12
With the transformer …
At least a weakly fair daemon
R
Endr
Decision in a finite number of steps
Reset in a finite number of steps
Token circulation in a finite number of steps
From Self- to Snap- Stabilization
13
Complexity ?
Stabilization time of [Huang and Chen, 1993] :
(nD) rounds
R
From Self- to Snap- Stabilization
14
Complexity with the transformer
Decision : O(N) rounds
Reset : O(N) rounds [Cournier et al, 2006]
Token circulation : O(N) rounds
R
Endr
From Self- to Snap- Stabilization
15
Conclusion
Simple
Low
memory overcost : memory requirement of the reset
protocol (O(log N) bits)
At
least the same scheduling assumption
In
some cases:
[Huang and Chen, 1993], [Johnen and Beauquier, 1995], [Datta et al, 1998]:
– Better scheduling assumption (Weakly Fair
→ Unfair)
– Better time complexity ((nD) rounds → O(N) rounds)
From Self- to Snap- Stabilization
16
Perspective
Apply
a similar technique to transform
Non Fault-Tolerant Wave Protocols into
Snap-Stabilizing Wave Protocols
(done).
Multi-initiators
From Self- to Snap- Stabilization
17
Thank you!
From Self- to Snap- Stabilization
18