Title: Robust Stabilizing Leader Election
1Robust Stabilizing Leader Election
- Carole Delporte-Gallet (LIAFA)
- Stéphane Devismes (CNRS, LRI)
- Hugues Fauconnier (LIAFA)
2Stabilization
- 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
3Self- vs. Pseudo- Stabilization
Same Convergence Property
Illegitimate States
Legitimate States
4Self- vs. Pseudo- Stabilization
Strong Closure vs. Ultimate Closure
Illegitimate States
Legitimate States
5Self- vs. Pseudo- Stabilization
Strong Closure vs. Ultimate Closure
Illegitimate States
Legitimate States
6Robust Stabilization
- Gopal and Perry, PODC93
- Beauquier and Kekkonen-Moneta, JSS97
- Anagnostou and Hadzilacos, WDAG93
- In partial synchronous model ?
7Leader Election
- Robust Stabilizing Leader Election with
- weak reliability and synchrony assumptions
8Model
- 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
9Communication-Efficiency
- Larrea, Fernandez, and Arevalo, 2000
- Â An algorithm is communication-efficient if it
eventually only uses n - 1 unidirectional linksÂ
10Self-Stabilizing Leader Election in a full
timely network?
Yes communication-efficiently
11Principle of the algorithm
- A process p periodically sends ALIVE to every
other if Leader p
Alive,1
Leader1
Leader1
Alive,1
Alive,1
Alive,2
Alive,2
Leader2
Leader2
Alive,2
12Principle of the algorithm
- When a process p such that Leader p receives
ALIVE from q, then Leader q if q lt p
Alive,1
Leader1
Leader1
Alive,1
Alive,1
Alive,2
Alive,2
Leader2
Leader2
Leader1
Alive,2
13Principle of the algorithm
- Any process q such that Leader ltgt q always
chooses as leader the process from which it
receives ALIVE the most recently
Alive,1
Leader1
Leader1
Alive,1
Alive,1
Leader2
Leader1
Leader1
14Principle of the algorithm
- On Time out, a process p sets Leader to p
Alive,1
Leader3
Leader1
Leader1
Alive,1
Alive,1
Alive,2
Alive,2
Leader2
Leader4
Leader2
Alive,2
15Communication-Efficient Self-StabilizingLeader
Election in a system where at most one link is
asynchronous?
No
16Impossibility of Communication-Efficiency in a
system with at most one asynchronous link
- Claim Any process p such that Leader ltgt p must
periodically receive messages within a bounded
time otherwise it chooses another leader
The process chooses another leader
17Self-Stabilizing (non communication-efficient)
Leader Election in a system where some links
are asynchronous?
Yes
18Self-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
19Principle 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)
20Self-Stabilizing Leader Election in a system
without timely routing overlay ?
No
21Pseudo-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,
PODC03)
22Algorithm 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
Alive,1
lt1,2gt
lt1gt
lt2gt
lt1,2gt
Alive,2
23Systems with Source fair links Accusation
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 Active with
the smallest accusation counter - p periodically sends ALIVE,Counterp to every
other if Leader p - Problem the accusation counter of the source can
increase infinitely often
lt3gt
2
3
lt1,3gt
3,C2
3,C2
Accuse
1,C1
lt2,3gt
4
lt2gt
1
lt1,3gt
1,C1
24Phase 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,ph with ph Phasep
lt3gt
2
lt1,3gt
Ph3
Ph4 (previously 3)
3,C2
3,C2
1,C1
Accuse,3
1
lt2,3gt
4
lt1,3gt
Ph1
Ph2
lt2gt
1,C1
25Communication-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, PODC03)
26Result Summary
ce-SS SS ce-PS PS
Full-Timely Yes Yes Yes Yes
Bi-source No Yes Yes Yes
Timely routing No Yes ? Yes
Source fair links No No Yes Yes
Source No No No Yes
Totally asynchronous No No No No
27Perspectives
- 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 ?
28(No Transcript)