Self-Stabilizing Systems

Self-Stabilizing Systems

Sukumar Ghosh
Ted Herman
Copyright Date: 1997
Pages: 228
  • Cite this Item
  • Book Info
    Self-Stabilizing Systems
    Book Description:

    Self- governing control is a defining characteristic of autonomous computing machinery. Autonomy implies some degree of independence, and when a system's ability to achieve its mission is independent of how it is initialized, the system is self-stabilizing. Application of self-stabilization to system and network components is motivated by core concerns of fault-tolerance in distributed systems. Self-stabilization is a solution to problems of transient memory faults and systems with dynamic reconfigurations. Research in self-stabilization explores many of the classic themes of distributed computing (distributed graph algorithms, mutual exclusion, distributed agreement). Recent papers combine self-stabilization with traditional forms of fault-tolerance, consider methodological issues for the design of self-stabilizing systems, investigate randomized techniques, and apply stabilization to new networking models. The workshop brings together concerns from theory and practice of self-stabilization.

    eISBN: 978-0-7735-9114-1
    Subjects: General Science

Table of Contents

  1. Front Matter
    (pp. [i]-[iv])
  2. Table of Contents
    (pp. [v]-[v])
  3. Preface
    (pp. vi-vi)
  4. Compositional Design of Multitolerant Repetitive Byzantine Agreement
    (pp. 1-15)
    Sandeep S. Kulkarni and Anish Arora

    The motivation for designing programs to be “multitolerant” follows from the limitations of designing them to be “unitolerant”. Given the set of tolerances that are possible for each fault-class when considered in isolation, designing the highest of these tolerances for all of the fault-classes can be impossible. And, designing the lowest of these tolerances for all of the fault-classes can yield unacceptable functionality or performance for some of the fault-classes.

    By way of example, consider a network protocol and the fault-classes of (i) channel message loss and reordering, (ii) node fail-stops and repairs, and (iii) both channel and node faults,...

  5. Development of Self-Stabilizing Distributed Algorithms using Transformation: Case Studies
    (pp. 16-30)
    Hirotsugu Kakugawa, Masaaki Mizuno and Mikhail Nesterenko

    A system is defined to beself-stabilizing (SS)[3] with respect to a set oflegitimatestates if regardless of its initial state, the system is guaranteed to arrive at a legitimate state in a finite number of execution steps and will never leave legitimate states after that. Thus, SS system need not be initialized and is able to recover from transient failures by itself.

    An SS system consists of two components: a program and a run-time support system. A run-time system provides a program with an execution environment and services. A program is an implementation of an SS algorithm³. Many...

  6. The Linear Alternator
    (pp. 31-47)
    Mohamed G. Gouda and Furman Haddix

    In proving that a system is stabilizing, one needs to choose between the following two assumptions concerning the execution of enabled actions.

    i. Serial Execution:

    Enabled actions are executed one at a time.

    ii. Concurrent Execution:

    Any nonempty subset of enabled actions is executed at a time.

    Because it is easier to prove stabilization under the assumption of serial execution, most stabilizing systems are proved correct under that assumption. Unfortunately, many practical implementations of stabilizing systems can support concurrent execution of actions but not serial execution. This situation raises an important question. Given that a system is stabilizing under the...

  7. Self-Stabilizing l-Exclusion
    (pp. 48-63)
    Uri Abraham, Shlomi Dolev, Ted Herman and Irit Koll

    Mutual exclusion is one of the fundamental problems in distributed computing [3, 6]. The problem is defined for a system ofnasynchronous processes that communicate only by reading from and writing to shared memory. There is a single resource in the system. Every process can access this resource, however only a single process can access the resource at a time. The mutual exclusion problem was generalized to thel-exclusion problem by Fischer, Lynch, Burns and Borodin in [5]. In thel-exclusion problem there is a resource that can be shared by at mostlprocesses at any time, for...

  8. On FTSS-Solvable Distributed Problems
    (pp. 64-79)
    Joffroy Beauquier and Synnöve Kekkonen-Moneta

    In the framework of [2], any failure, whatever its cause, is represented as an event that corrupts the global system state, and a protocol is failure resilient if it brings the system back to consistent functioning once failures stop occurring. Furthermore, if the protocol does not allow the system to exhibit incorrect behavior while failures occur or while the system recovers from failures, then the protocol ismasking, otherwise it isnon-masking. So-calledfault-tolerant(ft) protocols are usually masking failure resilient andself-stabilizing(ss) protocols are non-masking failure resilient. Traditionally, these two types of failure resilience have been developed separately....

  9. Compositional Proofs of Self-stabilizing Protocols
    (pp. 80-94)
    George Varghese

    A protocol isself-stabilizingif when started from an arbitrary global state it exhibits “correct” behavior after finite time. Typical protocols are designed to cope with a specified set of failure modes like packet loss and link failures. A self-stabilizing protocol copes with a set of failures that subsumes most previous categories, and is robust against transient errors. Transient errors include memory corruption, as well as malfunctioning devices that send out incorrect packets. Transient errors do occur in real networks and cause systems to fail unpredictably. Thus stabilizing protocols are attractive because they offerincreased robustnessas well aspotential...

  10. Delay-Insensitive Stabilization
    (pp. 95-109)
    Anish Arora and Mohamed G. Gouda

    A computing system is stabilizing iff starting from an arbitrary, possibly illegitimate state, the system is guaranteed to reach a legitimate state in a finite number of steps. Stabilization is a fundamental property of computing systems. For instance, the reset of a system, the ability of a system to tolerate faults, and the ability of a system to adapt to changes in its environment can all be viewed as special forms of stabilization. See for example [2], [3], [4], and [5]. Unfortunately, stabilization is a “fragile” property. Many seemingly lame transformations of a stabilizing system can disrupt the stabilization of...

  11. A Latency Optimal Superstabilizing Mutual Exclusion Protocol
    (pp. 110-124)
    Eiichiro Ueda, Yoshiaki Katayama, Toshimitsu Masuzawa and Hideo Fujiwara

    Aself-stabilizingprotocol is a protocol that achieves its intended behavior regardless of the initial network configuration (i.e., global state). Thus, a self-stabilizing protocol is resilient toany numberandany type of type ansient faults: after the last fault occurs, the protocol starts to converge to its intended behavior. The transient faults model the faults such that the state of processes are corrupted by the faults, but the programs of the processes are left unchanged. The concept of self-stabilization was introduced by Dijkstra [1], and has attracted a great deal of attention in recent years.

    A self-stabilizing protocol is...

  12. Memory-Efficient Self-Stabilizing Algorithm to Construct BFS Spanning Trees
    (pp. 125-140)
    Colette Johnen

    In this paper, we are interested in the self-stabilizing construction of a BFS (Breadth-First Search) spanning tree on an uniform rooted network (no identifier, but a distinguished root). A spanning tree is breadth-first provided that each processor at (shortest) distancedfrom the root in the original graph appears at depthdin the tree (i.e., at a distancedfrom the root in the tree). The spanning tree construction is a fundamental task in communication networks. Many crucial network tasks, such as network reset (and thus any input/output task), leader election, broadcast, topology update, and distributed database maintenance, can...

  13. Self-Stabilizing universal algorithms
    (pp. 141-156)
    Paolo Boldi and Sebastiano Vigna

    A system is self-stabilizing if, after a finite number of steps, it cannot deviate from a specified behaviour. Self-stabilization was introduced by Dijkstra in his celebrated paper [8], and has become since an important framework for the study of fault-tolerant computations.

    The ample possibility given to an adversary of choosing the initial state makes it extremely difficult to devise self-stabilizing algorithms. In order to overcome this problem, there have been some recent attempts in the literature to build “general” self-stabilizing programs (also calledextensions), i.e., superimposed distributed protocols which make the underlying behaviour self-stabilizing, or to solve classical problems (election,...

  14. Trade-offs in fault-containing self-stabilization
    (pp. 157-169)
    Sukumar Ghosh and Sriram V. Pemmaraju

    Informally, a self-stabilizing protocol is calledfault-containingif in addition to ensuring eventual convergence to a legitimate state from an arbitrary state, the protocol provides extra guarantees during convergence from states with “limited” faults. For example, an extra guarantee that a fault-containing self-stabilizing protocol may provide is convergence inO(1) time after a single process fault. Alternately, such a protocol might guarantee that only processes atO(1) distance from the faulty process make state changes during recovery from a single process fault. The kind of “limited” faults for which fault-containing self-stabilizing protocols provide extra guarantees also depends on the context....

  15. Self-Stabilizing Multiple-Sender / Single-Receiver Protocol
    (pp. 170-184)
    Karlo Berket and Ruppert Koch

    In a time of increasing software complexity, protocols must be designed in a robust manner. They should be able to cope with unforeseen erroneous situations. Since Dijkstra [3, 6] introduced self-stabilization, much work has been done on designing protocols that use this property to guarantee return to a correct state in case of transient errors (1, 5].

    For low-level communication protocols, self-stabilization turns out to be particularly useful. Unreliable communication causes errors that must be handled by the protocol. Gouda and Multari [4] and Spinelli [7] developed self-stabilizing two-node sliding-window protocols. In [2] Costello and Varghese introduced a self-stabilizing sliding-window...

  16. Propagated Timestamps: A Scheme for The Stabilization of Maximum Flow Routing Protocols
    (pp. 185-200)
    Jorge A. Cobb and Mohamed Waris

    Computer networks can be represented as connected, directed graphs, where nodes represent computers and edges represent channels between computers. Each edge is assigned a positive capacity. The flow of a network path is the minimum of the capacities of the edges in the path.

    Identifying the path with the maximum flow between two nodes is useful for establishing virtual circuits in computer networks. To establish a virtual circuit with some required capacity between two nodes in a network, a maximum flow path between the two nodes is first identified. If the flow of the identified path is greater than or...

  17. Deductive Verification of Stabilizing Systems
    (pp. 201-216)
    Y. Lakhnech and M. Siegel

    This paper links two formerly disjoint research areas: proof rules for temporal logic and stabilization. Temporal logic is a widely acknowledged language for the specification and verification of concurrent systems [18, 191]. Stabilization is a concept used in various fields of computer science s.a. databases and artificial intelligence [14, 22] but has gained its importance as a paradigm in fault tolerant distributed computing [22].

    In this paper we give a brief introduction to stabilizing systems and presentfair transition systems[18] for their formal description. Then we give a formal definition of stabilization by means oflinear temporal logic(LTL for...

  18. Back Matter
    (pp. 217-218)