Skip to main content
Log in

Low-cost clock synchronization

  • Published:
Distributed Computing Aims and scope Submit manuscript

Summary

We show how synchronized clocks can be realized in a distributed system as a byproduct of a common communication paradigm where processors periodically perform broadcasts. Our approach decouples theprecision concern of clock synchronization—limiting how much correct clocks can differ from each other—from theaccuracy concern—limiting the rate at which any correct clock may drift from real time. Given a system that guarantees only precision, we develop a protocol whereby high accuracy can be achieved on demand. In this manner, the “lazy” protocol we obtain incurs the cost of high accuracy only when needed while keeping the basic synchronization procedure extremely simple and cheap.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Babaoglu Ö, Drummond R: Streets of Byzantium: Network architectures for fast reliable broadcast. IEEE Trans Software Eng SE-11, 6:546–554 (1985)

    Google Scholar 

  2. Chang JM, Maxemchuck NF: Reliable broadcast protocols. ACM Trans Comput Syst 2:251–273 (1984)

    Google Scholar 

  3. Cristian F, Aghili H, Strong R: Approximate lock synchronization despite omission and performance failures and processor joins. In: Proc 16th Symp on Fault-Tolerant Computing Systems. Vienna, Austria 1986, pp 218–223

  4. Cristian F: Probabilistic clock synchronization. Distrib Comput 3:146–158 (1989)

    Google Scholar 

  5. Dolev D, Halpern JY, Strong R: On the possibility and impossibility of achieving clock synchronization. In: Proc 6th ACM Symp on Theory of Computing 1984, pp 504–511

  6. Gusella R, Zatti S: The accuracy of the clock synchronization achieved by tempo in Berkeley Unix 4.3BSD. Tech Rep UCB/CSD 87/337, University of California, Berkeley, California

  7. Hadzilacos V: On the relationship between the atomic commitment and consensus problems. In: Simons B, Spector AZ (eds) Fault-Tolerant Distributed Computing, Lect Notes Comput Sci, vol 448. Springer, Berlin Heidelberg New York 1990, pp 201–208

    Google Scholar 

  8. Halpern JY, Simons B, Strong HR, Dolev D: Fault-tolerant clock synchronization. In: Proc 3rd ACM Symp on Principles of Distributed Computing, Vancouver, B.C., Canada 1984, pp 89–102

  9. Kopetz H, Ochsenreiter W: Clock synchronization in real-time systems. IEEE Trans Comput 36:933–940 (1987)

    Google Scholar 

  10. Kopetz H, Grunsteidl G, Reisinger J: Fault-tolerant membership service in a synchronous distributed real-time system. In: Proc IFIP Working Conf on Dependable Computing for Critical Applications. Santa Barbara 1989

  11. Lamport L: Time, clocks and the ordering of events in a distributed system. Commun ACM 21(7):558–565 (1978)

    Google Scholar 

  12. Lamport L, Shostak R, Pease M: The Byzantine generals problem. ACM Trans Program Lang Syst 4(3):382–401 (1982)

    Google Scholar 

  13. Lamport L, Melliar-Smith PM: Byzantine clock synchronization. In: Proc 3rd ACM Symp on Principles of Distributed Computing. Vancouver, B.C., Canada 1984, pp 68–74

  14. Lamport L, Melliar-Smith PM: Synchronizing clocks in the presence of faults. J ACM 32(1):52–78 (1985)

    Google Scholar 

  15. Liskov B: Practical uses of synchronized clocks in distributed systems. In: Proc 10th ACM Symp on the Principles of Distributed Computing. Montreal, Canada 1991, pp 1–9

  16. Liskov B, Ghemawat S, Gruber R, Johnson P, Shrira L, Williams M: Replication in the Harp File System. In: Proc 13th ACM Symp on Operating Systems Principles. Asilomar, Pacific Grove, California 1991

  17. Lundelius-Welch J, Lynch N: A new fault-tolerant algorithm for clock synchronization. Inf Comput 77:1–36 (1988)

    Google Scholar 

  18. Mahaney SR, Schneider FB: Inexact agreement: Accuracy, precision, and graceful degradation. In: Proc 4th ACM Symp on the Principles of Distributed Computing. Minaki, Canada 1985, pp 237–249

  19. Marzullo K, Owicki S: Maintaining the time in a distributed system. In: Proc 2nd ACM Symp on the Principles of Distributed Computing. Montreal, Canada 1983, pp 295–305

  20. Mishra S, Peterson LL, Schlichting RD: A membership protocol based on partial order. In: Proc 2nd IFIP Int Working Conf on Dependable Computing for Critical Applications. Tucson, Arizona 1991

  21. Pease M, Shostak R, Lamport L: Reaching agreement in the presence of faults. J ACM 27(2):228–234 (1980)

    Google Scholar 

  22. Rom R: Ordering subscribers on cable networks. ACM Trans Comput Syst 2(4):322–334 (1984)

    Google Scholar 

  23. Schneider FB: Understanding protocols for Byzantine clock synchronization. Tech Rep TR87-859. Department of Computer Science, Cornell University, Ithaca, New York 1987

    Google Scholar 

  24. Skeen D: Crash recovery in a distributed database system. Doctoral dissertation, Department of Electrical Engineering and Computer Science, University of California, Berkeley 1982

    Google Scholar 

  25. Srikanth TK, Toueg S: Optimal clock synchronization. J ACM 34:626–645 (1987)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Rogério Drummond is Associate Professor of Computer Science at the Universidade de Campinas (Unicamp), Brazil. He received his Ph.D. in computer science from Cornell University in 1986. He has previously worked on distributed fault-tolerant computing, such as the present paper. Currently, he heads the A_HAND project which aims to provide an object-oriented distributed programming environment for the development of very large software systems.

Özalp Babaoĝlu is Professor of Computer Science at the University of Bologna, Italy. His research interests include distributed algorithms, fault tolerance and parallel computing. He received a BS in electrical engineering from George Washington University, Washington, D.C. in 1976. From the University of California, Berkeley, he received a MS in 1977 and a Ph.D. in 1981, both in computer science. While at Berkeley, he designed and implemented the virtual memory extensions to BSD Unix. From 1981 to 1987 he was on the faculty at the Department of Computer Science, Cornell University.

Partial support for this work was provided by the National Science Foundation under Grant DCR-86-01864, AT&T under a Foundation Grant, the Commission of the European Communities under the ESPRIT Programme Basic Research Action Number 3092 (Predictably Dependable Computing Systems) and the Italian Ministry of University and Research. Drummond was partially supported through a Fellowship from the CAPES Agency of the Government of Brazil

Rights and permissions

Reprints and permissions

About this article

Cite this article

Drummond, R., Babaoĝlu, Ö. Low-cost clock synchronization. Distrib Comput 6, 193–203 (1993). https://doi.org/10.1007/BF02242707

Download citation

  • Received:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF02242707

Key words

Navigation