Self-Stabilizing Clock Synchronization in the Presence of ByzantineFaults ( Preliminary Version ) Shlomi Dolevy

We initiate a study of bounded clock synchronization under a more severe fault model than that proposed by Lamport and Melliar-Smith [1985]. Realistic aspects of the problem of synchronizing clocks in the presence of faults are considered. One aspect is that clock synchronization is an on-going task, thus the assumption that some of the processors never fail is too optimistic. To cope with this reality, we suggest self-stabilizing protocols that stabilize in any (long enough) period in which less than a third of the processors are faulty. Another aspect is that the clock value of each processor is bounded. A single transient fault may cause the clock to reach the upper bound. Therefore, we suggest a bounded clock that wraps around when appropriate.We present two randomized self-stabilizing protocols for synchronizing bounded clocks in the presence of Byzantine processor failures. The first protocol assumes that processors have a common pulse, while the second protocol does not. A new type of distributed counter based on the Chinese remainder theorem is used as part of the first protocol.

[1]  Richard I. Tanaka,et al.  Residue arithmetic and its applications to computer technology , 1967 .

[2]  Nancy A. Lynch,et al.  A new fault-tolerant algorithm for clock synchronization , 1984, PODC '84.

[3]  Amos Israeli,et al.  Uniform Dynamic Self-Stabilizing Leader Election (Extended Absrtact) , 1991, WDAG.

[4]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

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

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

[7]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

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

[9]  Kenneth J. Perry,et al.  Unifying self-stabilization and fault-tolerance , 1993, PODC '93.

[10]  Flaviu Cristian,et al.  Probabilistic clock synchronization , 1989, Distributed Computing.

[11]  P. M. Melliar-Smith,et al.  Synchronizing clocks in the presence of faults , 1985, JACM.

[12]  J. Goldberg,et al.  SIFT: Design and analysis of a fault-tolerant computer for aircraft control , 1978, Proceedings of the IEEE.

[13]  Jennifer L. Welch,et al.  Wait-Free Clock Synchronization , 1993, PODC '93.

[14]  Anish Arora,et al.  Maintaining Digital Clocks In Step , 1991, WDAG.

[15]  Danny Dolev,et al.  Self-Stabilizing Pulse Synchronization Inspired by Biological Pacemaker Networks , 2003, Self-Stabilizing Systems.

[16]  Amos Israeli,et al.  Analyzing Expected Time by Scheduler-Luck Games , 1995, IEEE Trans. Software Eng..

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

[18]  Fred B. Schneider,et al.  Inexact agreement: accuracy, precision, and graceful degradation , 1985, PODC '85.

[19]  Amos Israeli,et al.  Uniform Dynamic Self-Stabilizing Leader Election , 1997, IEEE Trans. Parallel Distributed Syst..

[20]  Parameswaran Ramanathan,et al.  Fault-tolerant clock synchronization in distributed systems , 1990, Computer.

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

[22]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[23]  Donald E. Knuth,et al.  The art of computer programming, volume 3: (2nd ed.) sorting and searching , 1998 .

[24]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[25]  Danny Dolev,et al.  Fault-tolerant clock synchronization , 1984, PODC '84.

[26]  Dan Suciu,et al.  Journal of the ACM , 2006 .

[27]  Donald Ervin Knuth,et al.  The Art of Computer Programming, 2nd Ed. (Addison-Wesley Series in Computer Science and Information , 1978 .