Title: Robust Stabilizing Leader Election (SSS
1Robust Stabilizing Leader Election(SSS07)
- Carole Delporte-Gallet (LIAFA)
- Stéphane Devismes (CNRS, LRI)
- Hugues Fauconnier (LIAFA)
2Context
- Two Worlds
- Robust Algorithms
- Withstand crash failures
- Stabilizing Algorithms
- Tolerate transient failures (temporary and rare)
3Stabilization
- 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.
4Stabilization
- 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.
5Self- vs Pseudo-
- Specification (i,i,i,),(j,j,j,)
i
r
i
j
j
6Related Works on Robust Stabilization
- Gopal and Perry, PODC93
- Beauquier and Kekkonen-Moneta, JSS97
- Anagnostou and Hadzilacos, WDAG93
- In partial synchronous model ?
7Model
- 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
8Communication-Efficiency
- Larrea, Fernandez, and Arevalo, 2000
- An algorithm is communication-efficient if it
eventually only uses n - 1 unidirectional links
9Can we implement Self-Stabilizing Leader Election
in a full synchronous network?
Yes, it can be communication-efficiently
implemented
10Principle of the algorithm
- A process p periodically sends ALIVE to every
other if Leader p - Any process q such that Leader ltgt q always
chooses as leader the process from which it
receives ALIVE the most recently - When a process p such that Leader p receives
ALIVE from q, then Leader q if q lt p - On Time out, a process p sets Leader to q
11Can we implement Communication-Efficient
Self-Stabilizing Leader Election in a system
where at most one link is asynchronous?
No
12Sketch of Proof
- Claim Any process p such that Leader ltgt p must
periodically receive messages within a bounded
time otherwise it chooses another leader
13Can we implement (non communication efficient)
Self-Stabilizing Leader Election in a system
where some links are asynchronous?
Yes
14Self-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
15Principle 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) - REMARK for a system with a timely bi-source, we
just have to repeat the messages only once.
16Can we implement Self-Stabilizing Leader Election
in a system without timely routing overlay ?
No
17Can 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, DISC01) - In a system having a timely source and fair
links (adaptation of an algorithm of Aguilera et
al, PODC93)
18Principle of the algorithm of Aguilera et al,
PODC93
- 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
19Accusation Counter
- p stores in Counterp 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,Counterp to every
other if Leader p - Problem assuming that LEADERs, the source s can
volontary stop sending ALIVE
20Phase Counter
- Each process maintains in Phasep the number of
times it looses the leadership - p periodically sends ALIVE,Counterp,Phasep
to every other if Leader p - p increments Counterp only when receiving
ACCUSATION,q with q Counterp
21Can 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, PODC93)
22Result Summary
ce-SS SS ce-PS PS
Synchronous Yes Yes Yes Yes
Timely bi-source No Yes Yes Yes
Timely routing No Yes ? Yes
Timely source fair links No No Yes Yes
Timely source No No No Yes
Totally asynchronous No No No No
23Concluding 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
24Perspectives
- Communication-efficient leader election in a
system with timely routing - Extend these results to other topologies and
models - Robust stabilizing decision problems ?