On self-stabilizing wait-free clock synchronization

  • Marina Papatriantafilou
  • Philippas Tsigas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 824)


Clock synchronization algorithms which can tolerate any number of processors that can fail by ceasing operation for an unbounded number of steps and resuming operation (with or) without knowing that they were faulty are called Wait-Free. Furthermore, if these algorithms are also able to work correctly even when the starting state of the system is arbitrary, they are called Wait-Free, Self-Stabilizing. This work deals with the problem of Wait-Free, Self-Stabilizing Clock Synchronization of n processors in an “in-phase” multiprocessor system and presents a solution with quadratic synchronization time. The best previous solution has cubic synchronization time. The idea of the algorithm is based on a simple analysis of the difficulties of the problem which helped us to see how to “re-parametrize” the cubic previously mentioned algorithm in order to get the quadratic synchronization time solution. Both the protocol and its analysis are intuitive and easy to understand.

AMS Subject Classification (1991)

68M10 68Q22 68Q25 

CR Subject Classification (1991)

D.4.1 D.4.5 D.4.7 

Keywords and phrases

Concurrency Digital Clocks Distributed Computing Fault tolerance PRAM computation model Self-Stabilization Synchronization Synchronous Systems Wait-Free Synchronization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. Arora, S. Dolev, and M. Gouda. Maintaining Digital Clocks in Step. Parallel Processing Letters 1, 1, 1991, pp. 11–18.Google Scholar
  2. 2.
    Y. Afek, S. Kutten and M. Yung. Memory-Efficient Self Stabilization on General Networks. In Proceedings of the 4th International Workshop on Distributed Algorithms, volume 486 of Lecture Notes in Computer Science, Springer-Verlag 1990, pp. 15–28.Google Scholar
  3. 3.
    H. Attiya, N. A. Lynch and N. Shavit. Are Wait-Free Algorithms Fast? In Proceedings of the 31st IEEE Symposium on Foundations of Computer Science, 1990, pp. 55–64.Google Scholar
  4. 4.
    B. Awerbuch, B. Patt-Shamir and G. Varghese. Local Checking and Correction. In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science, 1991, pp. 268–277.Google Scholar
  5. 5.
    B. Awerbuch and G. Varghese. Distributed Program Checking: A Paradigm for Building Self-Stabilizing Distributed Protocols, In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science, 1991, pp. 258–267.Google Scholar
  6. 6.
    J.-M. Courver, N. Francez and M. Gouda. Asynchronous Unison. In Proceedings of the 12th IEEE Conference on Distributed Computing Systems, 1992, pp. 486–493.Google Scholar
  7. 7.
    E.W. Dijkstra. Self Stabilizing Systems in Spite of Distributed Control. Communication of the ACM 17, 1974, pp. 643–644.Google Scholar
  8. 8.
    D. Dolev, J.Y. Halpern and H.R. Strong. On the Possibility and Impossibility of Achieving Clock Synchronization. Journal of Computer Systems Science 32, 2, 1986, pp. 230–250.Google Scholar
  9. 9.
    S. Dolev, A. Israeli and S. Moran. Self Stabilization on Dynamic Systems Assuming Only Read/Write Atomicity. Distributed Computing 7, 1, 1993, pp. 3–16.Google Scholar
  10. 10.
    S. Dolev and J.L. Welch. Wait-Free Clock Synchronization. In Proceedings of the 12th ACM Symposium on Principles of Distributed Computing, 1993. pp. 97–108.Google Scholar
  11. 11.
    M.G. Gouda and T. Herman. Stabilizing Unison. Information Processing Letters 35, 1990, pp. 171–175.MathSciNetGoogle Scholar
  12. 12.
    J. Halpern, B. Simons, R. Strong and D. Dolev. Fault-Tolerant Clock Synchronization. In Proceedings Of the 3rd ACM Symposium on Principles of Distributed Computing, 1984, pp. 89–102.Google Scholar
  13. 13.
    Herlihy, M., Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13, 1 (Jan. 1991), pp. 124–149.Google Scholar
  14. 14.
    K. Hwang. Advanced Computer Architectures, Parallelism, Scalability, Programmability. McGraw-Hill, Inc. 1993.Google Scholar
  15. 15.
    R. Karp and V. Ramachandran. Parallel Algorithms for Shared Memory Machines. In J.van Leeuwen, ed., Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity Elsevier, Amsterdam 1990. Also in: Technical Report UCB/CSD 88/408, Computer Science Division, University of California, March 1988.Google Scholar
  16. 16.
    L. Lamport. On Interprocess Communication. Distributed Computing 1, 1, 1986, pp. 86–101.CrossRefGoogle Scholar
  17. 17.
    F.T. Leighton. Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publishers, Inc., 1992.Google Scholar
  18. 18.
    L. Lamport and P.M. Melliar-Smith. Synchronizing Clocks in the Presence of Faults. Journal of the ACM 32, 1, 1985, pp. 1–36.Google Scholar
  19. 19.
    K. Marzullo. Loosely-Coupled Distributed Services: A Distributed Time Service, Ph.D. Thesis, Stanford University, 1983.Google Scholar
  20. 20.
    S. Mahaney and F. Schneider. Inexact Agreement: Accuracy, Precision and Graceful Degradation. In Proceedings of the 4th ACM Symposium on Principles of Distributed Computing, 1985, pp. 237–249.Google Scholar
  21. 21.
    T.K. Srikanth and S. Toueg. Optimal Clock Synchronization. Journal of the ACM 34, 3, 1987, pp. 626–645.Google Scholar
  22. 22.
    G. Varghese. Self-Stabilization by Local Checking and Correction. Ph.D. Thesis, MIT Laboratory for Computer Science, 1992.Google Scholar
  23. 23.
    J.L. Welch and N. Lynch. A New Fault-Tolerant Algorithm for Clock Synchronization. Information and Computation 77, 1, 1988, pp. 1–36.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Marina Papatriantafilou
    • 1
    • 2
    • 3
  • Philippas Tsigas
    • 1
    • 2
    • 3
  1. 1.CWIAmsterdamThe Netherlands
  2. 2.CTIPatrasGreece
  3. 3.Dept. of CE and InformaticsUniversity of PatrasPatrasGreece

Personalised recommendations