This Article 
 Bibliographic References 
 Add to: 
The Derivation and Experimental Verification of Clock Synchronization Theory
June 1994 (vol. 43 no. 6)
pp. 676-686

The objective of this work is to validate mathematically derived clock synchronization theories and their associated algorithms through experiment. Two theories are considered, the Interactive Convergence Clock Synchronization Algorithm and the Mid-Point Algorithm. Special clock circuitry was designed and built so that several operating conditions and failure modes (including malicious failures) could be tested. Both theories are shown to predict conservative upper bounds (i.e., measured values of clock skew were always less than the theory prediction). Insight gained during experimentation led to alternative derivations of the theories. These new theories accurately predict the clock system's behavior. It is found that a 100% penalty is paid to tolerate worst case failures. It is also shown that under optimal conditions (with minimum error and no failures) the clock skew can be as much as 3 clock ticks. Clock skew grows to 6 clock ticks when failures are present. Finally, it is concluded that one cannot rely solely on test procedures or theoretical analysis to predict worst case conditions.

[1] F. B. Schneider, "Understanding protocols for byzantine clock synchronization," Cornell Univ. Tech. Rep. 87-859, Aug. 1987.
[2] R. W. Butler, "A survey of provably correct fault-tolerant clock synchronization techniques," NASA Tech. Memo. 100553, Feb. 1988.
[3] L. Lamport, R. Shostak, and M. Pease, "The Byzantine Generals Problem,"ACM Trans. Programming Languages and Systems, Vol. 4, No. 3, July 1982, pp. 382-401.
[4] L. Lamport and P.M. Melliar-Smith, "Synchronizing Clocks in the Presence of Faults,"J. ACM, Vol. 32, No. 1, Jan. 1985, pp. 52-78.
[5] J. Goldberg, M. W. Green, W. H. Kautz, K. N. Levitt, P. M. melliar-Smith, R. L. Schwartz, and C. B. Weinstock, "Development and analysis of the software implemented fault-tolerance (SIFT) computer," NASA Contractor Rep. 172146, Feb. 1984.
[6] J. Rushby, "Formal verification of a fault tolerant clock synchronization algorithm," NASA Contractor Rep. 4239, June 1989.
[7] J. Lundelius and N. Lynch, "A new fault-tolerant algorithm for clock synchronization," inProc. Principles Distributed. Comput., June 1984, pp. 75-88.
[8] D. Dolev, N. A. Lynch, S. S. Pinter, E. W. Stark, and W. E. Weihl, "Reaching approximate agreement in the presence of faults," inThird Symp. Reliability in Distrib. Software and Database Syst., Oct. 1983, pp. 145-154.
[9] G. W. Hughes, "A unified view of consistency in fault-tolerant computer design," Charles Stark Draper Lab. Rep. T-891, Nov. 1985.
[10] R. W. Butler, D. L. Palumbo, and S. C. Johnson, "Application of a clock synchronization validation methodology," presented at theIEEE 15th Int. Symp. on Fault Tolerant Computing, June 1985.
[11] J. Lala, L. S. Algier, R. J. Gauthier, and M. J. Dzwoncyk, "A fault tolerant processor architecture to meet rigorous failure requirements," presented at the7th AIAA--IEEE Digital Avionics Syst. Conf., Oct. 1986.
[12] K. N. Levitt, P. M. Melliar-Smith, R. Schwartz, R. E. Shostak, D. hare, R. Boyer, J. S. Moore, M. Green, and W. D. Elliot, "Investigation development, and evaluation of performance proving for fault-tolerant computers," NASA Contractor Rep. 166008, Aug. 1983.
[13] J. Rushby and F. von Henke, "An introduction to formal specification and verification using EHDM," Comput. Sci. Lab. Rep., SRI Int., Apr. 1990.
[14] N. Vasanthavada and P. N. Marinos, "Synchornization of fault-tolerant clocks in the presence of malicious failures,"IEEE Trans. Comput., vol. 37, pp. 440-448, Apr. 1988.
[15] P. Ramanathan, D. D. Kandlur, and K. G. Shin, "Hardware-assisted software clock synchronization for homogeneous distributed systems,"IEEE Trans. Comput., vol. 39, pp. 514-524, Apr. 1990.
[16] B. Liskov, "Particle uses of synchronized clocks in distributed systems," presented at the10th ACM Symp. on Principles of Distrib. Computing, Aug. 1991.
[17] D. Palumbo, "Experimental validation of clock synchronization algorithms," NASA Tech. Paper 3209, July 1992.

Index Terms:
synchronisation; timing circuits; formal verification; clock synchronization theory; Interactive Convergence Clock Synchronization Algorithm; Mid-Point Algorithm; clock circuitry; operating conditions; failure modes; malicious failures; clock skew; worst case failures; clock synchronization; experimental verification; byzantine failure; formal methods; proof of correctness.
D.L. Palumbo, "The Derivation and Experimental Verification of Clock Synchronization Theory," IEEE Transactions on Computers, vol. 43, no. 6, pp. 676-686, June 1994, doi:10.1109/12.286301
Usage of this product signifies your acceptance of the Terms of Use.