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.
Similar content being viewed by others
References
Babaoglu Ö, Drummond R: Streets of Byzantium: Network architectures for fast reliable broadcast. IEEE Trans Software Eng SE-11, 6:546–554 (1985)
Chang JM, Maxemchuck NF: Reliable broadcast protocols. ACM Trans Comput Syst 2:251–273 (1984)
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
Cristian F: Probabilistic clock synchronization. Distrib Comput 3:146–158 (1989)
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
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
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
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
Kopetz H, Ochsenreiter W: Clock synchronization in real-time systems. IEEE Trans Comput 36:933–940 (1987)
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
Lamport L: Time, clocks and the ordering of events in a distributed system. Commun ACM 21(7):558–565 (1978)
Lamport L, Shostak R, Pease M: The Byzantine generals problem. ACM Trans Program Lang Syst 4(3):382–401 (1982)
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
Lamport L, Melliar-Smith PM: Synchronizing clocks in the presence of faults. J ACM 32(1):52–78 (1985)
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
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
Lundelius-Welch J, Lynch N: A new fault-tolerant algorithm for clock synchronization. Inf Comput 77:1–36 (1988)
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
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
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
Pease M, Shostak R, Lamport L: Reaching agreement in the presence of faults. J ACM 27(2):228–234 (1980)
Rom R: Ordering subscribers on cable networks. ACM Trans Comput Syst 2(4):322–334 (1984)
Schneider FB: Understanding protocols for Byzantine clock synchronization. Tech Rep TR87-859. Department of Computer Science, Cornell University, Ithaca, New York 1987
Skeen D: Crash recovery in a distributed database system. Doctoral dissertation, Department of Electrical Engineering and Computer Science, University of California, Berkeley 1982
Srikanth TK, Toueg S: Optimal clock synchronization. J ACM 34:626–645 (1987)
Author information
Authors and Affiliations
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
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
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF02242707