Robust Stabilizing Leader Election Carole Delporte-Gallet (LIAFA) Stéphane Devismes (CNRS, LRI) Hugues Fauconnier (LIAFA) LIAFA
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
Self- vs. Pseudo- Stabilization Same Convergence Property Illegitimate States Legitimate States November 14-16, 2007 SSS'07, Paris
Self- vs. Pseudo- Stabilization Strong Closure vs. Ultimate Closure Illegitimate States Legitimate States November 14-16, 2007 SSS'07, Paris
Self- vs. Pseudo- Stabilization Strong Closure vs. Ultimate Closure Illegitimate States Legitimate States November 14-16, 2007 SSS'07, Paris
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
weak reliability and synchrony assumptions Leader Election Robust Stabilizing Leader Election with: weak reliability and synchrony assumptions November 14-16, 2007 SSS'07, Paris
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
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
Self-Stabilizing Leader Election in a full timely network? Yes + communication-efficiently November 14-16, 2007 SSS'07, Paris
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
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
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
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
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
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
Self-Stabilizing (non communication-efficient) Leader Election in a system where some links are asynchronous? Yes November 14-16, 2007 SSS'07, Paris
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
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
Self-Stabilizing Leader Election in a system without timely routing overlay ? No November 14-16, 2007 SSS'07, Paris
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
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
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
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
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
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
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
November 14-16, 2007 SSS'07, Paris