240 likes | 252 Views
Snap-Stabilization in Message-Passing Systems. Sylvie Dela ët (LRI) Stéphane Devismes (CNRS, LRI) Mikhail Nesterenko (Kent State University) Sébastien Tixeuil (LIP6). Preliminaries. <How old are you, Captain?>. <I’m 55>.
E N D
Snap-Stabilization in Message-Passing Systems Sylvie Delaët(LRI) StéphaneDevismes(CNRS, LRI) Mikhail Nesterenko(Kent State University) Sébastien Tixeuil (LIP6)
Preliminaries <How old are you, Captain?> <I’m 55> Séminaire "Algorithmique Répartie", LIP6
From an arbitrary initial configuration?(after some transient failures) ? <How old are you, Captain?> ? <I’m 12> + unreliable asynchronous but FIFO links (induces problems of duplicates) Séminaire "Algorithmique Répartie", LIP6
Solutions • 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 CaptainHaddock, then: • Tintin receives infinitely many good answers • Tintin eventually only takes the good answers into account Séminaire "Algorithmique Répartie", LIP6
Solutions • 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 CaptainHaddock, then: • Tintin eventually receives good answers • Tintin takes only the good answers into account Séminaire "Algorithmique Répartie", LIP6
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 Séminaire "Algorithmique Répartie", LIP6
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 Séminaire "Algorithmique Répartie", LIP6
Related Works (snap-stabilization) • Nothing in the Message-Passing Model • Only in State Model: • Locally Shared Memory • Composite Atomicity • [Cournier et al, 2003] Séminaire "Algorithmique Répartie", LIP6
Case 1: unbounded capacity links • Impossible for safety-distributed specifications • E.g. Mutual Exclusion Séminaire "Algorithmique Répartie", LIP6
Case 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 Séminaire "Algorithmique Répartie", LIP6
Case Study: Mutual Exclusion • Let p, q be two distinct processes p q p q p q Séminaire "Algorithmique Répartie", LIP6
Case 2: bounded capacity links • Case Study: Single-Message Capacity 0 or 1 message 0 or 1 message Séminaire "Algorithmique Répartie", LIP6
Case 2: bounded capacity links • Sequence number State {0,1,2,3,4} p q <1,NeigStatep,Qp,Ap> <0,NeigStatep,Qp,Ap> <Stateq,0,Qq,Aq> Until Statep = 4 Statep Stateq ? 0 1 NeigStatep NeigStateq ? ? 0 Séminaire "Algorithmique Répartie", LIP6
Case 2: bounded capacity links • Pathological Case: p <2,?,?,?> <3,NeigStatep,Qp,Ap> q <Stateq,3,Qq,Aq> <?,1,?,?> <?,2,?,?> <?,0,?,?> Statep Stateq 4 3 2 ? 1 0 NeigStatep NeigStateq ? 1 3 2 Séminaire "Algorithmique Répartie", LIP6
Generalizations • Arbitrary Bounded Capacity • PIF in fully-connected network Séminaire "Algorithmique Répartie", LIP6
Application Mutual Exclusion in a fully-connected & identified networkusing the PIF Séminaire "Algorithmique Répartie", LIP6
Mutual 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 Séminaire "Algorithmique Répartie", LIP6
Principles (1/3) • Let L be the process with the smallest ID • L decides using ValueLwhich 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 Séminaire "Algorithmique Répartie", LIP6
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 Séminaire "Algorithmique Répartie", LIP6
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) Séminaire "Algorithmique Répartie", LIP6
Conclusion Snap-Stabilization in message-passing is no more an open question Séminaire "Algorithmique Répartie", LIP6
Extension • Apply snap-stabilization in message-passing to: • Other topologies • Other problems • Other failure patterns Séminaire "Algorithmique Répartie", LIP6