Introduction to Self-Stabilization

Slides:



Advertisements
Similar presentations
Impossibility of Distributed Consensus with One Faulty Process
Advertisements

CS 542: Topics in Distributed Systems Diganta Goswami.
Teaser - Introduction to Distributed Computing
Snap-stabilizing Committee Coordination Borzoo Bonakdarpour Stephane Devismes Franck Petit IEEE International Parallel and Distributed Processing Symposium.
Leader Election Let G = (V,E) define the network topology. Each process i has a variable L(i) that defines the leader.  i,j  V  i,j are non-faulty.
Snap-Stabilization in Message-Passing Systems Sylvie Delaët (LRI) Stéphane Devismes (CNRS, LRI) Mikhail Nesterenko (Kent State University) Sébastien Tixeuil.
Fast Leader (Full) Recovery despite Dynamic Faults Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Sébastien Tixeuil.
Linearizing Peer-to-Peer Systems with Oracles by Rizal Mohd Nor Mikhail Nesterenko Sébastien Tixeuil SSS 2013 Nov 13-16, 2013.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Self Stabilization 1.
Lecture 4: Elections, Reset Anish Arora CSE 763 Notes include material from Dr. Jeff Brumfield.
Introduction to Self-Stabilization Stéphane Devismes.
UPV / EHU Efficient Eventual Leader Election in Crash-Recovery Systems Mikel Larrea, Cristian Martín, Iratxe Soraluze University of the Basque Country,
Byzantine Generals Problem: Solution using signed messages.
Failure Detectors. Can we do anything in asynchronous systems? Reliable broadcast –Process j sends a message m to all processes in the system –Requirement:
From Self- to Snap- Stabilization Alain Cournier, Stéphane Devismes, and Vincent Villain SSS’2006, November 17-19, Dallas (USA)
Self-Stabilization: An approach for Fault-Tolerance in Distributed Systems Stéphane Devismes 16/12/2013MAROC'2013.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 7: Failure Detectors.
CPSC 668Set 3: Leader Election in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
CS294, YelickSelf Stabilizing, p1 CS Self-Stabilizing Systems
Performance Comparison of Existing Leader Election Algorithms for Dynamic Networks Mobile Ad Hoc (Dynamic) Networks: Collection of potentially mobile computing.
Self-Stabilization An Introduction Aly Farahat Ph.D. Student Automatic Software Design Lab Computer Science Department Michigan Technological University.
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 2 – Distributed Systems.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Impossibility.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 12: Impossibility.
Efficient Algorithms to Implement Failure Detectors and Solve Consensus in Distributed Systems Mikel Larrea Departamento de Arquitectura y Tecnología de.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Selected topics in distributed computing Shmuel Zaks
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Snap-Stabilizing PIF and Useless Computations Alain Cournier, Stéphane Devismes, and Vincent Villain ICPADS’2006, July , Minneapolis (USA)
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Review for Exam 2. Topics included Deadlock detection Resource and communication deadlock Graph algorithms: Routing, spanning tree, MST, leader election.
A Self-Stabilizing O(n)-Round k-Clustering Algorithm Stéphane Devismes, VERIMAG.
Self-Stabilizing K-out-of-L Exclusion on Tree Networks Stéphane Devismes, VERIMAG Joint work with: – Ajoy K. Datta (Univ. Of Nevada) – Florian Horn (LIAFA)
Self-Stabilizing K-out-of-L Exclusion on Tree Networks Stéphane Devismes, VERIMAG Joint work with: – Ajoy K. Datta (Univ. Of Nevada) – Florian Horn (LIAFA)
Approximation of δ-Timeliness Carole Delporte-Gallet, LIAFA UMR 7089, Paris VII Stéphane Devismes, VERIMAG UMR 5104, Grenoble I Hugues Fauconnier, LIAFA.
Distributed systems Consensus Prof R. Guerraoui Distributed Programming Laboratory.
Weak vs. Self vs. Probabilistic Stabilization Stéphane Devismes (CNRS, LRI, France) Sébastien Tixeuil (LIP6-CNRS & INRIA, France) Masafumi Yamashita (Kyushu.
1 Eventual Leader Election in Evolving Mobile Networks Luciana Arantes 1, Fabiola Greve 2, Véronique Simon 1, and Pierre Sens 1 1 Université de Paris 6.
Snap-Stabilization in Message-Passing Systems Sylvie Delaët (LRI) Stéphane Devismes (CNRS, LRI) Mikhail Nesterenko (Kent State University) Sébastien Tixeuil.
Agreement in Distributed Systems n definition of agreement problems n impossibility of consensus with a single crash n solvable problems u consensus with.
CS 542: Topics in Distributed Systems Self-Stabilization.
Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 3: Leader Election in Rings 1.
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Self-Stabilizing Algorithm with Safe Convergence building an (f,g)-Alliance Fabienne Carrier Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Yvan Rivierre.
Hwajung Lee.  Technique for spontaneous healing.  Forward error recovery.  Guarantees eventual safety following failures. Feasibility demonstrated.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Snap-Stabilization in Message-Passing Systems Sylvie Delaët (LRI) Stéphane Devismes (CNRS, LRI) Mikhail Nesterenko (Kent State University) Sébastien Tixeuil.
Superstabilizing Protocols for Dynamic Distributed Systems Authors: Shlomi Dolev, Ted Herman Presented by: Vikas Motwani CSE 291: Wireless Sensor Networks.
ITEC452 Distributed Computing Lecture 15 Self-stabilization Hwajung Lee.
Snap-Stabilizing Depth-First Search on Arbitrary Networks Alain Cournier, Stéphane Devismes, Franck Petit, and Vincent Villain OPODIS 2004, December
Around Self-Stabilization Part 2: Strengthened Forms of Self-Stabilization Stéphane Devismes Post-Doc CNRS at the LRI (Paris VII)
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
第1部: 自己安定の緩和 すてふぁん どぅゔぃむ ポスドク パリ第11大学 LRI CNRS あどばいざ: せばすちゃ てぃくそい
New Variants of Self-Stabilization
Analysis of Link Reversal Routing Algorithms
Parallel and Distributed Algorithms
Student: Fang Hui Supervisor: Teo Yong Meng
Fault-tolerant Consensus in Directed Networks Lewis Tseng Boston College Oct. 13, 2017 (joint work with Nitin H. Vaidya)
A Snap-Stabilizing DFS with a Lower Space Requirement
Presented By: Raquel Whittlesey-Harris 12/04/02
Robust Stabilizing Leader Election
Lecture 8: Synchronous Network Algorithms
Abstraction.
Algorithms for Extracting Timeliness Graphs
Corona Robust Low Atomicity Peer-To-Peer Systems
Snap-Stabilization in Message-Passing Systems
Distributed systems Consensus
Presentation transcript:

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

Topology: Rooted Oriented Ring

Algorithm (K = 7) 1 2 1 1 1 1 1

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

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.

Self-Stabilization Closure Illegitimate States Legitimate States Convergence System States

Advantages Fault-Tolerance Initialization Dynamic Topology

Disavantages Initial inconsistencies (stabilization time) Overcost No detection of stabilization

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

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

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 ?

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

Robust Stabilizing Leader Election (SSS’07) Carole Delporte-Gallet (LIAFA) Stéphane Devismes (CNRS, LRI) Hugues Fauconnier (LIAFA) LIAFA

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

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 ? Les deux premiers: systèmes synchrones Le troisième: résultat d’impossibilité dans les réseaux asynchrones

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

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

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

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 ALIVE the most recently When a process p such that Leader = p receives ALIVE from q, then Leader := q if q < p On Time out, a process p sets Leader to p

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

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

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

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

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 p periodically sends ALIVE,p to every other process Any ALIVE,p message is repeated n - 1 times (any other process periodically receives such a message)

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

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])

Algorithm for systems with Source + fair links A process p periodically 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

Accusation Counter p stores in Counter[p] how many times it was suspected to be crashed When p suspects 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 s can volontary stop sending ALIVE

Phase Counter Each process maintains in Phase[p] the number of times it looses the leadership p periodically 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]

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])

Result Summary ce-SS SS ce-PS PS Synchronous Yes Timely bi-source No Timely routing ? Timely source + fair links Timely source Totally asynchronous

Perspectives Communication-efficient leader election in a system with timely routing Extend these results to other topologies and models Robust stabilizing decision problems ? Exemple de modèle: only a finite number of processes crashed