Linear Time Byzantine Self-Stabilizing Clock Synchronization

  • Ariel Daliot
  • Danny Dolev
  • Hanna Parnas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3144)


Awareness of the need for robustness in distributed systems increases as distributed systems become an integral part of day-to-day systems. Tolerating Byzantine faults and possessing self-stabilizing features are sensible and important requirements of distributed systems in general, and of a fundamental task such as clock synchronization in particular. There are efficient solutions for Byzantine non-stabilizing clock synchronization as well as for non-Byzantine self-stabilizing clock synchronization. In contrast, current Byzantine self-stabilizing clock synchronization algorithms have exponential convergence time and are thus impractical. We present a linear time Byzantine self-stabilizing clock synchronization algorithm, which thus makes this task feasible. Our deterministic clock synchronization algorithm is based on the observation that all clock synchronization algorithms require events for re-synchronizing the clock values. These events usually need to happen synchronously at the different nodes. In these solutions this is fulfilled or aided by having the clocks initially close to each other and thus the actual clock values can be used for synchronizing the events. This implies that clock values cannot differ arbitrarily, which necessarily renders these solutions to be non-stabilizing. Our scheme suggests using a tight pulse synchronization that is uncorrelated to the actual clock values. The synchronized pulses are used as the events for re-synchronizing the clock values.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anceaume, E., Puaut, I.: Performance Evaluation of Clock Synchronization Algorithms, Technical report 3526,INRIA (1998)Google Scholar
  2. 2.
    Arora, A., Dolev, S., Gouda, M.G.: Maintaining digital clocks in step. Parallel Processing Letters 1, 11–18 (1991)CrossRefGoogle Scholar
  3. 3.
    Awerbuch, B., Kutten, S., Mansour, Y., Patt-Shamir, B., Varghese, G.: “Time Optimal Self-Stabilizing Synchronization. In: Proceedings of the 25th Symp. on Theory of Computing (1993)Google Scholar
  4. 4.
    Brzeziǹski, J., Szychowiak, M.: Self-Stabilization in Distributed Systems - a Short Survey. In: Foundations of Computing and Decision Sciences, vol. 25(1) (2000)Google Scholar
  5. 5.
    Daliot, A., Dolev, D., Parnas, H.: Self-Stabilizing Pulse Synchronization Inspired by Biological Pacemaker Networks. In: Proc. Of the Sixth Symposium on Self-Stabilizing Systems, pp. 32–48 (2003)Google Scholar
  6. 6.
    Daliot, A., Dolev, D., Parnas, H.: Linear Time Byzantine Self-Stabilizing Clock Synchronization, Technical Report TR2003-89, Schools of Engineering and Computer Science, The Hebrew University of Jerusalem (December 2003)Google Scholar
  7. 7.
    Dolev, D., Halpern, J., Strong, H.R.: On the Possibility and Impossibility of Achieving Clock Synchronization. J. of Computer and Systems Science 32(2), 230–250 (1986)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Dolev, D., Strong, H.R.: Polynomial Algorithms for Multiple Processor Agreement. In: Proceedings, the 14th ACM SIGACT Symposium on Theory of Computing (STOC 1982), May 1982, pp. 401–407 (1982)Google Scholar
  9. 9.
    Dolev, D., Halpern, J.Y., Simons, B., Strong, R.: Dynamic Fault-Tolerant Clock Synchronization. J. Assoc. Computing Machinery 42(1), 143–185 (1995)zbMATHGoogle Scholar
  10. 10.
    Dolev, S.: Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graphs. Journal of Real-Time Systems, no 12(1), 95–107 (1997)CrossRefGoogle Scholar
  11. 11.
    Dolev, S.: Self-Stabilization. The MIT Press, Cambridge (2000)zbMATHGoogle Scholar
  12. 12.
    Dolev, S., Welch, J.L.: Self-Stabilizing Clock Synchronization in the presence of Byzantine faults. In: Proc. Of the Second Workshop on Self-Stabilizing Systems, pp. 9.1–9.12 (1995)Google Scholar
  13. 13.
    Dolev, S., Welch, J.L.: Wait-free clock synchronization. Algorithmica 18(4), 486–511 (1997)zbMATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Fischer, M.J., Lynch, N.A., Merritt, M.: Easy impossibility proofs for distributed consensus problems. Distributed Computing 1, 26–39 (1986)zbMATHCrossRefGoogle Scholar
  15. 15.
    Herman, T.: Phase clocks for transient fault repair. IEEE Transactions on Parallel and Distributed Systems 11(10), 1048–1057 (2000)CrossRefGoogle Scholar
  16. 16.
    Liskov, B.: Practical Use of Synchronized Clocks in Distributed Systems. In: Proceedings of 10th ACM Symposium on the Principles of Distributed Computing, pp. 1–9 (1991)Google Scholar
  17. 17.
    Patt-Shamir, B.: A Theory of Clock Synchronization, Doctoral thesis, MIT (October 1994)Google Scholar
  18. 18.
    Papatriantafilou, M., Tsigas, P.: On Self-Stabilizing Wait-Free Clock Synchronization. Parallel Processing Letters 7(3), 321–328 (1997)CrossRefMathSciNetGoogle Scholar
  19. 19.
    Schneider, F.: Understanding Protocols for Byzantine Clock Synchronization, Technical Report 87-859, Dept. of Computer Science, Cornell University (August 1987)Google Scholar
  20. 20.
    Toueg, S., Perry, K.J., Srikanth, T.K.: Fast Distributed Agreement. In: Proceedings, Principles of Distributed Computing, pp. 87–101 (1985)Google Scholar
  21. 21.
    Welch, J.L., Lynch, N.: A New Fault-Tolerant Algorithm for Clock Synchronization. Information and Computation 77, 1–36 (1988)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Ariel Daliot
    • 1
  • Danny Dolev
    • 1
  • Hanna Parnas
    • 2
  1. 1.School of Engineering and Computer ScienceThe Hebrew University of JerusalemIsrael
  2. 2.Department of Neurobiology and the Otto Loewi Minerva Center for Cellular and Molecular Neurobiology, Institute of Life ScienceThe Hebrew University of JerusalemIsrael

Personalised recommendations