Real-Time Systems

, Volume 13, Issue 1, pp 25–46 | Cite as

Implementing a Probabilistic Clock Synchronization Algorithm

  • Gianluigi Alari
  • Augusto Ciuffoletti


In this paper we present a new probabilistic clock synchronization algorithm, its prototype implementation and experimental results. The algorithm follows the client-server programming paradigm and is designed to work in a departmental environment with few servers and a number of clients connected through an arbitrary network topology.

At the core of the algorithm is a remote clock reading method that mitigates the negative effects of message delay uncertainty. The implementation proves the effectiveness of this approach and corroborates the theoretical speculations.

clock synchronization probabilistic algorithms distributed systems distributed algorithms local area networks TCP/IP 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Alari, B. and Ciuffoletti, A. Improving the probabilistic clock synchronization algorithm. In Proceedings of the 18th Euromicro Conference, Paris, 1992.Google Scholar
  2. Arvind, K. Probabilistic clock synchronization in distributed systems. IEEE Transaction on Parallel and Distributed Systems, 5(5):474–487, 1994.Google Scholar
  3. Ciuffoletti, A. Using simple diffusion to synchronize the clocks in a distributed system. In Proc. 14th International Conference on Distributed Computing Systems, pages 484–491, Poznan (Poland), June 1994.Google Scholar
  4. Comer, D. Internetworking with TCP/IP: principles, protocols and architectures. Prentice Hall, Englewood Cliffs, NJ, 1988.Google Scholar
  5. Cristian, F. Clock synchronization in the presence of omission and performance faults, and processor joins. In Proceedings of the 16th Fault Tolerant Computing Symposium, Vienna, 1986.Google Scholar
  6. Cristian, F. Probabilistic clock synchronization. Distributed Computing, (3):146–158, 1989.Google Scholar
  7. Dijkstra, E.W. Self-stabilizing systems in spite of distributed control. Communications of the ACM, 17(11):643–644, 1974.Google Scholar
  8. Dolev, S. and Welch, J.L. Self-stabilizing clock synchronization in the presence of byzantyne faults. Second Workshop on Self-Stabilizing Systems, University of Nevada, Las Vegas. Technical Report TR 86-735, 1995.Google Scholar
  9. Herzberg, A., Attya, H. and Rajsbaum, S. Optimal clock synchronization under different delay assumptions. In 12th ACM Symposium on Principles of Distributed Computing, Ithaca, NY, 1993.Google Scholar
  10. Kernighan, B.W. and Ritchie, D.M. The C programming language, second edition. Prentice Hall, Englewood Cliffs, NJ, 1988.Google Scholar
  11. Kopetz, H. and Ochsenreiter, W. Clock synchronization in distributed real-time systems. IEEE Transactions on Computers, c-36(8):933–940, 1987.Google Scholar
  12. Lamport, L. Using time instead of timeout for fault-tolerant distributed systems. ACM Journal of Programming Languages and Systems, 6(2):254–280, 1984.Google Scholar
  13. Lamport, L. Synchronizing clocks in the presence of faults. Journal of the ACM, 32(1):52–78, 1985.Google Scholar
  14. Lundelius, J. and Lynch, N.A. An upper and lower bound for clock synchronization. Information Control, 62:190–204, 1984.Google Scholar
  15. Olson, A. and Shin, K. Probabilistic clock synchronization in large distributed systems. In Proceedings of the 11th International Conference on Distributed Computing Systems, Arlington, Texas, 1991.Google Scholar
  16. Patt-Shamir, B. and Rajsbaum, S. A theory of clock synchronization. In ACM Symposium on Theory of Computing, Montreal, Quebec, Canada, 1994.Google Scholar
  17. Schneider, F.B. A paradigm for reliable clock synchronization. Technical Report TR 86-735, Cornell University, Ithaca, NY, 1986.Google Scholar
  18. Srikanth, T.K. and Toueg, S. Optimal clock synchronization. Journal of the ACM, 34(3):626–645, 1987.Google Scholar
  19. Stevens, W.R. UNIX network programming. Prentice Hall, Englewood Cliffs, NJ., 1990.Google Scholar

Copyright information

© Kluwer Academic Publishers 1997

Authors and Affiliations

  • Gianluigi Alari
    • 1
  • Augusto Ciuffoletti
    • 2
  1. 1.Departement d'Ingegnerie InformatiqueUniversité Catholique de LouvainLouvain La NeuveBelgique
  2. 2.Dipartimento di InformaticaUniversità degli Studi di PisaPisaItaly

Personalised recommendations