Implementing a Probabilistic Clock Synchronization Algorithm
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.
Unable to display preview. Download preview PDF.
- Alari, B. and Ciuffoletti, A. Improving the probabilistic clock synchronization algorithm. In Proceedings of the 18th Euromicro Conference, Paris, 1992.Google Scholar
- Arvind, K. Probabilistic clock synchronization in distributed systems. IEEE Transaction on Parallel and Distributed Systems, 5(5):474–487, 1994.Google Scholar
- 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
- Comer, D. Internetworking with TCP/IP: principles, protocols and architectures. Prentice Hall, Englewood Cliffs, NJ, 1988.Google Scholar
- 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
- Cristian, F. Probabilistic clock synchronization. Distributed Computing, (3):146–158, 1989.Google Scholar
- Dijkstra, E.W. Self-stabilizing systems in spite of distributed control. Communications of the ACM, 17(11):643–644, 1974.Google Scholar
- 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
- 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
- Kernighan, B.W. and Ritchie, D.M. The C programming language, second edition. Prentice Hall, Englewood Cliffs, NJ, 1988.Google Scholar
- Kopetz, H. and Ochsenreiter, W. Clock synchronization in distributed real-time systems. IEEE Transactions on Computers, c-36(8):933–940, 1987.Google Scholar
- 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
- Lamport, L. Synchronizing clocks in the presence of faults. Journal of the ACM, 32(1):52–78, 1985.Google Scholar
- Lundelius, J. and Lynch, N.A. An upper and lower bound for clock synchronization. Information Control, 62:190–204, 1984.Google Scholar
- 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
- Patt-Shamir, B. and Rajsbaum, S. A theory of clock synchronization. In ACM Symposium on Theory of Computing, Montreal, Quebec, Canada, 1994.Google Scholar
- Schneider, F.B. A paradigm for reliable clock synchronization. Technical Report TR 86-735, Cornell University, Ithaca, NY, 1986.Google Scholar
- Srikanth, T.K. and Toueg, S. Optimal clock synchronization. Journal of the ACM, 34(3):626–645, 1987.Google Scholar
- Stevens, W.R. UNIX network programming. Prentice Hall, Englewood Cliffs, NJ., 1990.Google Scholar