Stabilization Presented by Xiaozhou David Zhu. Contents What-is Motivation 3 Definitions An Example Refinements Reference.

Slides:



Advertisements
Similar presentations
Boosting Textual Compression in Optimal Linear Time.
Advertisements

Chapter 7 - Local Stabilization1 Chapter 7: roadmap 7.1 Super stabilization 7.2 Self-Stabilizing Fault-Containing Algorithms 7.3 Error-Detection Codes.
Justification-based TMSs (JTMS) JTMS utilizes 3 types of nodes, where each node is associated with an assertion: 1.Premises. Their justifications (provided.
Program correctness The State-transition model A global state S  s 0 x s 1 x … x s m {s k = local state of process k} S0  S1  S2  … Each state transition.
Hoare’s Correctness Triplets Dijkstra’s Predicate Transformers
Self Stabilizing Algorithms for Topology Management Presentation: Deniz Çokuslu.
Self-stabilizing Distributed Systems Sukumar Ghosh Professor, Department of Computer Science University of Iowa.
Self-Stabilization in Distributed Systems Barath Raghavan Vikas Motwani Debashis Panigrahi.
Section 7.4: Closures of Relations Let R be a relation on a set A. We have talked about 6 properties that a relation on a set may or may not possess: reflexive,
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.
UBE529 Distributed Algorithms Self Stabilization.
Safety and Liveness. Defining Programs Variables with respective domain –State space of the program Program actions –Guarded commands Program computation.
Lecture 2: Reasoning with Distributed Programs Anish Arora CSE 6333.
Termination Detection Part 1. Goal Study the development of a protocol for termination detection with the help of invariants.
Convergence Refinement Murat Demirbas Anish Arora The Ohio State University.
Chapter 4 - Self-Stabilizing Algorithms for Model Conservation4-1 Chapter 4: roadmap 4.1 Token Passing: Converting a Central Daemon to read/write 4.2 Data-Link.
LSRP: Local Stabilization in Shortest Path Routing Hongwei Zhang and Anish Arora Presented by Aviv Zohar.
CS 536 Spring Global Optimizations Lecture 23.
CPSC 668Self Stabilization1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
LSRP: Local Stabilization in Shortest Path Routing Anish Arora Hongwei Zhang.
Graybox Stabilization Anish Arora Murat Demirbas Sandeep Kulkarni The Ohio State University/ Michigan State University July 2001.
CS294, YelickSelf Stabilizing, p1 CS Self-Stabilizing Systems
Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 1 A self-stabilizing algorithm for the maximum flow.
Self-Stabilization An Introduction Aly Farahat Ph.D. Student Automatic Software Design Lab Computer Science Department Michigan Technological University.
CS 603 Communication and Distributed Systems April 15, 2002.
Prof. Bodik CS 164 Lecture 16, Fall Global Optimization Lecture 16.
Induction and recursion
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Selected topics in distributed computing Shmuel Zaks
Representing distributed algorithms Why do we need these? Don’t we already know a lot about programming? Well, you need to capture the notions of atomicity,
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Fault-containment in Weakly Stabilizing Systems Anurag Dasgupta Sukumar Ghosh Xin Xiao University of Iowa.
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.
Diffusing Computation. Using Spanning Tree Construction for Solving Leader Election Root is the leader In the presence of faults, –There may be multiple.
Defining Programs, Specifications, fault-tolerance, etc.
Fault-containment in Weakly Stabilizing Systems Anurag Dasgupta Sukumar Ghosh Xin Xiao University of Iowa.
The Complexity of Distributed Algorithms. Common measures Space complexity How much space is needed per process to run an algorithm? (measured in terms.
Dissecting Self-* Properties Andrew Berns & Sukumar Ghosh University of Iowa.
Program correctness The State-transition model The set of global states = so x s1 x … x sm {sk is the set of local states of process k} S0 ---> S1 --->
Autonomic distributed systems. 2 Think about this Human population x10 9 computer population.
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)
Program correctness The State-transition model A global states S  s 0 x s 1 x … x s m {s k = set of local states of process k} S0  S1  S2  Each state.
Hwajung Lee. The State-transition model The set of global states = s 0 x s 1 x … x s m {s k is the set of local states of process k} S0  S1  S2  Each.
Diffusing Computation. Using Spanning Tree Construction for Solving Leader Election Root is the leader In the presence of faults, –There may be multiple.
University of Iowa1 Self-stabilization. The University of Iowa2 Man vs. machine: fact 1 An average household in the developed countries has 50+ processors.
CS 542: Topics in Distributed Systems Self-Stabilization.
Mathematical Induction Section 5.1. Climbing an Infinite Ladder Suppose we have an infinite ladder: 1.We can reach the first rung of the ladder. 2.If.
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
Hwajung Lee.  Technique for spontaneous healing.  Forward error recovery.  Guarantees eventual safety following failures. Feasibility demonstrated.
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.
Anish Arora Ohio State University Mikhail Nesterenko Kent State University Local Tolerance to Unbounded Byzantine Faults.
Design of Nonmasking Tree Algorithm Goal: design a tree construction protocol systematically by constructing its invariant and fault-span.
Design of Tree Algorithm Objectives –Learning about satisfying safety and liveness of a distributed program –Apply the method of utilizing invariants and.
Introduction to distributed systems description relation to practice variables and communication primitives instructions states, actions and programs synchrony.
CSE-591: Term Project Self-stabilizing Network Algorithms by Tridib Mukherjee ASU ID :
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
“Designing Masking Fault Tolerance via Nonmasking Fault Tolerance“ Oğuzhan YILDIRIM – Erkin GÜVEL Boğaziçi University Computer Engineering Department
Lecture 3: State, Detection
第1部: 自己安定の緩和 すてふぁん どぅゔぃむ ポスドク パリ第11大学 LRI CNRS あどばいざ: せばすちゃ てぃくそい
Computing Connected Components on Parallel Computers
Self-stabilization.
Hongwei Zhang Anish Arora
Atomicity, Non-determinism, Fairness
CS60002: Distributed Systems
Presented By: Raquel Whittlesey-Harris 12/04/02
Presentation transcript:

Stabilization Presented by Xiaozhou David Zhu

Contents What-is Motivation 3 Definitions An Example Refinements Reference

What is Stabilization Historically speaking, this concept was introduced to CS by Edsger W. Dijkstra. Intuitively speaking, stabilization refers to the ability of a system to converge within finitely – and possibly boundedly – many computation steps, from arbitrary system states to states from where the system exhibits desired behavior.

Motivation To provide a sort of fault-tolerance, whereby the system automatically recovers from fault occurrences by eventually resuming its desired behavior. The faults considered most often along these lines are “transients”, which corrupt the system state in an arbitrary manner. Certainly other types of faults.

Definition 0 Let P be a state predicate of system S. S is stabilizing to P iff it satisfies the following two conditions: Closure: P is closed in S, i.e., in every computation of S that starts at a state in P, all states are in P. Convergence: every computation of S has a finite prefix such that the following state in P.

Definition 0 – some explanations From convergence it follows that regardless of initial state, every computation of S eventually reaches a state where P holds, and From closure it follows that all subsequent states of the computation are in P. The assumption that there always exists a set of states closed in S such that every computation starting from these states is desirable is not always valid.

Definition 1 Let S’ be a subset of the computations of S. S is stabilizing to S’ iff it satisfies the following two conditions: Closure: S’ is suffix closed, i.e., in any computation of S’, every suffix is also in S’. Convergence: every computation of S has a finite prefix such that the following state in S’.

Definition 1 – some explanations A more general assumption than Def. 0 For some situations, the requirement that the system converge regardless of the initial state may be too severe.

Definition 2 Let P and Q be state predicates of system S. S is Q-stabilizing to P iff it satisfies the following two conditions: Closure: P and Q are respectively closed in S. Convergence: every computation of S that starts at a state in Q has a finite prefix such that the following state in P.

Definitions -- observation Definition 0 is the special case, S is true- stabilizing to P, where true is the state predicate characterizing all states of S.

An Example Consider a stabilizing program for performing “diffusing” computations on a finite, rooted tree. Starting from the desirable initial state where all tree nodes are colored green, the root node initiates a diffusing computation. Upon reaching the leaves, the diffusing computation completes from the leaves to the root, coloring the nodes green again. The same cycle repeats.

An Example – cont_1 If however the program state is corrupted arbitrarily its subsequent execution recovers to the desirable initial sate. Properties of node j: c.j be the color of node j sn.j be a Boolean session number (0 or 1) P.j be the parent node of j in the tree, hence if j is the root then p.j is j, else p.j is the unique node from which there is an edge to j in the tree.

An Example – cont_2 3 actions of each node j: First action: is executed by the root if no diffusing computation is in progress, i.e. the root color is green. It initiates a new diffusing computation by changing both the color and the session. c.j = green p.j=j c.j, sn.j := red, sn.j

An Example – cont_3 Second action: is executed by non-root nodes if their parent is propagating a new diffusing computation, i.e., node color is green and the parent has a different sequence number. It copies the parent’s color and sequence number. sn.j sn.(p.j) (c.j=red c.(p.j) = green) c.j, sn.j := c.(p.j), sn.(p.j)

An Example – cont_4 Third action: is executed by a node if all children of the node hae completed the diffusing computation being propagated, I.e. their color is green and they have the node’s session number. It completes the node’s role in the diffusing computation by reverting node color to green. c.j=red ( k:: p.k=j (c.k=green sn.j sn.k)) c.j = green

An Example – some explanations Why is the program stabilizing? Upon starting from any state, the program eventually reaches the desirable initial state (where all nodes are green and have the same session number),and Hence diffusing computations are performed correctly.

Refinements Recent research has identified several stronger notions of interest. Multi-tolerance: corrector/detector Locality of stabilization: local/global correction Minimizing stabilization time: bounded? tradeoff: convergence / system response time Minimizing stabilization state: additional states added to achieve stabilization to be bounded.

Reference Anish Arora, Stabilization, Dept. of CS, The Ohio State University. References listed in the paper.