Download presentation
Presentation is loading. Please wait.
1
Robust Stabilizing Leader Election
Carole Delporte-Gallet (LIAFA) Stéphane Devismes (CNRS, LRI) Hugues Fauconnier (LIAFA) LIAFA
2
A convergence property
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. A convergence property + A closure property November 14-16, 2007 SSS'07, Paris
3
Self- vs. Pseudo- Stabilization
Same Convergence Property Illegitimate States Legitimate States November 14-16, 2007 SSS'07, Paris
4
Self- vs. Pseudo- Stabilization
Strong Closure vs. Ultimate Closure Illegitimate States Legitimate States November 14-16, 2007 SSS'07, Paris
5
Self- vs. Pseudo- Stabilization
Strong Closure vs. Ultimate Closure Illegitimate States Legitimate States November 14-16, 2007 SSS'07, Paris
6
In partial synchronous model ?
Robust Stabilization Gopal and Perry, PODC’93 Beauquier and Kekkonen-Moneta, JSS’97 Anagnostou and Hadzilacos, WDAG’93 In partial synchronous model ? Les deux premiers: systèmes synchrones Le troisième: résultat d’impossibilité dans les réseaux asynchrones November 14-16, 2007 SSS'07, Paris
7
weak reliability and synchrony assumptions
Leader Election Robust Stabilizing Leader Election with: weak reliability and synchrony assumptions November 14-16, 2007 SSS'07, Paris
8
Model Network: fully-connected n Processes (numbered from 1 to n):
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 Two links between each pair of processes November 14-16, 2007 SSS'07, Paris
9
Communication-Efficiency
[Larrea, Fernandez, and Arevalo, 2000]: « An algorithm is communication-efficient if it eventually only uses n - 1 unidirectional links » November 14-16, 2007 SSS'07, Paris
10
Self-Stabilizing Leader Election in a full timely network?
Yes + communication-efficiently November 14-16, 2007 SSS'07, Paris
11
Principle of the algorithm
A process p periodically sends ALIVE to every other if Leader = p Alive,1 Leader=1 4 3 2 1 Leader=1 Alive,1 Alive,1 Alive,2 Alive,2 Leader=2 Leader=2 Alive,2 November 14-16, 2007 SSS'07, Paris
12
Principle of the algorithm
When a process p such that Leader = p receives ALIVE from q, then Leader := q if q < p Alive,1 Leader=1 4 3 2 1 Leader=1 Alive,1 Alive,1 Alive,2 Alive,2 Leader=2 Leader=1 Leader=2 Alive,2 November 14-16, 2007 SSS'07, Paris
13
Principle of the algorithm
Any process q such that Leader <> q always chooses as leader the process from which it receives ALIVE the most recently Alive,1 Leader=1 4 3 2 1 Leader=1 Alive,1 Alive,1 Leader=2 Leader=1 Leader=1 November 14-16, 2007 SSS'07, Paris
14
Principle of the algorithm
On Time out, a process p sets Leader to p Alive,1 Leader=1 Leader=3 4 3 2 1 Leader=1 Alive,1 Alive,1 Alive,2 Alive,2 Leader=2 Leader=2 Leader=4 Alive,2 November 14-16, 2007 SSS'07, Paris
15
Communication-Efficient Self-Stabilizing Leader Election in a system where at most one link is asynchronous? No Is-it possible a weaker system ? November 14-16, 2007 SSS'07, Paris
16
The process chooses another leader
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 Claim: not obligatorily from the leader The process chooses another leader November 14-16, 2007 SSS'07, Paris
17
Self-Stabilizing (non communication-efficient) Leader Election in a system where some links are asynchronous? Yes November 14-16, 2007 SSS'07, Paris
18
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 November 14-16, 2007 SSS'07, Paris
19
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: Each process p periodically sends ALIVE,p to every other process Any ALIVE,p message is repeated n - 1 times (any other process periodically receives such a message) November 14-16, 2007 SSS'07, Paris
20
Self-Stabilizing Leader Election in a system without timely routing overlay ?
No November 14-16, 2007 SSS'07, Paris
21
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 (adaptation of an algorithm of [Aguilera et al, PODC’03]) November 14-16, 2007 SSS'07, Paris
22
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 2 1 Source Alive,1 <1,2> <1> <1,2> <2> Alive,2 November 14-16, 2007 SSS'07, Paris
23
Systems with Source + fair links Accusation Counter
p stores in Counter[p] how many times it was suspected to be crashed When p 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 1 2 3 Source 3 2 <3> <1,3> 3,C=2 3,C=2 (we use IDs to break ties) Accuse 1,C=1 1 <1,3> 4 <2> <2,3> 1,C=1 November 14-16, 2007 SSS'07, Paris
24
Phase Counter 1 2 3 Source 2 <1,3> <3> 1 <1,3> 4
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] 1 2 3 Source 2 <1,3> <3> Ph=3 Ph=4 (previously 3) 3,C=2 3,C=2 1,C=1 Accuse,3 Ph=1 1 <1,3> 4 <2,3> <2> Ph=2 1,C=1 November 14-16, 2007 SSS'07, Paris
25
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 (techniques similar to those used in the algorithm of [Aguilera et al, PODC’03]) November 14-16, 2007 SSS'07, Paris
26
Result Summary ce-SS SS ce-PS PS Full-Timely Yes Bi-source No
Timely routing ? Source + fair links Source Totally asynchronous November 14-16, 2007 SSS'07, Paris
27
Perspectives Communication-efficient pseudo-stabilizing leader election in a system with timely routing overlay Extend these results to other topologies and models Robust stabilizing decision problems ? Exemple de modèle: only a finite number of processes crashed November 14-16, 2007 SSS'07, Paris
28
November 14-16, 2007 SSS'07, Paris
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.