Robust Stabilizing Leader Election SSS 07 Carole DelporteGallet
Robust Stabilizing Leader Election (SSS’ 07) Carole Delporte-Gallet Stéphane Devismes (CNRS, LRI) Hugues Fauconnier Le 3 octobre 2007 (LIAFA) Réunion FRACAS (LIAFA) LIAFA
Context • Two Worlds: – Robust Algorithms • Withstand crash failures – Stabilizing Algorithms • Tolerate transient failures (temporary and rare) Le 3 octobre 2007 Réunion FRACAS 2
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. Le 3 octobre 2007 Réunion FRACAS 3
Stabilization • Pseudo-Stabilization [Burns, Gouda, and Miller, 1993]: Starting from any configuration, any execution of a pseudostabilizing system has a non-empty suffix that satisfies the intended specification. Le 3 octobre 2007 Réunion FRACAS 4
Self- vs Pseudor i i j j Specification = {(i, i, i, …), (j, j, j, …)} Le 3 octobre 2007 Réunion FRACAS 5
Related Works on Robust Stabilization • Gopal and Perry, PODC’ 93 • Beauquier and Kekkonen-Moneta, JSS’ 97 • Anagnostou and Hadzilacos, WDAG’ 93 In partial synchronous model ? Le 3 octobre 2007 Réunion FRACAS 6
Model • Network: fully-connected • n Processes (numbered from 1 to n): initially crashed (an arbitrary number of processes may crash) or timely forever • Variables: initially arbitrary assigned • Links: – Initially not necessarily empty – No order on the message delivrance – Variable reliability and timeliness assumptions Le 3 octobre 2007 Réunion FRACAS 7
Communication-Efficiency [Larrea, Fernandez, and Arevalo, 2000]: « An algorithm is communication-efficient if it eventually only uses n - 1 unidirectional links » Le 3 octobre 2007 Réunion FRACAS 8
Can we implement Self-Stabilizing Leader Election in a full synchronous network? Yes, it can be communication-efficiently implemented Le 3 octobre 2007 Réunion FRACAS 9
Principle of the algorithm 1. A process p periodically sends ALIVE to every other if Leader = p 2. Any process q such that Leader <> q always chooses as leader the process from which it receives ALIVE the most recently 3. When a process p such that Leader = p receives ALIVE from q, then Leader : = q if q < p 4. On Time out, a process p sets Leader to q Le 3 octobre 2007 Réunion FRACAS 10
Can we implement Communication-Efficient Self. Stabilizing Leader Election in a system where at most one link is asynchronous? No Le 3 octobre 2007 Réunion FRACAS 11
Sketch of Proof • Claim: Any process p such that Leader <> p must periodically receive messages within a bounded time otherwise it chooses another leader Le 3 octobre 2007 Réunion FRACAS 12
Can we implement (non communication efficient) Self-Stabilizing Leader Election in a system where some links are asynchronous? Yes Le 3 octobre 2007 Réunion FRACAS 13
Self-Stabilizing Leader Election in a system with a timely routing overlay • For each pair of alive processor (p, q), there exists at least two paths of timely links: – From p to q – From q to p • Particular case: timely bi-source, i. e. , – A timely process having all its (outgoing and ingoing) links that are timely Le 3 octobre 2007 Réunion FRACAS 14
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) • REMARK: for a system with a timely bi-source, we just have to repeat the messages only once. Le 3 octobre 2007 Réunion FRACAS 15
Can we implement Self-Stabilizing Leader Election in a system without timely routing overlay ? No Le 3 octobre 2007 Réunion FRACAS 16
Can we implement a Communication-Efficient Pseudo-Stabilizing Leader Election in a system where Communication-Efficient Self-Stabilizing Leader Election is not possible ? Yes • In a system having a timely bi-source (Algorithm of [Aguilera et al, DISC’ 01]) • In a system having a timely source and fair links (adaptation of an algorithm of [Aguilera et al, PODC’ 93]) Le 3 octobre 2007 Réunion FRACAS 17
Principle of the algorithm of [Aguilera et al, PODC’ 93] • A process p periodically sends ALIVE to every other if Leader = p • Each process store in an Active set the IDs of each process from which it recently receives ALIVE • Each process choose its leader among the processes in its Active set • Problem: we cannot use the IDs to choose a leader Le 3 octobre 2007 Réunion FRACAS 18
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 its Active set with the smallest accusation counter (we use IDs to break ties) • p periodically sends ALIVE, Counter[p] to every other if Leader = p • Problem: assuming that LEADER=s, the source s can volontary stop sending ALIVE Le 3 octobre 2007 Réunion FRACAS 19
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, q with q = Counter[p] Le 3 octobre 2007 Réunion FRACAS 20
Can we implement a Communication-Efficient Pseudo-Stabilizing Leader Election in a system having only a timely 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’ 93]) Le 3 octobre 2007 Réunion FRACAS 21
Result Summary ce-SS SS ce-PS PS Synchronous Yes Yes Timely bi-source No Yes Yes Timely routing No Yes ? Yes Timely source + fair links No No Yes Timely source No No No Yes Totally asynchronous No No Le 3 octobre 2007 Réunion FRACAS 22
Concluding Remarks • Our algorithms also work with eventual timely assumptions • Consider initial crash failures is not a restriction • In fix-point problem, the gap between robustness and stabilizing robustness is not really significant Le 3 octobre 2007 Réunion FRACAS 23
Perspectives • Communication-efficient leader election in a system with timely routing • Extend these results to other topologies and models • Robust stabilizing decision problems ? Le 3 octobre 2007 Réunion FRACAS 24
- Slides: 24