skip to main content
article
Free Access

Optimal clock synchronization

Published:01 July 1987Publication History
Skip Abstract Section

Abstract

We present a simple, efficient, and unified solution to the problems of synchronizing, initializing, and integrating clocks for systems with different types of failures: crash, omission, and arbitrary failures with and without message authentication. This is the first known solution that achieves optimal accuracy—the accuracy of synchronized clocks (with respect to real time) is as good as that specified for the underlying hardware clocks. The solution is also optimal with respect to the number of faulty processes that can be tolerated to achieve this accuracy.

References

  1. 1 BECK, M., SRIKANTH, T. K., AND TOUEG, S. Implementation issues in clock synchronization. In Proceedings of the Asilomar Workshop on Fault Tolerant Distributed Computing. Springer-Verlag, New York. To be published. Google ScholarGoogle Scholar
  2. 2 DIFFIE, W., AND HELLMAN, i. New directions in cryptography. IEEE Trans. Inf. Theory IT-22 (1976), 644-654.Google ScholarGoogle Scholar
  3. 3 DOLEV, D., HALPERN, J. Y., AND STRONG, R. On the possibility and impossibility of achieving clock synchronization. In Proceedings of the 16th Annual ACM STOC (Washington D.C., Apr.). ACM, New York, 1984, pp. 504-511. (Also to appear in J. Comput. Syst. Sci.) Google ScholarGoogle Scholar
  4. 4 DRUMMOND, R. Impact of communication networks on fault-tolerant distributed computing. Ph.D. dissertation, Dept. of Computer Science, Cornell Univ., Ithaca, N.Y., 1986. Google ScholarGoogle Scholar
  5. 5 FISCHER, M., LYNCH, N., AND MERRITT, M. Easy impossibility proofs for distributed consensus problems. In Proceedings of the 4th Symposium on the Principles of Distributed Computing (Minaki, Canada, Aug.). ACM, New York, 1985, pp. 59-70. Google ScholarGoogle Scholar
  6. 6 HADZILACOS, V. Byzantine agreement under restricted types of failures (not telling the truth is different from telling lies). Tech. Rep. 19-83, Aiken Computation Laboratory, Harvard Univ., Cambridge, Mass., June I983.Google ScholarGoogle Scholar
  7. 7 HALPERN, J. Y., SIMONS, B., STRONG, R., AND DOLEV, D. Fault-tolerant clock synchronization. In Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing (Vancouver, Canada, Aug.). ACM, New York, 1984, pp. 89-102. Google ScholarGoogle Scholar
  8. 8 LAMPORT, L., AND FISCHER, M. Byzantine generals and transaction commit protocols. Opus 62, SRI International, Menlo Park, Calif., Apr. 1982.Google ScholarGoogle Scholar
  9. 9 LAMPORT, L., AND MELLIAR-SMITH, P.M. Synchronizing clocks in the presence of faults. J. ACM 32, 1 (Jan. 1985), 52-78. Google ScholarGoogle Scholar
  10. 10 LUNDELIUS, J., AND LYNCH, N. A new fault-tolerant algorithm for clock synchronization. In Proceedings of the 3rd Annual ACM Symposium on Principles of Distributed Computing (Vancouver, Canada, Aug.). ACM, New York, 1984, pp. 75-88. Google ScholarGoogle Scholar
  11. 11 MAHANEY, S. R., AND SCHNEIDER, F. B. Inexact agreement: Accuracy, precision and graceful degradation. In Proceedings of the 4th Symposium on the Principles of Distributed Computing (Minaki, Canada, Aug.). ACM, New York, 1985, pp. 237-249. Google ScholarGoogle Scholar
  12. 12 MARZULLO, K. Maintaining the time in a distributed system. An example of a loosely-coupled distributed service. Ph.D. dissertation, Dept. of Electrical Engineering, Stanford Univ., Stanford, Calif., 1984. Google ScholarGoogle Scholar
  13. 13 PERRY, K. J., AND TOUEG, S. Distributed agreement in the presence of processor and communication faults. IEEE Trans. Sofiw. Eng. SE-12, 3 (Mar. 1986), 477-482. Google ScholarGoogle Scholar
  14. 14 SRIKANTH, T. K., AND TOUEG, S. Simulating authenticated broadcasts to derive simple faulttolerant algorithms. Tech. Rep. 84-623, Dept. of Computer Science, Cornell Univ., Ithaca, N.Y., July 1984. (Also to appear in Distributed Computing, Springer-Verlag, New York.)Google ScholarGoogle Scholar

Index Terms

  1. Optimal clock synchronization

          Recommendations

          Reviews

          Steven K. Andrianoff

          The behavior of distributed systems in the presence of faults has been the subject of much recent research. One area of research is enabling processes to reach agreement as to time. The problem is to provide processes with logical clocks that agree within prescribed bounds, are accurate with respect to real time, and are based on physical clocks for which the bound on the drift rate from real time is known. An additional constraint is that these synchronous clocks are to be maintained in the presence of faulty processes, where a faulty process can exhibit arbitrary behavior. The authors of this paper make an important contribution to the solution of the problem by presenting an optimal algorithm for maintaining synchronous clocks in the presence of faults. The algorithm is optimal in the sense that the logical clocks are as accurate with respect to real time as the underlying physical clocks are. The basic algorithm requires a system with message authentication and yields optimal accuracy provided fewer than half the processes are faulty. The authors modify the basic algorithm by replacing the requirement of a signed communication with one of a broadcast primitive, at the price of tolerating a smaller proportion of faulty processes. They show how the algorithm may be modified further to provide for the initialization of a system of synchronous clocks, for the integration of a process into such a system, and for the maintenance of continuous clocks. This paper has been organized in such a way that it is easy to follow. Detailed proofs of the agreement, accuracy, and optimality results are provided. The treatment of the basic problem and its variations is comprehensive. The authors have placed their results into the context of other published results. As with ther algorithms for distributed services, I would be interested in the performance of the algorithm on an actual system.

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          • Published in

            cover image Journal of the ACM
            Journal of the ACM  Volume 34, Issue 3
            July 1987
            248 pages
            ISSN:0004-5411
            EISSN:1557-735X
            DOI:10.1145/28869
            Issue’s Table of Contents

            Copyright © 1987 ACM

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 July 1987
            Published in jacm Volume 34, Issue 3

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader