Towards self-stabilizing wait-free shared memory objects

Past research on fault tolerant distributed systems has focussed on either processor failures, ranging from benign crash failures to the malicious byzantine failure types, or on transient memory failures, which can suddenly corrupt the state of the system. An interesting question in the theory of distributed computing is whether one can device highly fault tolerant protocols which can tolerate both processor failures as well as transient errors. To answer this question we consider the construction of self-stabilizing wait-free shared memory objects. These objects occur naturally in distributed systems in which both processors and memory may be faulty. Our contribution in this paper is threefold. First, we propose a general definition of a self-stabilizing wait-free shared memory object that expresses safety guarantees even in the face of processor failures. Second, we show that within this framework one cannot construct a self-stabilizing single-reader single-writer regular bit from single-reader single-writer safe bits. This result leads us to postulate a self-stabilizing dual-reader single-writer safe bit with which, as a third contribution, we construct self-stabilizing regular and atomic registers.

[1]  Gary L. Peterson,et al.  Concurrent reading while writing II: The multi-writer case , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[2]  Amos Israeli,et al.  Optimal multi-writer multi-reader atomic register , 1992, PODC '92.

[3]  Amos Israeli,et al.  Uniform Self-Stabilizing Ring Orientation , 1993, Inf. Comput..

[4]  Ming Li,et al.  Optimality of Wait-Free Atomic Multiwriter Variables , 1992, Inf. Process. Lett..

[5]  Shmuel Katz,et al.  Self-stabilizing extensions for message-passing systems , 1990, PODC '90.

[6]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[7]  Boaz Patt-Shamir,et al.  Time optimal self-stabilizing synchronization , 1993, STOC.

[8]  Mohamed G. Gouda,et al.  Token Systems that Self-Stabilize , 1989, IEEE Trans. Computers.

[9]  Jennifer L. Welch,et al.  Wait-Free Clock Synchronization , 1993, PODC '93.

[10]  Maurice Herlihy,et al.  Wait-free data structures in the asynchronous PRAM model , 1990, SPAA '90.

[11]  Jan K. Pachl,et al.  Uniform self-stabilizing rings , 1988, TOPL.

[12]  Baruch Awerbuch,et al.  Atomic shared register access by asynchronous hardware , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[13]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[14]  Kenneth J. Perry,et al.  Unifying self-stabilization and fault-tolerance , 1993, PODC '93.

[15]  Lefteris M. Kirousis,et al.  A brief survey of concurrent readers and writers , 1989 .

[16]  Amos Israeli,et al.  Self-stabilization of dynamic systems assuming only read/write atomicity , 1990, PODC '90.

[17]  Baruch Awerbuch,et al.  A Proof Technique for Register Automicity , 1988, FSTTCS.