1 / 34

Introduction to Self-Stabilization

Introduction to Self-Stabilization. Stéphane Devismes (CNRS, LRI). Example of Self-Stabilizing System. Dijkstra’s Token Ring. Model. Locally Shared Memory Guarded Action: Action: Executed only if its guard is true (enabled) The execution is asynchronous but each step is atomic.

Download Presentation

Introduction to Self-Stabilization

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. Introduction to Self-Stabilization StéphaneDevismes(CNRS, LRI)

  2. Example of Self-Stabilizing System Dijkstra’s Token Ring

  3. Model • Locally Shared Memory • Guarded Action: • Action: • Executed only if its guard is true (enabled) • The execution is asynchronous but each step is atomic

  4. Topology: Rooted Oriented Ring P0 P1 P5 P2 P4 P3

  5. Algorithm (K = 7) 1 0 2 0 1 0 1 1 0 0 1 1 0

  6. Transient Faults… (undefinitive and rare) 2 1 2 1 1 3 2 1 3 1 1 The system retreives by itself a correct behavior: Self-stabilization 1 1 3 2

  7. Self-Stabilization • Self-Stabilization [Dijkstra, 1974]: Starting from any configuration, a self-stabilizing system reaches in a finite time a configuration c such that any suffix starting from c satisfies the intended specification.

  8. Self-Stabilization Closure Illegitimate States Legitimate States Convergence System States

  9. Advantages • Fault-Tolerance • Initialization • Dynamic Topology

  10. Disavantages • Initial inconsistencies (stabilization time) • Overcost • No detection of stabilization

  11. Around Self-Stabilization • Probabilistic Self-Stabilization • Robust Stabilization • Weak-Stabilization • Pseudo-Stabilization • Snap-Stabilization • Fault-Containment • …

  12. Robust Stabilization The system stabilizes even if some processes crash

  13. Pseudo-Stabilization • Pseudo-Stabilization [Burns, Gouda, and Miller, 1993]: Starting from any configuration, any execution of a pseudo-stabilizing system has a non-empty suffix that satisfies the intended specification. Self ≠ Pseudo ?

  14. Self- vs Pseudo- Specification = {(i,i,i,…),(j,j,j,…)} i r i j j

  15. LIAFA Robust Stabilizing Leader Election(SSS’07) CaroleDelporte-Gallet(LIAFA) StéphaneDevismes(CNRS, LRI) HuguesFauconnier(LIAFA)

  16. SSS’07 (+WRAS) 9th International Symposium on Stabilization, Safety, and Security of Distributed Systems 14-16 November 2007, Paris, France http://sss07.lri.fr/

  17. Related Works on Robust Stabilization • Gopal and Perry, PODC’93 • Beauquier and Kekkonen-Moneta, JSS’97 • Anagnostou and Hadzilacos, WDAG’93 In partial synchronous model ?

  18. Model • Network: fully-connected • n Processes (numbered from 1 to n): • timely • can crashed (an arbitrary number of processes may crash) • Variables: initially arbitrary assigned • Links: • Unidirectional • Initially not necessarily empty • No order on the message delivrance • Variable reliability and timeliness assumptions

  19. Communication-Efficiency [Larrea, Fernandez, and Arevalo, 2000]: « An algorithm is communication-efficient if it eventually only uses n - 1 unidirectional links »

  20. Can we implement Self-Stabilizing Leader Election in a full synchronous network? Yes, it can be communication-efficiently implemented

  21. Principle of the algorithm • A process p periodically sends ALIVE to every other if Leader = p • Any process q such that Leader <> q always chooses as leader the process from which it receives ALIVEthe most recently • When a process p such that Leader = p receives ALIVE from q, then Leader := qif q < p • On Time out, a process p sets Leader to p

  22. Can we implement Communication-EfficientSelf-Stabilizing Leader Election in a system where at most one link is asynchronous? No

  23. Impossibility of Communication-Efficiency in a system with at most one asynchronous link • Claim: Any process p such that Leader <> p must periodically receive messages within a bounded time otherwise it chooses another leader

  24. Can we implement (non communication efficient) Self-Stabilizing Leader Election in a system where some links are asynchronous? Yes

  25. Self-Stabilizing Leader Election in a system with a timely routing overlay • For each pair of alive processor (p,q), there exists at least two paths of timely links: • From p to q • From q to p

  26. Principle of the algorithm • Each process computes the set of alive processes and chooses as leader the smallest process of this set • To compute the set: • Each process pperiodically sends ALIVE,p to every other process • Any ALIVE,p message is repeated n- 1 times (any other process periodically receives such a message)

  27. Can we implement Self-Stabilizing Leader Election in a system without timely routing overlay ? No

  28. Can we implement a Communication-Efficient Pseudo-Stabilizing Leader Election in a system where Communication-Efficient Self-Stabilizing Leader Election is not possible ? • Yes • In a system having a timely source and fair links (adaptation of an algorithm of [Aguilera et al, PODC’93])

  29. Algorithm for systems with Source + fair links • A process pperiodically sends ALIVE to every other if Leader = p • Each process stores in an Active set the IDs of each process from which it recently receives ALIVE • Each process chooses its leader among the processes in its Active set • Problem: we cannot use the IDs to choose a leader

  30. Accusation Counter • p stores in Counter[p] how many times it was suspected to be crashed • When psuspects its leader: • it sends an ACCUSATION to LEADER • And chooses as new leader the process in its Active set with the smallest accusation counter (we use IDs to break ties) • p periodically sends ALIVE,Counter[p] to every other if Leader = p • Problem: assuming that LEADER=s, the source scan volontary stop sending ALIVE

  31. Phase Counter • Each process maintains in Phase[p] the number of times it looses the leadership • pperiodically sends ALIVE,Counter[p],Phase[p] to every other if Leader = p • p increments Counter[p] only when receiving ACCUSATION,ph with ph = Phase[p]

  32. Can we implement a Communication-Efficient Pseudo-Stabilizing Leader Election in a system having only a timely source? No, but a non communication efficient pseudo-stabilizing leader election can be done (techniques similar to those used in the algorithm of [Aguilera et al, PODC’93])

  33. Result Summary

  34. Perspectives • Communication-efficient leader election in a system with timely routing • Extend these results to other topologies and models • Robust stabilizing decision problems ?

More Related