Abstract
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.
Similar content being viewed by others
References
Alari, B. and Ciuffoletti, A. Improving the probabilistic clock synchronization algorithm. In Proceedings of the 18th Euromicro Conference, Paris, 1992.
Arvind, K. Probabilistic clock synchronization in distributed systems. IEEE Transaction on Parallel and Distributed Systems, 5(5):474–487, 1994.
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.
Comer, D. Internetworking with TCP/IP: principles, protocols and architectures. Prentice Hall, Englewood Cliffs, NJ, 1988.
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.
Cristian, F. Probabilistic clock synchronization. Distributed Computing, (3):146–158, 1989.
Dijkstra, E.W. Self-stabilizing systems in spite of distributed control. Communications of the ACM, 17(11):643–644, 1974.
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.
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.
Kernighan, B.W. and Ritchie, D.M. The C programming language, second edition. Prentice Hall, Englewood Cliffs, NJ, 1988.
Kopetz, H. and Ochsenreiter, W. Clock synchronization in distributed real-time systems. IEEE Transactions on Computers, c-36(8):933–940, 1987.
Lamport, L. Using time instead of timeout for fault-tolerant distributed systems. ACM Journal of Programming Languages and Systems, 6(2):254–280, 1984.
Lamport, L. Synchronizing clocks in the presence of faults. Journal of the ACM, 32(1):52–78, 1985.
Lundelius, J. and Lynch, N.A. An upper and lower bound for clock synchronization. Information Control, 62:190–204, 1984.
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.
Patt-Shamir, B. and Rajsbaum, S. A theory of clock synchronization. In ACM Symposium on Theory of Computing, Montreal, Quebec, Canada, 1994.
Schneider, F.B. A paradigm for reliable clock synchronization. Technical Report TR 86-735, Cornell University, Ithaca, NY, 1986.
Srikanth, T.K. and Toueg, S. Optimal clock synchronization. Journal of the ACM, 34(3):626–645, 1987.
Stevens, W.R. UNIX network programming. Prentice Hall, Englewood Cliffs, NJ., 1990.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Alari, G., Ciuffoletti, A. Implementing a Probabilistic Clock Synchronization Algorithm. Real-Time Systems 13, 25–46 (1997). https://doi.org/10.1023/A:1007900902186
Issue Date:
DOI: https://doi.org/10.1023/A:1007900902186