260 likes | 364 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). 1. 2. m 2. 3. 4. m a. m a. m b. m b. m 1. m 3. m 3. Message-Passing Model.
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)
1 2 m2 3 4 ma ma mb mb m1 m3 m3 Message-Passing Model • Network bidirectionnal and fully-connected • Communications by messages • Links asynchronous, fair, and FIFO • Ids on processes • Transient faults Orsay, réunion SOGEA
Stabilizing Protocols • Self-Stabilization [Dijkstra, 1974] c1 c2 c3 c4 c5 c6 c7 Convergence time correct behavior correct behavior uncorrect behavior Transient Faults Arbitrary initial state Orsay, réunion SOGEA
Stabilizing Protocols • Snap-Stabilization [Bui et al, 1999] c1 c2 c3 c4 c5 c6 c7 time correct behavior correct behavior uncorrect behavior Transient Faults Arbitrary initial state Orsay, réunion SOGEA
Related Works in message-passing(reliable communication in self-stabilization) • [Gouda & Multari, 1991] • Deterministic + Unbounded Capacity => Unbounded Counter • Deterministic + Bounded Capacity => Bounded Counter • [Afek & Brown, 1993] • Probabilistic + Unbounded Capacity + Bounded Counter ? <How old are you, Captain?> ? <I’m 21> <I’m 12> <I’m 50> Orsay, réunion SOGEA
Related Works in message-passing (self-stabilization) • [Varghese, 1993] • Deterministic + Bounded Capacity • [Katz & Perry, 1993] • Unbounded Capacity, deterministic, infinite counter • [Delaët et al] • Unbounded Capacity, deterministic, finite memory • Silent tasks Orsay, réunion SOGEA
Related Works (snap-stabilization) • Nothing in the Message-Passing Model • Only in State Model: • Locally Shared Memory • Composite Atomicity • [Cournier et al, 2003] Orsay, réunion SOGEA
Case 1: unbounded capacity links • Impossible for safety-distributed specifications Orsay, réunion SOGEA
Safety-distributed specification A p B q Example : Mutual Exclusion Orsay, réunion SOGEA
Safety-distributed specification sp A p m1 m2 m3 m4 m5 sq B q m’1 m’2 m’3 m’4 Orsay, réunion SOGEA
Safety-distributed specification sp A p m1 m2 m3 m4 m5 sq B q m’1 m’2 m’3 m’4 Orsay, réunion SOGEA
Case 2: bounded capacity links • Problem to solve: Reliable Communication • 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 ? ? Orsay, réunion SOGEA
Case 2: bounded capacity links • Case Study: Single-Message Capacity 0 or 1 message 0 or 1 message Orsay, réunion SOGEA
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 Orsay, réunion SOGEA
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 Orsay, réunion SOGEA
Generalizations • Arbitrary Bounded Capacity • 2xCmax+3 values Cmax values p q Cmax values 1 value 1 value Orsay, réunion SOGEA
Generalizations • PIF in fully-connected network m Am m m Am Am Orsay, réunion SOGEA
Application Mutual Exclusion in a fully-connected & identified networkusing the PIF Orsay, réunion SOGEA
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 Orsay, réunion SOGEA
Principles (1/3) • Let L be the process with the smallest ID • L decides using ValueLwhich is authorized to access the CS • if ValueL = 0, then L is authorized • if ValueL = i, then the ith neighbor of L is authorized • 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 L when it terminates Step 2 (so that L increments ValueL) Orsay, réunion SOGEA
Principles (2/3) • Each process sequentially executes 4 phases infinitely often • A requesting process p can enter in the CS only after executing Phases 1 to 4 consecutively • The CS is in Phase 4 Orsay, réunion SOGEA
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; If p≠L, then p broadcasts EXITCS (PIF), else p increments Valuep • (upon reception of EXITCS, L increments ValueL) Orsay, réunion SOGEA
Conclusion Snap-Stabilization in message-passing is no more an open question Orsay, réunion SOGEA
Extensions • Apply snap-stabilization in message-passing to: • Other topologies (tree, arbitrary topology) • Other problems • Other failure patterns • Space requirement Orsay, réunion SOGEA