Optimal and efficient clock synchronization under drifting clocks

We consider the classical problem of clock synchronization in distributed systems. Previously, this problem was solved optimally and efficiently only in the case when all individual clocks are non-drifting, i.e., only for systems where all clocks advance at the rate of real time. In this paper, we present a new algorithm for systems with drifting clocks, which is the first optimal algorithm to solve the problem efficiently: clock drift bounds and message latency bounds may be arbitrary; the computational complexity depends on the communication pattern of the system in a way which is bounded by a polynomial in the network size for most systems. More specifically, the complexity is polynomial in the maximal number of messages known to be sent but not received, the relative system speed, and time-stamp size. Our result has two consequences. From the theoretical standpoint, it refines the known bounds for optimal synchronization. But even more importantly, it enables us to derive new optimal algorithms that are reasonably efficient for most practical systems.

[1]  Nancy A. Lynch,et al.  An Overview of Clock Synchronization , 1986, Fault-Tolerant Distributed Computing.

[2]  Danny Dolev,et al.  Observable clock synchronization extended abstract , 1994, PODC '94.

[3]  Keith Marzullo,et al.  Maintaining the time in a distributed system , 1985, OPSR.

[4]  Allan Borodin,et al.  A time-space tradeoff for sorting on non-oblivious machines , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[5]  Hagit Attiya,et al.  Optimal clock synchronization under different delay assumptions , 1993, PODC '93.

[6]  David L. Mills,et al.  Internet time synchronization: the network time protocol , 1991, IEEE Trans. Commun..

[7]  Joseph Y. Halpern,et al.  Optimal precision in the presence of uncertainty , 1985, STOC '85.

[8]  Fred B. Schneider,et al.  Understanding Protocols for Byzantine Clock Synchronization , 1987 .

[9]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[10]  Allan Borodin,et al.  A Time-Space Tradeoff for Sorting on Non-Oblivious Machines , 1981, J. Comput. Syst. Sci..

[11]  Sam Toueg,et al.  Optimal clock synchronization , 1985, PODC '85.

[12]  David L. Mills,et al.  Network Time Protocol (Version 3) Specification, Implementation , 1992 .

[13]  Boaz Patt,et al.  A theory of clock synchronization , 1994 .

[14]  A. Prasad Sistla,et al.  Efficient distributed recovery using message logging , 1989, PODC '89.

[15]  Boaz Patt-Shamir,et al.  A theory of clock synchronization (extended abstract) , 1994, STOC '94.

[16]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[17]  Danny Dolev,et al.  On the possibility and impossibility of achieving clock synchronization , 1984, STOC '84.

[18]  David L. Mills,et al.  Network Time Protocol (Version 3) Specification, Implementation and Analysis , 1992, RFC.

[19]  Yoram Moses,et al.  Knowledge, timed precedence and clocks (preliminary report) , 1994, PODC '94.

[20]  Yoram Moses,et al.  Knowledge, Timed Precedence and Clocks , 1995, PODC 1995.

[21]  Allan Borodin,et al.  A time-space tradeoff for sorting on a general sequential model of computation , 1980, STOC '80.

[22]  Allan Borodin,et al.  A Time-Space Tradeoff for Sorting on a General Sequential Model of Computation , 1982, SIAM J. Comput..

[23]  Giuseppe F. Italiano,et al.  Incremental algorithms for minimal length paths , 1991, SODA '90.

[24]  Colin J. Fidge,et al.  Logical time in distributed computing systems , 1991, Computer.

[25]  Nancy A. Lynch,et al.  An Upper and Lower Bound for Clock Synchronization , 1984, Inf. Control..

[26]  Danny Dolev,et al.  On the Possibility and Impossibility of Achieving Clock Synchronization , 1986, J. Comput. Syst. Sci..

[27]  Nancy A. Lynch,et al.  Reaching approximate agreement in the presence of faults , 1986, JACM.