Download presentation
Presentation is loading. Please wait.
Published byMerry Harrell Modified over 9 years ago
1
Introduction to Self-Stabilization Stéphane Devismes
2
27/03/20082 Self-Stabilization [Dijkstra, 1974] Example: Dijkstra’s Token Ring 0 00 0 01 1 11 1 2
3
27/03/20083 Starting from an arbitrary state 1 4 0 2 5 45 05 0 5
4
27/03/20084 Definition: Closure + Convergence States of the system Illegitimate statesLegitimate States Convergence Closure
5
27/03/20085 Why Self-Stabilization? Tolerance to transient faults Eventually Safe No initializationOvercost Dynamicity No Detection of Stability AdvantagesDrawbacks
6
27/03/20086 Protocols for: Resources Allocation (Mutual Exclusion) Broadcast Routing Overlay (Spanning trees, Routing table) …
7
27/03/20087 Around Self-Stabilization (1/2) Weaker Properties: K-Stabilization (no more than K faults) Weak-Stabilization (possible convergence) Probabilistic Stabilization (probabilistic convergence) Pseudo-Stabilization Aim: circumvent impossibility results Example: alternated bit protocol
8
27/03/20088 Pseudo-Stabilization ? Self-Stabilization [Dijkstra, 1974]: Starting from any configuration, a self-stabilizing system reaches in a finite time a configuration c such that any suffix starting from c satisfies the intended specification. Pseudo-Stabilization [Burns, Gouda, and Miller, 1993]: Starting from any configuration, any execution of a pseudo-stabilizing system has a non-empty suffix that satisfies the intended specification.
9
27/03/20089 Self- vs. Pseudo- Stabilization Illegitimate States Legitimate States Strong Closure vs. Ultimate Closure
10
27/03/200810 Self- vs. Pseudo- Stabilization Example: Leader Election Self-Stabilizing Leader Election: Eventually there is a unique leader that cannot change Pseudo-Stabilizing Leader Election: We never have the guarantee that the leader no more changes but eventually it no more change Remark: no stabilization time in pseudo-stabilization
11
27/03/200811 Around Self-Stabilization (2/2) Stronger Properties: Fault-containment (Quick stabilization when there are few faults) Snap-Stabilization (Safety for the tasks started after the faults) Byzantine-Tolerant Stabilization Fault-Tolerant Stabilization (Stabilization despite crashes) Aim: circumvent the drawbacks
12
Fault-Tolerant Stabilizing Leader Election Carole Delporte-Gallet (LIAFA) Stéphane Devismes (CNRS, LRI) Hugues Fauconnier (LIAFA) LIAFA
13
27/03/200813 Fault-Tolerant Stabilization Gopal and Perry, PODC’93 Beauquier and Kekkonen-Moneta, JSS’97 Anagnostou and Hadzilacos, WDAG’93 In partial synchronous model ?
14
27/03/200814 Leader Election Fault-Tolerant Stabilizing Leader Election with: weak reliability and synchrony assumptions
15
27/03/200815 Model Network: fully-connected n Processes: timely may crash (an arbitrary number of processes may crash) Variables: initially arbitrary assigned Links: Unidirectional Initially not necessarily empty No order on the message deliverance Variable reliability and timeliness assumptions
16
27/03/200816 Communication-Efficiency [Larrea, Fernandez, and Arevalo, 2000]: « An algorithm is communication-efficient if it eventually only uses n - 1 unidirectional links »
17
27/03/200817 Self-Stabilizing Leader Election in a full timely network? Yes + communication-efficiency
18
27/03/200818 Principles of the algorithm A process p periodically sends ALIVE to every other if Leader = p 4 32 1 Leader=1 Leader=2 Alive,2 Alive,1
19
27/03/200819 Principles of the algorithm When a process p such that Leader = p receives ALIVE from q, then Leader := q if q < p 4 32 1 Leader=1 Leader=2 Alive,2 Alive,1 Leader=1 4
20
27/03/200820 Principles of the algorithm Any process q such that Leader ≠ q always chooses as leader the process from which it receives ALIVE the most recently 4 32 1 Leader=1 Leader=2Leader=1 Alive,1 Leader=1 4
21
27/03/200821 Principles of the algorithm On Time out, a process p sets Leader to p 4 32 1 Leader=3 Leader=2Leader=4 Alive,2 Alive,1 Leader=1 Leader=2 4
22
27/03/200822 Communication-Efficient Self-Stabilizing Leader Election in a system where at most one link is asynchronous? No
23
27/03/200823 Impossibility of Communication-Efficiency in a system with at most one asynchronous link Claim: Any process p such that Leader ≠ p must periodically receive messages within a bounded time otherwise it chooses another leader The process chooses another leader
24
27/03/200824 Self-Stabilizing (non communication-efficient) Leader Election in a system where some links are asynchronous? Yes
25
27/03/200825 Self-Stabilizing Leader Election in a system with a timely routing overlay For each pair of alive processes (p,q), there exists at least two paths of timely links: From p to q From q to p
26
27/03/200826 Principle of the algorithm Each process computes the set of alive processes and chooses as leader the smallest process of this set To compute the set: 1. Each process p periodically sends ALIVE,p to every other process 2. Any ALIVE,p message is repeated n - 1 times (any other process periodically receives such a message)
27
27/03/200827 Self-Stabilizing Leader Election in a system without timely routing overlay ? No
28
27/03/200828 Pseudo-Stabilizing Leader Election in a system where Self-Stabilizing Leader Election is not possible ? Yes + communication-efficiently In a system having a source and fair links
29
27/03/200829 Algorithm for systems with Source + fair links A process p periodically sends ALIVE to every other if Leader = p Each process stores in Active its ID + the IDs of each process from which it recently receives ALIVE Each process chooses its leader among the processes in its Active set Problem: we cannot use the IDs to choose a leader 21 Source <1><1><2><2> Alive,1 Alive,2
30
27/03/200830 Accusation Counter p stores in Counter[p] how many times it was suspected to be crashed When a process suspects its leader: it sends an ACCUSATION to LEADER, and chooses as new leader the process in Active with the smallest accusation counter p periodically sends ALIVE,Counter[p] to every other if Leader = p Problem: the accusation counter of the source can increase infinitely often 12 3 Source 3 <3><3> 2 4 1 3,C=2 1,C=1 <2><2> Accuse
31
27/03/200831 Phase Counter Each process maintains in Phase[p] the number of times it looses the leadership p periodically sends ALIVE,Counter[p],Phase[p] to every other if Leader = p p increments Counter[p] only when receiving ACCUSATION,ph with ph = Phase[p] 12 3 Source <3><3> 2 4 1 3,C=2 1,C=1 Ph=3 Ph=1Ph=2 Ph=4 (previously 3) <2><2> Accuse,3
32
27/03/200832 Communication-Efficient Pseudo-Stabilizing Leader Election in a system having only a source? No, but a non communication-efficient pseudo-stabilizing leader election can be done
33
27/03/200833 Result Summary ce-FTSSFTSSce-FTPSFTPS Full-TimelyYes Bi-sourceNoYes Timely routingNoYes? Source + fair linksNo Yes SourceNo Yes Totally asynchronousNo
34
27/03/200834 Perspectives Communication-efficient FTPS leader election in a system with timely routing overlay Extend these results to other topologies and models Fault-tolerant stabilizing decision problems ?
35
Thank You!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.