Abstract
Awareness of the need for robustness in distributed systems increases as distributed systems become an integral part of day-to-day systems. Tolerating Byzantine faults and possessing self-stabilizing features are sensible and important requirements of distributed systems in general, and of a fundamental task such as clock synchronization in particular. There are efficient solutions for Byzantine non-stabilizing clock synchronization as well as for non-Byzantine self-stabilizing clock synchronization. In contrast, current Byzantine self-stabilizing clock synchronization algorithms have exponential convergence time and are thus impractical. We present a linear time Byzantine self-stabilizing clock synchronization algorithm, which thus makes this task feasible. Our deterministic clock synchronization algorithm is based on the observation that all clock synchronization algorithms require events for re-synchronizing the clock values. These events usually need to happen synchronously at the different nodes. In these solutions this is fulfilled or aided by having the clocks initially close to each other and thus the actual clock values can be used for synchronizing the events. This implies that clock values cannot differ arbitrarily, which necessarily renders these solutions to be non-stabilizing. Our scheme suggests using a tight pulse synchronization that is uncorrelated to the actual clock values. The synchronized pulses are used as the events for re-synchronizing the clock values.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Anceaume, E., Puaut, I.: Performance Evaluation of Clock Synchronization Algorithms, Technical report 3526,INRIA (1998)
Arora, A., Dolev, S., Gouda, M.G.: Maintaining digital clocks in step. Parallel Processing Letters 1, 11–18 (1991)
Awerbuch, B., Kutten, S., Mansour, Y., Patt-Shamir, B., Varghese, G.: “Time Optimal Self-Stabilizing Synchronization. In: Proceedings of the 25th Symp. on Theory of Computing (1993)
Brzeziǹski, J., Szychowiak, M.: Self-Stabilization in Distributed Systems - a Short Survey. In: Foundations of Computing and Decision Sciences, vol. 25(1) (2000)
Daliot, A., Dolev, D., Parnas, H.: Self-Stabilizing Pulse Synchronization Inspired by Biological Pacemaker Networks. In: Proc. Of the Sixth Symposium on Self-Stabilizing Systems, pp. 32–48 (2003)
Daliot, A., Dolev, D., Parnas, H.: Linear Time Byzantine Self-Stabilizing Clock Synchronization, Technical Report TR2003-89, Schools of Engineering and Computer Science, The Hebrew University of Jerusalem (December 2003)
Dolev, D., Halpern, J., Strong, H.R.: On the Possibility and Impossibility of Achieving Clock Synchronization. J. of Computer and Systems Science 32(2), 230–250 (1986)
Dolev, D., Strong, H.R.: Polynomial Algorithms for Multiple Processor Agreement. In: Proceedings, the 14th ACM SIGACT Symposium on Theory of Computing (STOC 1982), May 1982, pp. 401–407 (1982)
Dolev, D., Halpern, J.Y., Simons, B., Strong, R.: Dynamic Fault-Tolerant Clock Synchronization. J. Assoc. Computing Machinery 42(1), 143–185 (1995)
Dolev, S.: Possible and Impossible Self-Stabilizing Digital Clock Synchronization in General Graphs. Journal of Real-Time Systems, no 12(1), 95–107 (1997)
Dolev, S.: Self-Stabilization. The MIT Press, Cambridge (2000)
Dolev, S., Welch, J.L.: Self-Stabilizing Clock Synchronization in the presence of Byzantine faults. In: Proc. Of the Second Workshop on Self-Stabilizing Systems, pp. 9.1–9.12 (1995)
Dolev, S., Welch, J.L.: Wait-free clock synchronization. Algorithmica 18(4), 486–511 (1997)
Fischer, M.J., Lynch, N.A., Merritt, M.: Easy impossibility proofs for distributed consensus problems. Distributed Computing 1, 26–39 (1986)
Herman, T.: Phase clocks for transient fault repair. IEEE Transactions on Parallel and Distributed Systems 11(10), 1048–1057 (2000)
Liskov, B.: Practical Use of Synchronized Clocks in Distributed Systems. In: Proceedings of 10th ACM Symposium on the Principles of Distributed Computing, pp. 1–9 (1991)
Patt-Shamir, B.: A Theory of Clock Synchronization, Doctoral thesis, MIT (October 1994)
Papatriantafilou, M., Tsigas, P.: On Self-Stabilizing Wait-Free Clock Synchronization. Parallel Processing Letters 7(3), 321–328 (1997)
Schneider, F.: Understanding Protocols for Byzantine Clock Synchronization, Technical Report 87-859, Dept. of Computer Science, Cornell University (August 1987)
Toueg, S., Perry, K.J., Srikanth, T.K.: Fast Distributed Agreement. In: Proceedings, Principles of Distributed Computing, pp. 87–101 (1985)
Welch, J.L., Lynch, N.: A New Fault-Tolerant Algorithm for Clock Synchronization. Information and Computation 77, 1–36 (1988)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Daliot, A., Dolev, D., Parnas, H. (2004). Linear Time Byzantine Self-Stabilizing Clock Synchronization. In: Papatriantafilou, M., Hunel, P. (eds) Principles of Distributed Systems. OPODIS 2003. Lecture Notes in Computer Science, vol 3144. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27860-3_4
Download citation
DOI: https://doi.org/10.1007/978-3-540-27860-3_4
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22667-3
Online ISBN: 978-3-540-27860-3
eBook Packages: Springer Book Archive