Skip to main content

Dijkstra’s Self-Stabilizing Algorithm in Unsupportive Environments

  • Conference paper
  • First Online:
Self-Stabilizing Systems (WSS 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2194))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Article  Google Scholar 

  2. A. Arora and S.S. Kulkarni, “Component based design of multitolerance,” IEEE Transactions on Software Engineering, vol. 24(1), 1998, pp. 63–78.

    Article  Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Article  MathSciNet  Google Scholar 

  5. 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.

    Google Scholar 

  6. E.W. Dijkstra, “Self stabilizing systems in spite of distributed control,” Communication of the ACM, vol. 17, 1974, pp. 643–644.

    Article  MATH  Google Scholar 

  7. E. W. Dijkstra, “A belated proof of self-stabilization,” Distributed Computing, 1:5–6, 1986.

    Article  MATH  Google Scholar 

  8. S. Dolev, Self-stabilization, MIT Press.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. M. Gardner, “The Binary Gray Code,” in Knotted Doughnuts, Freeman & Company, New York, 1986.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. M.G. Gouda, R.R. Howell, and L.E. Rosier, “The instability of self-stabilization,” Acta Informatica, vol. 27(8), 1990, pp. 697–724.

    Article  MATH  MathSciNet  Google Scholar 

  14. 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.

    Google Scholar 

  15. L. Lamport, “Concurrent reading and writing,” Communication of the ACM, vol. 20(11), 1977, pp. 806–811.

    Article  MATH  MathSciNet  Google Scholar 

  16. L. Lamport, “On interprocess communication, parts 1 and 2,” Distributed Computing, vol. 1(1), 1986, pp. 77–101.

    Article  MATH  MathSciNet  Google Scholar 

  17. L. Lamport, “The mutual exclusion problem. Part II: Statement and solutions,” Journal of the ACM, vol. 33(2), 1986, pp. 327–348.

    Article  MATH  MathSciNet  Google Scholar 

  18. D.G. Luenberger, Introduction to Dynamic Systems, Theory, Models ℰ Applications, John Wiley & Sons.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Article  Google Scholar 

  21. J. Misra, “Axioms for memory access in asynchronous hardware systems,” ACM Transactions on Programming Languages and Systems, vol. 8(1), 1986, pp. 142–153.

    Article  MATH  Google Scholar 

  22. 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.

    Article  MATH  Google Scholar 

  23. G. Varghese, “Self-stabilization by counter flushing,” SIAM Journal on Computing, vol. 30(2), 2000, pp. 486–510.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics