1 / 24

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). Preliminaries. <How old are you, Captain?>. <I’m 55>.

csimmonds
Download Presentation

Snap-Stabilization in Message-Passing Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Snap-Stabilization in Message-Passing Systems Sylvie Delaët(LRI) StéphaneDevismes(CNRS, LRI) Mikhail Nesterenko(Kent State University) Sébastien Tixeuil (LIP6)

  2. Preliminaries <How old are you, Captain?> <I’m 55> Séminaire "Algorithmique Répartie", LIP6

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. Snap-Stabilization in Message-Passing Systems

  10. Case 1: unbounded capacity links • Impossible for safety-distributed specifications • E.g. Mutual Exclusion Séminaire "Algorithmique Répartie", LIP6

  11. 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

  12. Case Study: Mutual Exclusion • Let p, q be two distinct processes p q p q p q Séminaire "Algorithmique Répartie", LIP6

  13. Case 2: bounded capacity links • Case Study: Single-Message Capacity 0 or 1 message 0 or 1 message Séminaire "Algorithmique Répartie", LIP6

  14. 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

  15. 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

  16. Generalizations • Arbitrary Bounded Capacity • PIF in fully-connected network Séminaire "Algorithmique Répartie", LIP6

  17. Application Mutual Exclusion in a fully-connected & identified networkusing the PIF Séminaire "Algorithmique Répartie", LIP6

  18. 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

  19. 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

  20. 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

  21. 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

  22. Conclusion Snap-Stabilization in message-passing is no more an open question Séminaire "Algorithmique Répartie", LIP6

  23. Extension • Apply snap-stabilization in message-passing to: • Other topologies • Other problems • Other failure patterns Séminaire "Algorithmique Répartie", LIP6

  24. Thank you

More Related