Abstract
The first self-stabilizing algorithm published by Dijkstra in 1973 assumed the existence of a central daemon, that activates one processor at time to change state as a function of its own state and the state of a neighbor. Subsequent research has reconsidered this algorithm without the assumption of a central daemon, and under different forms of communication, such as the model of link registers. In all of these investigations, one common feature is the atomicity of communication, whether by shared variables or read/write registers. This paper weakens the atomicity assumptions for the communication model, proposing versions of Dijkstra’s algorithm that tolerate various weaker forms of atomicity, including cases of regular and safe registers. The paper also presents an implementation of Dijkstra’s algorithm based on registers that have probabilistically correct behavior, which requires a notion of weak stabilization, where Markov chains are used to evaluate the probability to be in a safe configuration.
Dolev’s work was supported by BGU seed grant.
Herman’s work is sponsored by NSF award CAREER 97-9953 and DARPA contract F33615-01-C-1901.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Arora and M.G. Gouda, “Closure and convergence: a foundation of fault-tolerant computing,” IEEE Transactions on Software Engineering, vol. 19(11), 1993, pp. 1015–1027.
A. Arora and S.S. Kulkarni, “Component based design of multitolerance,” IEEE Transactions on Software Engineering, vol. 24(1), 1998, pp. 63–78.
U. Abraham, S. Dolev, T. Herman, and I. Koll, “Self-stabilizing l-exclusion,” Proceedings of third workshop on self-stabilizing systems, pp. 48–63, 1997.
G.M. Brown, M.G. Gouda, and C.L. Wu, “Token systems that self-stabilize,” IEEE Transactions on Computers, vol. 38, 1989, pp. 845–852.
E.W. Dijkstra, EWD391 Self-stabilization in spite of distributed control. In Selected Writings on Computing: A Personal Perspective, pages 41–46, Springer-Verlag, 1982. EWD391’s original date is 1973.
E.W. Dijkstra, “Self stabilizing systems in spite of distributed control,” Communication of the ACM, vol. 17, 1974, pp. 643–644.
E. W. Dijkstra, “A belated proof of self-stabilization,” Distributed Computing, 1:5–6, 1986.
S. Dolev, Self-stabilization, MIT Press.
S. Dolev and J.L. Welch, “Wait-Free Clock Synchronization,” Proc. of the 12th Annual ACM Symp. on Principles of Distributed Computing, pp. 97–108, 1993.
S. Dolev and J.L. Welch, “Self-stabilizing clock synchronization in the presence of byzantine faults,” Proceedings of the Second Workshop on Self-Stabilizing Systems, pp. 9.1-9.12, 1995.
M. Gardner, “The Binary Gray Code,” in Knotted Doughnuts, Freeman & Company, New York, 1986.
A.S. Gopal and K.J. Perry, “Unifying self-stabilization and fault-tolerance,” Proceedings of the Twelfth Annual ACM Symposium on Principles of Distributed Computing (PODC’93), pp. 195–206, 1993.
M.G. Gouda, R.R. Howell, and L.E. Rosier, “The instability of self-stabilization,” Acta Informatica, vol. 27(8), 1990, pp. 697–724.
J.H. Hoepman, M. Papatriantafilou, and P. Tsigas, “Self-Stabilization in Wait-Free Shared Memory Objects,” Proceedings of the 9th International Workshop on Distributed Algorithms (WDAG’95), Lecture Notes in Computer Science Vol. 972, pages 273–287, Springer-Verlag, September 1995.
L. Lamport, “Concurrent reading and writing,” Communication of the ACM, vol. 20(11), 1977, pp. 806–811.
L. Lamport, “On interprocess communication, parts 1 and 2,” Distributed Computing, vol. 1(1), 1986, pp. 77–101.
L. Lamport, “The mutual exclusion problem. Part II: Statement and solutions,” Journal of the ACM, vol. 33(2), 1986, pp. 327–348.
D.G. Luenberger, Introduction to Dynamic Systems, Theory, Models ℰ Applications, John Wiley & Sons.
H. Lee and J.L. Welch, “Applications of probabilistic quorums to iterative algorithms,” in Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS 2001), pp. 21–28, 2001.
E.A. Lycklama and V. Hadzilacos, “A First-Come-First-Served Mutual-Exclusion Algorithm with Small Communication Variables,” ACM Transactions on Programming Languages and Systems, Vol. 13, No. 4, 1991, pp. 558–576.
J. Misra, “Axioms for memory access in asynchronous hardware systems,” ACM Transactions on Programming Languages and Systems, vol. 8(1), 1986, pp. 142–153.
C.M. Özveren, A. S. Willsky, and P.J. Antsaklis, “Stability and stabilizability of discrete event dynamic systems,” Journal of the ACM, Vol. 38, No. 3, 1991, pp. 730–752.
G. Varghese, “Self-stabilization by counter flushing,” SIAM Journal on Computing, vol. 30(2), 2000, pp. 486–510.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dolev, S., Herman, T. (2001). Dijkstra’s Self-Stabilizing Algorithm in Unsupportive Environments. In: Datta, A.K., Herman, T. (eds) Self-Stabilizing Systems. WSS 2001. Lecture Notes in Computer Science, vol 2194. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45438-1_5
Download citation
DOI: https://doi.org/10.1007/3-540-45438-1_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42653-0
Online ISBN: 978-3-540-45438-0
eBook Packages: Springer Book Archive