Performance Evaluation of Clock Synchronization Algorithms

Clock synchronization algorithms ensure that physically dispersed processors have a common knowledge of time. This report proposes a survey of software fault-tolerant clock synchronization algorithms: deterministic, probabilistic and statistical ; internal and external ; and resilient from crash to Byzantine failures. Our survey is based on a classification of clock synchronization algorithms (according to their internal structure and to three orthogonal and independent basic building blocks we have identified), and on a performance evaluation of algorithms constructed from these building blocks. The performance evaluation is achieved through the simulation of a panel of fault-tolerant clock synchronization algorithms (LL88, ST87, PB95, GZ89). The algorithms behavior is analyzed in the presence of various kinds of failures (crash, omission, timing, performance, Byzantine), both when the number and type of failures respect the fault assumptions made by the algorithm and when fault assumptions are exceeded. Our survey will help the designer in choosing the most appropriate structure of algorithm and the best building blocks suited to his/her hardware architecture, failure model, quality of synchronized clocks and message cost induced. Moreover, our classification uses a uniform notation that allows to compare existing clock synchronization algorithms with respect to their fault model, the building blocks they use, the properties they ensure and their cost in terms of message exchanges.

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

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

[3]  Paulo Veríssimo,et al.  A posteriori agreement for fault-tolerant clock synchronization on broadcast networks , 1992, [1992] Digest of Papers. FTCS-22: The Twenty-Second International Symposium on Fault-Tolerant Computing.

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

[5]  Flaviu Cristian,et al.  Clock Synchronization in the Presence of Omission and Performance Faults, and Processor Joins , 1986 .

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

[7]  Douglas M. Blough,et al.  A New and Improved Algorithm for Fault-Tolerant Clock Synchronization , 1995, J. Parallel Distributed Comput..

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

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

[10]  Chris J. Walter,et al.  Clock synchronization in MAFT , 1989, [1989] The Nineteenth International Symposium on Fault-Tolerant Computing. Digest of Papers.

[11]  K. Arvind,et al.  Probabilistic Clock Synchronization in Distributed Systems , 1994, IEEE Trans. Parallel Distributed Syst..

[12]  Riccardo Gusella,et al.  An Election Algorithm for a Distributed Clock Synchronization Program , 1986, ICDCS.

[13]  Danny Dolev,et al.  Dynamic fault-tolerant clock synchronization , 1995, JACM.

[14]  Flaviu Cristian,et al.  Continuous clock amortization need not affect the precision of a clock synchronization algorithm , 1990, PODC '90.

[15]  Fred B. Schneider,et al.  A Paradigm for Reliable Clock Synchronization , 1986 .

[16]  S. Zatti,et al.  The accuracy of the clock synchronization achieved by TEMPO in Berkeley UNIX 4.3BSD , 1987 .

[17]  Flaviu Cristian,et al.  Lower Bounds for Function Based Clock Synchronization , 1995 .

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

[19]  Kang G. Shin,et al.  Fault-Tolerant Clock Synchronization in Large Multicomputer Systems , 1994, IEEE Trans. Parallel Distributed Syst..

[20]  Flaviu Cristian,et al.  An optimal internal clock synchronization algorithm , 1995, COMPASS '95 Proceedings of the Tenth Annual Conference on Computer Assurance Systems Integrity, Software Safety and Process Security'.

[21]  Parameswaran Ramanathan,et al.  Clock Synchronization of a Large Multiprocessor System in the Presence of Malicious Faults , 1987, IEEE Transactions on Computers.

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

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