Robust Stabilizing Leader Election Carole DelporteGallet LIAFA Stphane
Robust Stabilizing Leader Election Carole Delporte-Gallet (LIAFA) Stéphane Devismes (CNRS, LRI) Hugues Fauconnier (LIAFA) November 14 -16, 2007 SSS'07, Paris LIAFA
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. A convergence property + A closure property • 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. November 14 -16, 2007 SSS'07, Paris 2
Self- vs. Pseudo- Stabilization Same Convergence Property Illegitimate States November 14 -16, 2007 Legitimate States SSS'07, Paris 3
Self- vs. Pseudo- Stabilization Strong Closure vs. Ultimate Closure Illegitimate States November 14 -16, 2007 Legitimate States SSS'07, Paris 4
Self- vs. Pseudo- Stabilization Strong Closure vs. Ultimate Closure Illegitimate States November 14 -16, 2007 Legitimate States SSS'07, Paris 5
Robust Stabilization • Gopal and Perry, PODC’ 93 • Beauquier and Kekkonen-Moneta, JSS’ 97 • Anagnostou and Hadzilacos, WDAG’ 93 In partial synchronous model ? November 14 -16, 2007 SSS'07, Paris 6
Leader Election Robust Stabilizing Leader Election with: weak reliability and synchrony assumptions November 14 -16, 2007 SSS'07, Paris 7
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 November 14 -16, 2007 SSS'07, Paris 8
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 9
Self-Stabilizing Leader Election in a full timely network? Yes + communication-efficiently November 14 -16, 2007 SSS'07, Paris 10
Principle of the algorithm • A process p periodically sends ALIVE to every other if Leader = p Alive, 1 4 Leader=1 2 e, iv Al Leader=2 3 Alive, 2 1 e, iv Alive, 1 Al Leader=1 1 2 Leader=2 Alive, 2 November 14 -16, 2007 SSS'07, Paris 11
Principle of the algorithm • When a process p such that Leader = p receives ALIVE from q, then Leader : = q if q < p Alive, 1 4 Leader=1 2 e, iv Al Leader=2 3 Alive, 2 1 e, Alive, 1 iv Al Leader=1 1 2 Leader=1 Alive, 2 November 14 -16, 2007 SSS'07, Paris 12
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 1 Leader=2 Leader=1 3 November 14 -16, 2007 4 Leader=1 e, Alive, 1 iv Al Leader=1 1 2 Leader=1 SSS'07, Paris 13
Principle of the algorithm • On Time out, a process p sets Leader to p Alive, 1 4 Leader=1 2 e, iv Al Leader=2 3 Alive, 2 1 e, iv Alive, 1 Al Leader=3 1 Leader=4 2 Leader=2 Alive, 2 November 14 -16, 2007 SSS'07, Paris 14
Communication-Efficient Self-Stabilizing Leader Election in a system where at most one link is asynchronous? No November 14 -16, 2007 SSS'07, Paris 15
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 November 14 -16, 2007 SSS'07, Paris 16
Self-Stabilizing (non communication-efficient) Leader Election in a system where some links are asynchronous? Yes November 14 -16, 2007 SSS'07, Paris 17
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 18
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) November 14 -16, 2007 SSS'07, Paris 19
Self-Stabilizing Leader Election in a system without timely routing overlay ? No November 14 -16, 2007 SSS'07, Paris 20
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 21
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 Source Alive, 1 <1, 2>���� <1> 1 2 <1, 2>���� <2> Alive, 2 November 14 -16, 2007 SSS'07, Paris 22
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 3 32 <3> <1, 3> 2 C= 3, C =2 Source =1 cu Ac se 1, C • • 1 <1, 3> 1 2 4 <2> <2, 3> 1, C=1 November 14 -16, 2007 SSS'07, Paris 23
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] Source Ph=3 (previously 3) 2 <1, 3> <3> Ph=4 3, C 2 C= , 3 se 1, C =1 cu Ac Ph=1 3, =2 3 1 <1, 3> 1 2 4 <2, 3> <2> Ph=2 1, C=1 November 14 -16, 2007 SSS'07, Paris 24
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 25
Result Summary ce-SS SS ce-PS PS Full-Timely Yes Yes Bi-source No Yes Yes Timely routing No Yes ? Yes Source + fair links No No Yes Source No No No Yes Totally asynchronous No No November 14 -16, 2007 SSS'07, Paris 26
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 ? November 14 -16, 2007 SSS'07, Paris 27
November 14 -16, 2007 SSS'07, Paris 28
- Slides: 28