Results 1 - 10
of
65
Distributed Reset
- IEEE Transactions on Computers
, 1990
"... We design a reset subsystem that can be embedded in an arbitrary distributed system in order to allow the system processes to reset the system when necessary. Our design is layered, and comprises three main components: a leader election, a spanning tree construction, and a diffusing computation. Eac ..."
Abstract
-
Cited by 137 (23 self)
- Add to MetaCart
We design a reset subsystem that can be embedded in an arbitrary distributed system in order to allow the system processes to reset the system when necessary. Our design is layered, and comprises three main components: a leader election, a spanning tree construction, and a diffusing computation. Each of these components is self-stabilizing in the following sense. If the coordination between the up processes in the system is ever lost (due to failures or repairs of processes and channels) then each component eventually reaches a state where coordination is regained. This capability makes our reset subsystem very robust: it can tolerate fail-stop failures and repairs of processes and channels even when a reset is in progress. Categories and Subject Descriptors: C.2.4 [Computer Communication Systems]: Distributed Systems--distributed applications, network operating systems ; D.1.3 [Programming Techniques]: Concurrent Programming ; D.4.5 [Operating Systems]: Reliability--verification, fa...
Self-Stabilization by Local Checking and Correction
, 1997
"... this paper appeared in the 32nd Proceedings of the IEEE Foundations of Computer Science (FOCS) Conference, 1991. ..."
Abstract
-
Cited by 113 (29 self)
- Add to MetaCart
this paper appeared in the 32nd Proceedings of the IEEE Foundations of Computer Science (FOCS) Conference, 1991.
Uniform dynamic self-stabilizing leader election
- IEEE Transactions on Parallel and Distributed Systems
, 1997
"... Abstract—A distributed system is self-stabilizing if it can be started in any possible global state. Once started the system regains its consistency by itself, without any kind of outside intervention. The self-stabilization property makes the system tolerant to faults in which processors exhibit a ..."
Abstract
-
Cited by 89 (10 self)
- Add to MetaCart
Abstract—A distributed system is self-stabilizing if it can be started in any possible global state. Once started the system regains its consistency by itself, without any kind of outside intervention. The self-stabilization property makes the system tolerant to faults in which processors exhibit a faulty behavior for a while and then recover spontaneously in an arbitrary state. When the intermediate period in between one recovery and the next faulty period is long enough, the system stabilizes. A distributed system is uniform if all processors with the same number of neighbors are identical. A distributed system is dynamic if it can tolerate addition or deletion of processors and links without reinitialization. In this work, we study uniform dynamic self-stabilizing protocols for leader election under readwrite atomicity. Our protocols use randomization to break symmetry. The leader election protocol stabilizes in OaD'log nf time when the number of the processors is unknown and OaD'f, otherwise. Here D denotes the maximal degree of a node, ' denotes the diameter of the graph and n denotes the number of processors in the graph. We introduce self-stabilizing protocols for synchronization that are used as building blocks by the leader-election algorithm. We conclude this work by presenting a simple, uniform, self-stabilizing ranking protocol. Index Terms—Self-stabilizing systems, leader election, distributed algorithms, randomized distributed algorithms, synchronization. 1
Time Optimal Self-Stabilizing Spanning Tree Algorithms
- In FSTTCS93 Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science, Springer-Verlag LNCS:761
, 1993
"... In this paper we present time-optimal self-stabilizing algorithms for asynchronous distributed spanning tree computation in networks. ..."
Abstract
-
Cited by 58 (8 self)
- Add to MetaCart
In this paper we present time-optimal self-stabilizing algorithms for asynchronous distributed spanning tree computation in networks.
Probabilistic Self-Stabilization
, 1990
"... A probabilistic self-stabilizing algorithm for a ring of identical processes is presented; the number of processes in the ring is odd, the processes operate synchronously, and communication is unidirectional in the ring. The normal function of the algorithm is to circulate a single token in the ring ..."
Abstract
-
Cited by 44 (0 self)
- Add to MetaCart
A probabilistic self-stabilizing algorithm for a ring of identical processes is presented; the number of processes in the ring is odd, the processes operate synchronously, and communication is unidirectional in the ring. The normal function of the algorithm is to circulate a single token in the ring. If the initial state of the ring is abnormal, i.e. the number of tokens differs from one, then execution of the algorithm results probabilistically in convergence to a normal state with one token. Keywords: Distributed Computing, Probabilistic Algorithms, SelfStabilization, Uniform Rings 0 Introduction A self-stabilizing algorithm for a ring of identical processes is required; the algorithm is to circulate exactly one token in the ring: if, in an initial state of ring, there are numerous tokens, then the algorithm is required to reduce the number of tokens until there is exactly one token. The solution presented in this paper is simple, inviting an informal example. Imagine seven boys, ...
Self-Stabilization Over Unreliable Communication Media
- Distributed Computing
, 1993
"... A self-stabilizing system has the property that it will converge to a desirable state when started from any state. Most previous researchers assumed that processes in self-stabilizing systems may communicate through shared variables while those that studied message passing systems allowed messages w ..."
Abstract
-
Cited by 38 (4 self)
- Add to MetaCart
A self-stabilizing system has the property that it will converge to a desirable state when started from any state. Most previous researchers assumed that processes in self-stabilizing systems may communicate through shared variables while those that studied message passing systems allowed messages with unbounded size. This paper discusses the development of self-stabilizing systems which communicate through message passing, and in which messages may be lost in transit. The systems presented all use fixed size message headers. First, a self-stabilizing version of the Alternating Bit Protocol, a fundamental communication protocol for transmitting data across an unreliable communication medium, is presented. Secondly, the alternating-bit protocol is used to construct a self-stabilizing token ring. 1 Introduction Since the development of the first self-stabilizing systems by Dijkstra in the early 1970's [Dij73, Dij82] most researchers have considered systems in which the processes communi...
Self-Stabilization by Local Checking and Global Reset (Extended Abstract)
, 1994
"... Baruch Awerbuch 12 , Boaz Patt-Shamir 2 , George Varghese 3 and Shlomi Dolev 45 1 Dept. of Computer Science, Johns Hopkins University 2 Lab. for Computer Science, MIT 3 Dept. of Computer Science, Washington University 4 Dept. of Computer Science, Texas A&M University 5 School of Comp ..."
Abstract
-
Cited by 37 (12 self)
- Add to MetaCart
Baruch Awerbuch 12 , Boaz Patt-Shamir 2 , George Varghese 3 and Shlomi Dolev 45 1 Dept. of Computer Science, Johns Hopkins University 2 Lab. for Computer Science, MIT 3 Dept. of Computer Science, Washington University 4 Dept. of Computer Science, Texas A&M University 5 School of Computer Science, Carleton University Abstract. We describe a method for transforming asynchronous network protocols into protocols that can sustain any transient fault, i.e., become self-stabilizing. We combine the known notion of local checking with a new notion of internal reset, and prove that given any self-stabilizing internal reset protocol, any locally-checkable protocol can be made self-stabilizing. Our proof is constructive in the sense that we provide explicit code. The method applies to many practical network problems, including spanning tree construction, topology update, and virtual circuit setup. 1 Introduction A network protocol is called self-stabilizing (or stabilizing for sho...
Resource bounds for self stabilizing message driven protocols
- Proc. of the Tenth Annual ACM Symposium on Principles of Distributed Computation
, 1991
"... Abstract. Self-stabilizing message driven protocols are defined and discussed. The class weakexclusion that contains many natural tasks such as ℓ-exclusion and token-passing is defined, and it is shown that in any execution of any self-stabilizing protocol for a task in this class, the configuration ..."
Abstract
-
Cited by 34 (10 self)
- Add to MetaCart
Abstract. Self-stabilizing message driven protocols are defined and discussed. The class weakexclusion that contains many natural tasks such as ℓ-exclusion and token-passing is defined, and it is shown that in any execution of any self-stabilizing protocol for a task in this class, the configuration size must grow at least in a logarithmic rate. This last lower bound is valid even if the system is supported by a time-out mechanism that prevents communication deadlocks. Then we present three self-stabilizing message driven protocols for token-passing. The rate of growth of configuration size for all three protocols matches the aforementioned lower bound. Our protocols are presented for two processor systems but can be easily adapted to rings of arbitrary size. Our results have an interesting interpretation in terms of automata theory.
Memory space requirements for self-stabilizing leader election protocols
- IN PODC99 PROCEEDINGS OF THE EIGHTEENTH ANNUAL ACM SYMPOSIUM ON PRINCIPLES OF DISTRIBUTED COMPUTING
, 1999
"... We study the memory requirements of self-stabilizing leader election (SSLE) protocols. We are mainly interested in two types of systems: anonymous systems and id-based systems. We consider two classes of protocols: deterministic ones and randomized ones. We prove that a non-constant lower bound on t ..."
Abstract
-
Cited by 31 (15 self)
- Add to MetaCart
We study the memory requirements of self-stabilizing leader election (SSLE) protocols. We are mainly interested in two types of systems: anonymous systems and id-based systems. We consider two classes of protocols: deterministic ones and randomized ones. We prove that a non-constant lower bound on the memory space is required by a SSLE protocol on unidirectional, anonymous rings (even if the protocol is randomized). We show that, if there is a deterministic protocol solving a problem on id-based systems where the processor memory space is constant and the id-values are not bounded then there is a deterministic protocol on anonymous systems using constant memory space that solves the same problem. Thus impossibility results on anonymous rings (i.e. one may design a deterministic SSLE protocol, only on prime size rings, under a centralized daemon) can be extended to those kinds of id-based rings. Nevertheless, it is possible to design a silent and deterministic SSLE protocol requiring constant memory space on unidirectional, id-based rings where the id-values are bounded. We present such a protocol. We also present a randomized SSLE protocol and a token circulation protocol under an unfair, distributed daemon on anonymous and unidirectional rings of any size. We give a lower bound on memory space requirement proving that these protocols are space optimal. The memory space required is constant on average.
Adaptive Programming
- IEEE Transactions on Software Engineering
, 1991
"... An adaptive program is one that changes its behavior based on the current state of its environment. The different behaviors of an adaptive program can be viewed as belonging to different programs. This notion of adaptivity is formalized and a logic for reasoning about adaptive programs is presented. ..."
Abstract
-
Cited by 29 (1 self)
- Add to MetaCart
An adaptive program is one that changes its behavior based on the current state of its environment. The different behaviors of an adaptive program can be viewed as belonging to different programs. This notion of adaptivity is formalized and a logic for reasoning about adaptive programs is presented. The logic includes several composition operators that can be used to define an adaptive program in terms of given constituent programs; programs resulting from these compositions retain the adaptive properties of their constituent programs. 1 Introduction An adaptive program is one that changes its behavior according to its environment. Often, the motivation for changing the program behavior is to satisfy some performance criteria: the performance of one behavior is superior to that of other behaviors in some environment. In this case, adaptivity is a technique for performance optimization in a dynamic environment. Another reason for changing the program behavior has to do with logical cor...

