Abstract
Clock synchronization algorithms which can tolerate any number of processors that can fail by ceasing operation for an unbounded number of steps and resuming operation (with or) without knowing that they were faulty are called Wait-Free. Furthermore, if these algorithms are also able to work correctly even when the starting state of the system is arbitrary, they are called Wait-Free, Self-Stabilizing. This work deals with the problem of Wait-Free, Self-Stabilizing Clock Synchronization of n processors in an “in-phase” multiprocessor system and presents a solution with quadratic synchronization time. The best previous solution has cubic synchronization time. The idea of the algorithm is based on a simple analysis of the difficulties of the problem which helped us to see how to “re-parametrize” the cubic previously mentioned algorithm in order to get the quadratic synchronization time solution. Both the protocol and its analysis are intuitive and easy to understand.
Partially supported by the ESPRIT II Basic Research Actions Program of the EC under contract no. 7141 (project ALCOM II) and by a Scholarship from the Dutch Organization for International Cooperation in Higher Education (NUFFIC).
Partially supported by the Dutch Science Foundation (NWO) through NFI Project ALADDIN under contract number NF 62-376 and by the ESPRIT II Basic Research Actions Program of the EC under contract no. 7141 (project ALCOM II).
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Arora, S. Dolev, and M. Gouda. Maintaining Digital Clocks in Step. Parallel Processing Letters 1, 1, 1991, pp. 11–18.
Y. Afek, S. Kutten and M. Yung. Memory-Efficient Self Stabilization on General Networks. In Proceedings of the 4th International Workshop on Distributed Algorithms, volume 486 of Lecture Notes in Computer Science, Springer-Verlag 1990, pp. 15–28.
H. Attiya, N. A. Lynch and N. Shavit. Are Wait-Free Algorithms Fast? In Proceedings of the 31st IEEE Symposium on Foundations of Computer Science, 1990, pp. 55–64.
B. Awerbuch, B. Patt-Shamir and G. Varghese. Local Checking and Correction. In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science, 1991, pp. 268–277.
B. Awerbuch and G. Varghese. Distributed Program Checking: A Paradigm for Building Self-Stabilizing Distributed Protocols, In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science, 1991, pp. 258–267.
J.-M. Courver, N. Francez and M. Gouda. Asynchronous Unison. In Proceedings of the 12th IEEE Conference on Distributed Computing Systems, 1992, pp. 486–493.
E.W. Dijkstra. Self Stabilizing Systems in Spite of Distributed Control. Communication of the ACM 17, 1974, pp. 643–644.
D. Dolev, J.Y. Halpern and H.R. Strong. On the Possibility and Impossibility of Achieving Clock Synchronization. Journal of Computer Systems Science 32, 2, 1986, pp. 230–250.
S. Dolev, A. Israeli and S. Moran. Self Stabilization on Dynamic Systems Assuming Only Read/Write Atomicity. Distributed Computing 7, 1, 1993, pp. 3–16.
S. Dolev and J.L. Welch. Wait-Free Clock Synchronization. In Proceedings of the 12th ACM Symposium on Principles of Distributed Computing, 1993. pp. 97–108.
M.G. Gouda and T. Herman. Stabilizing Unison. Information Processing Letters 35, 1990, pp. 171–175.
J. Halpern, B. Simons, R. Strong and D. Dolev. Fault-Tolerant Clock Synchronization. In Proceedings Of the 3rd ACM Symposium on Principles of Distributed Computing, 1984, pp. 89–102.
Herlihy, M., Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13, 1 (Jan. 1991), pp. 124–149.
K. Hwang. Advanced Computer Architectures, Parallelism, Scalability, Programmability. McGraw-Hill, Inc. 1993.
R. Karp and V. Ramachandran. Parallel Algorithms for Shared Memory Machines. In J.van Leeuwen, ed., Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity Elsevier, Amsterdam 1990. Also in: Technical Report UCB/CSD 88/408, Computer Science Division, University of California, March 1988.
L. Lamport. On Interprocess Communication. Distributed Computing 1, 1, 1986, pp. 86–101.
F.T. Leighton. Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publishers, Inc., 1992.
L. Lamport and P.M. Melliar-Smith. Synchronizing Clocks in the Presence of Faults. Journal of the ACM 32, 1, 1985, pp. 1–36.
K. Marzullo. Loosely-Coupled Distributed Services: A Distributed Time Service, Ph.D. Thesis, Stanford University, 1983.
S. Mahaney and F. Schneider. Inexact Agreement: Accuracy, Precision and Graceful Degradation. In Proceedings of the 4th ACM Symposium on Principles of Distributed Computing, 1985, pp. 237–249.
T.K. Srikanth and S. Toueg. Optimal Clock Synchronization. Journal of the ACM 34, 3, 1987, pp. 626–645.
G. Varghese. Self-Stabilization by Local Checking and Correction. Ph.D. Thesis, MIT Laboratory for Computer Science, 1992.
J.L. Welch and N. Lynch. A New Fault-Tolerant Algorithm for Clock Synchronization. Information and Computation 77, 1, 1988, pp. 1–36.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Papatriantafilou, M., Tsigas, P. (1994). On self-stabilizing wait-free clock synchronization. In: Schmidt, E.M., Skyum, S. (eds) Algorithm Theory — SWAT '94. SWAT 1994. Lecture Notes in Computer Science, vol 824. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58218-5_25
Download citation
DOI: https://doi.org/10.1007/3-540-58218-5_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58218-2
Online ISBN: 978-3-540-48577-3
eBook Packages: Springer Book Archive