1 / 17

Self-Stabilization in Distributed Systems

Explore self-stabilization concepts in distributed systems, including Dijkstra’s model, super-stabilization, sensor network applications, fault tolerance, and pursuit-evader problems in sensor networks. Understand the importance, techniques, and benefits of self-stabilization for fault tolerance and system resilience. Learn about the fundamentals and applications of self-stabilization, along with Dijkstra’s self-stabilization techniques and the challenges faced in sensor networks.

lcormier
Download Presentation

Self-Stabilization in Distributed 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. Self-Stabilization in Distributed Systems Barath Raghavan Vikas Motwani Debashis Panigrahi

  2. Outline • Introduction • Concept of Self-Stabilization • Dijkstra’s Model of Self-stabilization • Super-Stabilization • Application of Stabilization on Sensor Network • Discussion

  3. Distributed Systems • A distributed system consists of loosely connected machines which do not share a global memory. Each machine has the partial view of the global state • System consists of components : processes and inter-connections (message passing/shared memory) • Topology is formed by components as nodes and inter-connections as directed edges • Each component has a local state • Global system state is union of local states • Behavior of the system is represented by the global state and the transition between the states • Design of robust distributed system requires capability of recovery from unforeseen perturbances • Previous attempts cater to permanent failures by introducing redundant components • Transient malfunction (message corruption/sensor malfunction/memory error) can put the system to illegal state

  4. Self-stabilization • A self-stabilizing system guarantees that • Regardless of the current state, the system is guaranteed to recover to a legal configuration in a finite number of steps • Remain in the legal configuration thereafter until a malfunction occurs • Examples of Self-stabilization • Mathematics : Newton-Raphson method for finding square root • Control Theory: Systems with feedback • Distributed Systems: Pioneered by Dijkstra • Questions? • Is it always possible to have self-stabilization? If not, under what conditions • How do we design algorithms that are self-stabilizing • Cost of self-stabilization and convergence rate?

  5. Properties of self-stabilization • Closure • Some evaluation function (a predicate) P, once true given the state of the system S, is always true thereafter • Convergence • Regardless of the starting stated, P will be satisfied within a finite number of state transitions • OR: Given a starting state in which a predicate Q is satisfied, P will be satisfied within a finite number of state transitions • These properties must remain true even against an adversary • The adversary may have knowledge of the system’s design and cause damage or remove state

  6. Using Self-Stabilization for Fault Tolerance • Why use self-stabilization for fault tolerance • In some sense, because it was not designed for fault tolerance • Fault tolerance is a side-effect of self-stabilizing behavior of a system • No case checking • Simply guaranteeing that a system is self-stabilizing with respect to some predicate assures that for that predicate, the system will never “fail” • Self-stabilization implies (finite time) recovery after failure • Existing approaches rely upon avoiding failure at all costs, and then handling only certain failure modes • No probabilistic guarantees necessary • Since the system must stabilize regardless of the initial state, one can assert that a self-stabilizing system is perfectly fault-tolerant

  7. Dijkstra’s Self-Stabilization Techniques • His question: can a self-stabilizing system exist at all? • Yes. • Can the processes (finite state machines) be the same? • No. • Are some processes “privileged”? • Yes. • What do they do? • No(thing).

  8. Dijkstra’s Self-Stabilization Techniques (2) • How does his K-state self-stabilizing system work? • Each • Can the processes (finite state machines) be the same? • No. • Are some processes “privileged”? • Yes. • What do they do? • No(thing).

  9. Pursuer-Evader Problem in Sensor Networks • Problem : How do you design the motion of pursuer so that it can finally see the unpredictable evader? • Examples • Motion Tracking • Sensing occurrences of unlikely events • Past attempts of solving not applicable in sensor networks • Limited Computational Resources (no centralized algorithm) • Communication burden • Fault-prone environment • On-site maintenance infeasible

  10. The Problem • Input • System consisting of large number of sensor node • Each node j has a neighbour set nbr.j that it can communicate with • Each node has clock synchronized with other nodes • Two disntinguished processes : Pursuer & Evador • Both processes are mobile changing location from node to node • Evador moves at a slower rate compared to pursuer • The strategy of evader movement is unknown to the network • Goal: Design a program for the motes and the pursuer so that the pursuer can “catch” the evader, i.e. guarantees pursuer and evader would come to the same node • A program consists of a set of variables, mote actions, pursuer actions and evader actions

  11. Assumption • Evader Action • Evader moves picks a random neighbor and moves to the node • Fault Model • Transient fault model corrupt the state at each node • Transient fault also restart motes • We assume connectivity of the graph despite faults

  12. Evader-centric Program • Each node stores a variable ts: latest timestamp that a node knows for the detection of evader • If a node detects an evader, it sets its ts to the current clock time • A node otherwise compares its own ts value with all the neighbors’ and stores the maximum (p representing the parent node) • One the tracking tree is formed, pursuer simply follows the parent link from each node to reach to the evader node

  13. Evader-centric Program: Observations • The tracking tree is a spanning tree rooted at the mote where evader resides • The distance between pursuer and evader does not increase once the tree includes the pursuer • The pursuer catches the evader in at most M+2M*(a/1-a) steps • Stabilization: If we assume (ts < clock) and (parent is a neighbor), it can be proved that the above algorithm will stabilize • Performance: • Energy = deg * N • Time = D + 2D *(a/1-a)

  14. Pursuer-Centric Program • Each node updates the ts when it detects evader • Motes communicate with neighbors only at the request of pursuer • When pursuer visits a node, it sets its ts to 0 and moves to the neighboring node with maximum ts

  15. Pursuer-Centric Program: Observations • If the pursuer reaches a mote j where ts>0, the pursuer catches the evader in at most N*a/(1-a) • The pursuer catches the evader within O(N2*log(N)) • Stabilization: Initialization of ts = 0 • Performance Metrics • Communication : degree communications per step • Time : O(N2*log(N))

  16. A Hybrid Pursuer-Evader Program • Modify Evader-centric program to limit the tracking depth to save energy • Modify pursuer centric program to exploit the tracking tree structure program • Remove cycles from the graph • Check to correct fake tree roots • Pursuer: if parent defined, follow the parent otherwise select a neighbor with maximum ts value • Performance Metrics • Communication: n + degree of communication at each step • Time: O((N-n)2log(N-n))

  17. Discussion • Here we came to know about a self-stabilizing program to track presence of evader in a sensor network • The algorithm is tunable and energy-efficient • Limitations • Fault-model is limited – no communication related failure • Can the concepts be generalized to address generic sensor related failures? • Number of evaders and no of pursuers are limited to one • Need for clock synchronization can possibly be relaxed

More Related