Robust Protocols
Nature
Extent
Time
Self-stabilizing Protocols
Nature
Extent
Time Faults
Stabilization
Legitimate
The Big Picture
Weaker Guarantees
Complexity Guarantees
Stronger Guarantees Self-
stabilization Pseudo stabilization Weak
stabilization
Fault- tolerant stabilization
Strong stabilization
k- stabilization
time- adaptive
k-time- adaptive
Predicate- preserving stabilization Probabilistic
stabilization
Snap- stabilization Probable
stabilization
Strict stabilization
Fault- containment
Snap-Stabilization
Snap-Stabilization
• Specification
• Self-stabilization: Starting from any initial configuration, the system eventually reaches a configuration from which its
behavior is correct
• Snap-stabilization: Starting from any initial configuration, the system always
behaves as its specification
Self-stabilization
Self-stabilization
Self-stabilization
Self-stabilization
Self-stabilization
Self-stabilization
Self-stabilization
Self-stabilization
?
Self-stabilization
Self-stabilization
Self-stabilization
BC
Self-stabilization
BC
Self-stabilization
BC
Self-stabilization
Self-stabilization
Self-stabilization
Self-stabilization
Self-stabilization
Self-stabilization
Snap-stabilization
Snap-stabilization
Snap-stabilization
BC
Snap-stabilization
BC
Snap-stabilization
BC
Snap-stabilization
BC
Snap-stabilization
BC
Snap-stabilization
BC
Snap-stabilization
BC
Snap-stabilization
Snap-stabilization
Non Self-*
Non Self-*
Network
Non Self-*
Network
F(.)
Non Self-*
X
Network
F(.)
Non Self-*
X F(X)
Network
F(.)
Self-stabilization
Self-stabilization
1.X F(.) ≠F(X)
Self-stabilization
Self-stabilization
2.X F(.) ≠F(X)
Self-stabilization
Self-stabilization
3.X F(.) ≠F(X)
Self-stabilization
Self-stabilization
4.X F(.) ≠F(X)
Self-stabilization
5.X F(.) ≠F(X)
Self-stabilization
6.X F(.) ≠F(X)
Self-stabilization
7.X F(.) ≠F(X)
Self-stabilization
8.X F(.) ≠F(X)
Self-stabilization
... F(.) ≠F(X)
Self-stabilization
Self-stabilization
k.X F(.) F(X)
Snap-stabilization
Snap-stabilization
1.X F(.)
Snap-stabilization
1.X F(.) F(X)
Related Works
• Bui, Datta, Petit, Villain. State-optimal snap-
stabilizing PIF in tree networks. WSS 1999.
• Cournier, Datta, Petit, Villain. Enabling snap- stabilization. SSS 2003.
• Cournier, Devismes, Villain. From Self- to Snap- Stabilization. SSS 2006.
• Bui, Datta, Petit, Villain. Snap-stabilization and PIF in tree networks. Distributed Computing 2007.
• Propagation of Information with FeedbackPIF
• Distributed-Control Problems
• Broadcast, Routing, Synchronization,
Protocol, Leader Election, Resource Sharing and Allocation, Graph Algorithms,
Termination Detection, Deadlock
Detection, Reset, Distributed Ranking, Distributed Sorting...
• Propagation of Information with FeedbackPIF
• Distributed-Control Problems
• Broadcast, Routing, Synchronization,
Protocol, Leader Election, Resource Sharing and Allocation, Graph Algorithms,
Termination Detection, Deadlock
Detection, Reset, Distributed Ranking, Distributed Sorting...
PIF
• Propagation of Information with FeedbackPIF
r
• Propagation of Information with FeedbackPIF
r
• Propagation of Information with FeedbackPIF
r
1
1
1 1
• Propagation of Information with FeedbackPIF
r
1
1
1 1
• Propagation of Information with FeedbackPIF
r
1
1
1 1
• Propagation of Information with FeedbackPIF
r
1 2
2 1
1
1
1
1 1
• Propagation of Information with FeedbackPIF
r
1 2
2 1
1
1
1
1 1
• Propagation of Information with FeedbackPIF
r
1 2
2 1
1
1
1
1 1
• Propagation of Information with FeedbackPIF
r
1
1
3 2
1 2
2 1
1 2
2
1
• Propagation of Information with FeedbackPIF
r
1
1
3 2
1 2
2 1
1 2
2
1
• Propagation of Information with FeedbackPIF
r
1
1
3 2
1 2
2 1
1 2
2
1
• Propagation of Information with FeedbackPIF
r
1
1
3 2
2 2
2 3
2 2
2
1
1 1
• Propagation of Information with FeedbackPIF
r
1
1
3 2
2 2
2 3
2 2
2
1
1 1
• Propagation of Information with FeedbackPIF
r
1
1
3 2
2 2
2 3
2 2
2
1
1 1
• Propagation of Information with FeedbackPIF
r
4
1
3 2
2 2
2 3
2 2
2
1
2 1
• Propagation of Information with FeedbackPIF
r
4
1
3 2
2 2
2 3
2 2
2
1
2 1
• Propagation of Information with FeedbackPIF
r
4
1
4 2
2 2
2 3
2 2
2
2
2 2
• Propagation of Information with FeedbackPIF
r
4
1
4 2
2 2
2 3
2 2
2
2
2 2
• Propagation of Information with FeedbackPIF
r
4
1
4 2
2 3
2 3
2 2
2
1
2 3
• Propagation of Information with FeedbackPIF
r
4
1
4 2
2 3
2 3
2 2
2
1
2 3
• Propagation of Information with FeedbackPIF
r
4
2
4 2
2 3
2 3
2 2
2
1
2 3
• Propagation of Information with FeedbackPIF
r
4
2
4 2
2 3
2 3
2 2
2
1
2 3
• Propagation of Information with FeedbackPIF
r
4
2
4 2
2 3
2 3
2 2
2
1
2 4
Self-Stabilizing Compiler
• GOAL
• «Universal» Tool to Transform (Compile)
any non self-stabilizing distributed algorithm into a self-stabilizing one
[Katz and Perry 1993]
Self-Stabilizing Compiler
• GOAL
• «Universal» Tool to Transform (Compile)
any non self-stabilizing distributed algorithm into a self-stabilizing one
[Katz and Perry 1993]
T Self-Stabilizing T
Snap-Stabilizing Compiler
• GOAL
• «Universal» Tool to Transform (Compile)
any non self-stabilizing distributed algorithm into a snap-stabilizing one
[Cournier, Datta, Petit, Villain 2003]
T Snap-Stabilizing T
Snap-Stabilizing Compiler
• IDEA
• Snap-stabilizing leader test
• Snap-stabilizing reset
• Snap-stabilizing snapshot
• Snap-stabilizing termination detection
Snap-Stabilizing Compiler
• IDEA
• Snap-stabilizing leader test
• Snap-stabilizing reset
• Snap-stabilizing snapshot
• Snap-stabilizing termination detection
Sna p-sta bilizi ng
PIF
Snap-Stabilizing Compiler
With a Single Initiator
Snap-Stabilizing Compiler
Network
With a Single Initiator
Snap-Stabilizing Compiler
Network
Initiator
With a Single Initiator
Snap-Stabilizing Compiler
Network
Initiator
T
With a Single Initiator
Snap-Stabilizing Compiler
Network
Initiator
T T T
T
With a Single Initiator
Snap-Stabilizing Compiler
Network
Initiator
With a Single Initiator
T T
T
Snap-Stabilizing Compiler
Network
Initiator
Snapshot
With a Single Initiator
T T
T
Snap-Stabilizing Compiler
Network
Initiator
With a Single Initiator
T T
T
Snap-Stabilizing Compiler
Network
Initiator
If not OK then Reset
With a Single Initiator
T T
T
Snap-Stabilizing Compiler
Network
Initiator
With a Single Initiator
Snap-Stabilizing Compiler
Network
Initiator
With a Single Initiator
T
Snap-Stabilizing Compiler
With a Multiple Initiators
• Same principle
• Snap-stabilizing leader test
• Snap-stabilizing leader election
• Snap-stabilizing reset
• Snap-stabilizing snapshot
• Snap-stabilizing termination detection
Data Links
State Model
1 3
5 5
State Model
1 3
7 5
Message Passing Model
Bootstrapping ?
1 3
5 5
Bootstrapping ?
1 3
5 5
Bootstrapping ?
1 3
5 5
Bootstrapping ?
1 3
5 5
Bootstrapping ?
1 3
5 5
Bootstrapping ?
1 3
7 5
Results
• Safety-distributed specifications admit no snap-stabilizing solution when the bound on channel capacity is unknown
• Known bounded capacity channels
enables snap-stabilization in message passing networks
Algorithms
• Complete (i.e. 1-hop) networks
• Fair lossy links of fixed capacity (e.g. 1)
• Protocols
• Reliable Communication
• Propagation of Information with Feedback (PIF)
• Mutual Exclusion
Reliable
Communications
Reliable
Communications
Reliable
Communications
BC
Reliable
Communications
BC
Reliable
Communications
BC
Reliable
Communications
BC
Reliable
Communications
BC
Reliable
Communications
BC
Reliable
Communications
Reliable
Communications
Reliable
Communications
Ensuring Safety
BC 1 BC 2
Ensuring Safety
BC 1 BC 2
Ensuring Safety
0
BC 1 BC 2
Ensuring Safety
0
0
BC 1 BC 2
Ensuring Safety
0
0
BC 1 BC 2
Ensuring Safety
0
BC 1 BC 2
Ensuring Safety
1
BC 1 BC 2
Ensuring Safety
1
1
BC 2
Ensuring Safety
1
1
BC 2
Ensuring Safety
1
BC 2
Ensuring Safety
2
BC 2
Ensuring Safety
2
BC 2
Ensuring Safety
2
2
Ensuring Safety
2
2
Ensuring Safety
2
Ensuring Safety
3
Ensuring Safety
3
Ensuring Safety
BC
3
Ensuring Safety
BC
3
Ensuring Safety
3
3
Ensuring Safety
3
3
Ensuring Safety
3
3
The Price of Safety
The Price of Safety
0
The Price of Safety
BC
0
The Price of Safety
BC
0
The Price of Safety
0
0
The Price of Safety
0
0
The Price of Safety
1
The Price of Safety
BC
1
The Price of Safety
BC
1
The Price of Safety
1
1
The Price of Safety
1
1
The Price of Safety
2
The Price of Safety
BC
2
The Price of Safety
BC
2
The Price of Safety
2
2
The Price of Safety
2
2
The Price of Safety
3
The Price of Safety
BC
3
The Price of Safety
BC
3
The Price of Safety
3
3
The Price of Safety
3
3
The Price of Safety
3
3
Conclusion
• Bootstrapping Snap-stabilization in realistic networks
• Enabling conditions are more restrictive than those of self-stabilization
• Safety can be ensured, yet induces some overhead
Multitolerance
Stronger Stabilization
Stronger Stabilization
Stronger Stabilization
Stronger Stabilization
Stronger Stabilization
Stronger Stabilization
Stronger Stabilization
Stronger Stabilization
Strict Stabilization
Strict Stabilization
non (c,f)-contained configurations
(c,f)-contained configurations transient fault
Strict Stabilization
• Impossibility result (known)
• r-restrictive specifications do not allow containment radius less than r
• many useful tasks are D-restrictive
• spanning tree, etc.
Strong Stabilization
non (c,f)-contained configurations
(c,f)-contained configurations transient fault
Strong Stabilization
• Our results
• It is possible to solve global tasks and maintain strong stabilization
• Spanning tree (arbitrary)
• Tree orientation
• Impossible to manage maximizing tree metrics
Conclusion
The Big Picture
Weaker Guarantees
Complexity Guarantees
Stronger Guarantees Self-
stabilization Pseudo stabilization Weak
stabilization
Fault- tolerant stabilization
Strong stabilization
k- stabilization
time- adaptive
k-time- adaptive
Predicate- preserving stabilization Probabilistic
stabilization
Snap- stabilization Probable
stabilization
Strict stabilization
Fault- containment