snap-stabilization in message-passing systems
Post on 01-Jan-2016
24 Views
Preview:
DESCRIPTION
TRANSCRIPT
Snap-Stabilization in Message-Passing Systems
Snap-Stabilization in Message-Passing Systems
Sylvie Delaët (LRI)
Stéphane Devismes (CNRS, LRI)
Mikhail Nesterenko (Kent State University)
Sébastien Tixeuil (LIP6)
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 2
PreliminariesPreliminaries
<How old are you, Captain?>
<I’m 55>
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 3
From an arbitrary initial configuration?(after some transient failures)
From an arbitrary initial configuration?(after some transient failures)
?
?<I’m 12>
<How old are you, Captain?>
+ unreliable asynchronous but FIFO links(induces problems of duplicates)
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 4
SolutionsSolutions
• Self-Stabilization [Dijkstra 1974]:• Starting from any configuration, the protocol resumes a
correct behavior in finite time
• Starting from any configuration, If Tintin sends infinitely many questions to Captain Haddock, then:
• Tintin receives infinitely many good answers
• Tintin eventually only takes the good answers into account
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 5
SolutionsSolutions
• Snap-Stabilization [Bui et al,1999]:• Starting from any configuration, every computation of the
protocol that is started returns a correct result
• Starting from any configuration, if Tintin sends
a question to Captain Haddock, then:• Tintin eventually receives good answers
• Tintin takes only the good answers into account
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 6
Related Works (reliable communication in self-stabilization)
Related Works (reliable communication in self-stabilization)
• [Gouda & Multari, 1991] Deterministic + Unbounded Capacity => Infinite
Counter
Deterministic + Bounded Capacity => Finite Counter
• [Afek & Brown, 1993] Probabilistic + Unbounded Capacity + Finite Counter
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 7
Related Works (self-stabilization in message-passing)
Related Works (self-stabilization in message-passing)
• [Varghese, 1993] Deterministic + Bounded Capacity
• [Katz & Perry, 1993] Unbounded Capacity, deterministic, infinite counter
• [Delaët et al] Unbounded Capacity, deterministic, finite memory Silent tasks
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 8
Related Works (snap-stabilization)
Related Works (snap-stabilization)
• Nothing in the Message-Passing Model
• Only in State Model:
Locally Shared Memory
Composite Atomicity
• [Cournier et al, 2003]
Snap-Stabilization in Message-Passing Systems
Snap-Stabilization in Message-Passing Systems
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 10
Case 1: unbounded capacity linksCase 1: unbounded capacity links
• Impossible for safety-distributed specifications E.g. Mutual Exclusion
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 11
Case Study: Mutual ExclusionCase Study: Mutual Exclusion
• Specification of the Mutual Exclusion:
Any process that requests the CS enters in the CS in finite time (Liveness)
If a requesting process enters in the CS, then it executes the CS alone (Safety)
N.b. Some non-requesting processes may be initially in the CS
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 12
Case Study: Mutual ExclusionCase Study: Mutual Exclusion
• Let p, q be two distinct processes
p
q
q
p
q
p
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 13
Case 2: bounded capacity linksCase 2: bounded capacity links
• Case Study: Single-Message Capacity
0 or 1 message
0 or 1 message
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 14
Case 2: bounded capacity linksCase 2: bounded capacity links
• Sequence number State {0,1,2,3,4}
p q
Statep Stateq0
NeigStatep NeigStateq
?
??
<0,NeigStatep,Qp,Ap>
0
<Stateq,0,Qq,Aq>
1
<1,NeigStatep,Qp,Ap>
Until Statep = 4
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 15
Case 2: bounded capacity linksCase 2: bounded capacity links
• Pathological Case:
p q
Statep Stateq0
NeigStatep NeigStateq
?
1?
<2,?,?,?>
<?,0,?,?>
1
<?,1,?,?>
2
2
<?,2,?,?>
3
<3,NeigStatep,Qp,Ap>
3
<Stateq,3,Qq,Aq>
4
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 16
GeneralizationsGeneralizations
• Arbitrary Bounded Capacity
• PIF in fully-connected network
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 17
ApplicationApplication
Mutual Exclusion in a fully-connected & identified network
using the PIF
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 18
Mutual ExclusionMutual Exclusion
• Specification:
Any process that requests the CS enters in the CS in finite time (Liveness)
If a requesting process enters in the CS, then it executes the CS alone (Safety)
N.b. Some non-requesting processes may be initially in the CS
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 19
Principles (1/3)Principles (1/3)
• Let L be the process with the smallest ID
• L decides using ValueL which process can enter in the CS
• When a process learns that it is authorized by L to access the CS:
§ It ensures that no other process can execute the CS
§ It executes the CS, if it requests it § It notifies the leader when it terminates Step 2
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 20
Principles (2/3)Principles (2/3)
• Each process sequentially executes 4 phases infinitely often
• A requesting process can enter in the CS only after executing Phases 1 to 3
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 21
Principles (3/3)Principles (3/3)
For a process p:
• Phase 1: p evaluates the IDs using a PIF
• Phase 2: p asks if Valueq = p to each other process q (PIF)
• Phase 3: If Winner(p) then p broadcasts EXIT to every
other process (PIF)
• Phase 4: If Winner(p) then CS; p broadcasts EXITCS (PIF)
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 22
ConclusionConclusion
Snap-Stabilization in message-passing is no more an open question
07/02/2008 Séminaire "Algorithmique Répartie", LIP6 23
ExtensionExtension
• Apply snap-stabilization in message-passing to:
Other topologies
Other problems
Other failure patterns
Thank youThank you
top related