1 / 25

Snap-Stabilization in Message-Passing Systems

This study examines the concept of snap-stabilization in message-passing systems, focusing on both unbounded and bounded capacity links. It explores related works and provides case studies to illustrate the challenges and solutions in achieving reliable communication and mutual exclusion.

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. 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 Bordeaux, groupe de travail "algorithmique distribuée"

  3. Stabilizing Protocols • Self-Stabilization [Dijkstra, 1974] c1 c2 c3 c4 c5 c6 c7 Convergence time Transient Faults Arbitrary initial state Bordeaux, groupe de travail "algorithmique distribuée"

  4. Stabilizing Protocols • Snap-Stabilization [Bui et al, 1999] c1 c2 c3 c4 c5 c6 c7 time Transient Faults Arbitrary initial state Bordeaux, groupe de travail "algorithmique distribuée"

  5. Related Works in message-passing(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 ? <How old are you, Captain?> ? <I’m 21> <I’m 12> <I’m 50> Bordeaux, groupe de travail "algorithmique distribuée"

  6. 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 Bordeaux, groupe de travail "algorithmique distribuée"

  7. Related Works (snap-stabilization) • Nothing in the Message-Passing Model • Only in State Model: • Locally Shared Memory • Composite Atomicity • [Cournier et al, 2003] Bordeaux, groupe de travail "algorithmique distribuée"

  8. Snap-Stabilization in Message-Passing Systems

  9. Case 1: unbounded capacity links • Impossible for safety-distributed specifications Bordeaux, groupe de travail "algorithmique distribuée"

  10. Safety-distributed specification A p B q Example : Mutual Exclusion Bordeaux, groupe de travail "algorithmique distribuée"

  11. Safety-distributed specification sp A p m1 m2 m3 m4 m5 sq B q m’1 m’2 m’3 m’4 Bordeaux, groupe de travail "algorithmique distribuée"

  12. Safety-distributed specification sp A p m1 m2 m3 m4 m5 sq B q m’1 m’2 m’3 m’4 Bordeaux, groupe de travail "algorithmique distribuée"

  13. 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 ? ? Bordeaux, groupe de travail "algorithmique distribuée"

  14. Case 2: bounded capacity links • Case Study: Single-Message Capacity 0 or 1 message 0 or 1 message Bordeaux, groupe de travail "algorithmique distribuée"

  15. 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 Bordeaux, groupe de travail "algorithmique distribuée"

  16. 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 Bordeaux, groupe de travail "algorithmique distribuée"

  17. Generalizations • Arbitrary Bounded Capacity • 2xCmax+3 values • PIF in fully-connected network Bordeaux, groupe de travail "algorithmique distribuée"

  18. Application Mutual Exclusion in a fully-connected & identified networkusing the PIF Bordeaux, groupe de travail "algorithmique distribuée"

  19. 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 Bordeaux, groupe de travail "algorithmique distribuée"

  20. 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 = 0, 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 the leader when it terminates Step 2 Bordeaux, groupe de travail "algorithmique distribuée"

  21. 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 Bordeaux, groupe de travail "algorithmique distribuée"

  22. 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) Bordeaux, groupe de travail "algorithmique distribuée"

  23. Conclusion Snap-Stabilization in message-passing is no more an open question Bordeaux, groupe de travail "algorithmique distribuée"

  24. Extension • Apply snap-stabilization in message-passing to: • Other topologies (tree, arbitrary topology) • Other problems • Other failure patterns • Space requirement Bordeaux, groupe de travail "algorithmique distribuée"

  25. Thank you

More Related