Download presentation
Presentation is loading. Please wait.
Published byKellen Southwood Modified over 10 years ago
1
Snap-Stabilization in Message-Passing Systems Sylvie Delaët (LRI) Stéphane Devismes (CNRS, LRI) Mikhail Nesterenko (Kent State University) Sébastien Tixeuil (LIP6)
2
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"2 Message-Passing Model Network bidirectionnal and fully-connected Communications by messages Links asynchronous, fair, and FIFO Ids on processes Transient faults m1m1 m2m2 m3m3 m3m3 mama mbmb mama mbmb 1234
3
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"3 Stabilizing Protocols Self-Stabilization [Dijkstra, 1974] time Transient Faults Convergence c1c1 c3c3 c2c2 c5c5 c4c4 c6c6 c7c7 Arbitrary initial state
4
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"4 Stabilizing Protocols Snap-Stabilization [Bui et al, 1999] time Transient Faults c1c1 c3c3 c2c2 c5c5 c4c4 c6c6 c7c7 Arbitrary initial state
5
31/03/2008Bordeaux, 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 ? ?
6
31/03/2008Bordeaux, 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
7
31/03/2008Bordeaux, 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]
8
Snap-Stabilization in Message-Passing Systems
9
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"9 Case 1: unbounded capacity links Impossible for safety-distributed specifications
10
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"10 B A Safety-distributed specification p q Example : Mutual Exclusion
11
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"11 A Safety-distributed specification p spsp m1m1 m2m2 m3m3 m4m4 m5m5 B q sqsq m’ 1 m’ 2 m’ 3 m’ 4
12
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"12 A Safety-distributed specification p spsp m1m1 m2m2 m3m3 m4m4 m5m5 B q sqsq m’ 1 m’ 2 m’ 3 m’ 4
13
31/03/2008Bordeaux, 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 Captain Haddock, then: Tintin eventually receives good answers Tintin takes only the good answers into account ? ?
14
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"14 Case 2: bounded capacity links Case Study: Single-Message Capacity 0 or 1 message
15
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"15 Case 2: bounded capacity links Sequence number State {0,1,2,3,4} p q State p State q 0 NeigState p NeigState q ? ?? 0 1 Until State p = 4
16
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"16 Case 2: bounded capacity links Pathological Case: p q State p State q 0 NeigState p NeigState q ? 1? 1 2 2 3 3 4
17
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"17 Generalizations Arbitrary Bounded Capacity 2xC max +3 values PIF in fully-connected network
18
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"18 Application Mutual Exclusion in a fully-connected & identified network using the PIF
19
31/03/2008Bordeaux, 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
20
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"20 Principles (1/3) Let L be the process with the smallest ID L decides using Value L which is authorized to access the CS 1.if Value L = 0, then L is authorized 2.if Value L = 0, then the i th neighbor of L is authorized When a process learns that it is authorized by L to access the CS: 1.It ensures that no other process can execute the CS 2.It executes the CS, if it requests it 3.It notifies the leader when it terminates Step 2
21
31/03/2008Bordeaux, 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
22
31/03/2008Bordeaux, 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 Value q = 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)
23
31/03/2008Bordeaux, groupe de travail "algorithmique distribuée"23 Conclusion Snap-Stabilization in message-passing is no more an open question
24
31/03/2008Bordeaux, 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
25
Thank you
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.