skip to main content
research-article
Open access

Self-Stabilising Byzantine Clock Synchronisation Is Almost as Easy as Consensus

Published: 17 August 2019 Publication History

Abstract

We give fault-tolerant algorithms for establishing synchrony in distributed systems in which each of the n nodes has its own clock. Our algorithms operate in a very strong fault model: we require self-stabilisation, i.e., the initial state of the system may be arbitrary, and there can be up to f< n/3 ongoing Byzantine faults, i.e., nodes that deviate from the protocol in an arbitrary manner. Furthermore, we assume that the local clocks of the nodes may progress at different speeds (clock drift) and communication has bounded delay. In this model, we study the pulse synchronisation problem, where the task is to guarantee that eventually all correct nodes generate well-separated local pulse events (i.e., unlabelled logical clock ticks) in a synchronised manner.
Compared to prior work, we achieve exponential improvements in stabilisation time and the number of communicated bits, and give the first sublinear-time algorithm for the problem:
• In the deterministic setting, the state-of-the-art solutions stabilise in time Θ (f) and have each node broadcast Θ(f log f) bits per time unit. We exponentially reduce the number of bits broadcasted per time unit to Θ (log f) while retaining the same stabilisation time.
• In the randomised setting, the state-of-the-art solutions stabilise in time Θ(f) and have each node broadcast O(1) bits per time unit. We exponentially reduce the stabilisation time to polylog f while each node broadcasts polylog f bits per time unit.
These results are obtained by means of a recursive approach reducing the above task of self-stabilising pulse synchronisation in the bounded-delay model to non-self-stabilising binary consensus in the synchronous model. In general, our approach introduces at most logarithmic overheads in terms of stabilisation time and broadcasted bits over the underlying consensus routine.

References

[1]
Marcos K. Aguilera and Sam Toueg. 1999. Simple bivalency proof that t + 1-resilient consensus requires rounds. Information Processing Letters 71, 3 (1999), 155--158.
[2]
Michael Ben-Or. 1983. Another advantage of free choice: Completely asynchronous agreement protocols. In Proceedings of the 2nd Annual ACM Symposium on Principles of Distributed Computing (PODC’83). 27--30.
[3]
Michael Ben-Or, Danny Dolev, and Ezra N. Hoch. 2008. Fast self-stabilizing Byzantine tolerant digital clock synchronization. In Proceedings of the 27th ACM Symposium on Principles of Distributed Computing (PODC’08). 385--394.
[4]
Piotr Berman, Juan A. Garay, and Kenneth J. Perry. 1989. Towards optimal distributed consensus. In Proceedings of the 30th Annual Symposium on Foundations of Computer Science (FOCS’89). 410--415.
[5]
Piotr Berman, Juan A. Garay, and Kenneth J. Perry. 1992. Bit optimal distributed consensus. In Computer Science: Research and Applications. 313--321.
[6]
Ariel Daliot, Danny Dolev, and Hanna Parnas. 2003. Self-stabilizing pulse synchronization inspired by biological pacemaker networks. In Proceedings of the 6th International Symposium on Self-Stabilizing Systems (SSS’03). 32--48.
[7]
Edsger W. Dijkstra. 1974. Self-stabilizing systems in spite of distributed control. Communications of the ACM 17, 11 (1974), 643--644.
[8]
Danny Dolev. 1982. The Byzantine generals strike again. Journal of Algorithms 3, 1 (1982), 14--30.
[9]
Danny Dolev and Ezra N. Hoch. 2007. Byzantine self-stabilizing pulse in a bounded-delay model. In Proceedings of the 9th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’07). 234--252.
[10]
Danny Dolev and Rüdiger Reischuk. 1985. Bounds on information exchange for Byzantine agreement. Journal of the ACM 32, 1 (1985), 191--204.
[11]
Danny Dolev, Joseph Y. Halpern, and H. Raymond Strong. 1986a. On the possibility and impossibility of achieving clock synchronization. Journal of Computer and System Sciences 32, 2 (1986a), 230--250.
[12]
Danny Dolev, Nancy A. Lynch, Shlomit S. Pinter, Eugene W. Stark, and William E. Weihl. 1986b. Reaching approximate agreement in the presence of faults. Journal of the ACM 33, 3 (1986b), 499--516.
[13]
Danny Dolev, Matthias Függer, Christoph Lenzen, and Ulrich Schmid. 2014. Fault-tolerant algorithms for tick-generation in asynchronous logic. Journal of the ACM 61, 5 (2014), 30:1--30:74.
[14]
Danny Dolev, Keijo Heljanko, Matti Järvisalo, Janne H. Korhonen, Christoph Lenzen, Joel Rybicki, Jukka Suomela, and Siert Wieringa. 2016. Synchronous counting and computational algorithm design. Journal of Computer and System Sciences 82, 2 (2016), 310--332.
[15]
Shlomi Dolev. 2000. Self-Stabilization. Cambridge, MA
[16]
Shlomi Dolev and Jennifer L. Welch. 2004. Self-stabilizing clock synchronization in the presence of Byzantine faults. Journal of the ACM 51, 5 (2004), 780--799.
[17]
Alan D. Fekete. 1990. Asymptotically optimal algorithms for approximate agreement. Distributed Computing 4, 1 (1990), 9--29.
[18]
Pesech Feldman and Silvio Micali. An optimal probabilistic algorithm for synchronous Byzantine agreement. SIAM Journal on Computing 26, 4 (n.d.), 873--933.
[19]
Michael J. Fischer and Nancy A. Lynch. 1982. A lower bound for the time to assure interactive consistency. Information Processing Letters 14, 4 (1982), 183--186.
[20]
Pankaj Khanchandani and Christoph Lenzen. 2016. Self-stabilizing Byzantine clock synchronization with optimal precision. In Proceedings of the 18th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’16). 213--230.
[21]
Valerie King and Jared Saia. 2011. Breaking the O(n<sup>2</sup>) bit barrier: Scalable byzantine agreement with an adaptive adversary. Journal of the ACM 58, 4 (2011), 1--24.
[22]
Leslie Lamport and P. M. Melliar-Smith. 1985. Synchronizing clocks in the presence of faults. Journal of the ACM 32, 1 (1985), 52--78.
[23]
Leslie Lamport, Robert Shostak, and Marshall Pease. 1982. The Byzantine generals problem. ACM Transactions on Programming Languages and Systems 4, 3 (1982), 382--401.
[24]
Christoph Lenzen and Joel Rybicki. 2016. Near-optimal self-stabilising counting and firing squads. In Proceedings of the 18th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS’16). 263--280.
[25]
Christoph Lenzen, Matthias Függer, Markus Hofstätter, and Ulrich Schmid. 2013. Efficient construction of global time in SoCs despite arbitrary faults. In Proceedings of the 16th Euromicro Conference Series on Digital System Design (DSD’13). 142--151.
[26]
Christoph Lenzen, Joel Rybicki, and Jukka Suomela. 2017. Efficient counting with optimal resilience. SIAM Journal on Computing 64, 4 (2017), 1473--1500.
[27]
Jennifer Lundelius and Nancy Lynch. 1984. An upper and lower bound for clock synchronization. Information and Control 62, 2--3 (1984), 190--204.
[28]
Marshall C. Pease, Robert E. Shostak, and Leslie Lamport. 1980. Reaching agreement in the presence of faults. Journal of the ACM 27, 2 (1980), 228--234.
[29]
Michael O. Rabin. 1983. Randomized Byzantine generals. In Proceedings of the 24th Annual Symposium on Foundations of Computer Science (FOCS’83). 403--409.
[30]
Michel Raynal. 2010. Fault-Tolerant Agreement in Synchronous Message-Passing Systems. Morgan 8 Claypool
[31]
T. K. Srikanth and Sam Toueg. 1987. Optimal clock synchronization. Journal of the ACM 34, 3 (1987), 626--645.
[32]
Jennifer L. Welch and Nancy Lynch. 1988. A new fault tolerant algorithm for clock synchronization. Information and Computation 77, 1 (1988), 1--36.

Cited By

View all

Index Terms

  1. Self-Stabilising Byzantine Clock Synchronisation Is Almost as Easy as Consensus

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Journal of the ACM
    Journal of the ACM  Volume 66, Issue 5
    Distributed Computing, Algorithms and Data Structures, Algorithms, Scientific Computing, Derandomizing Algorithms, Online Algorithms and Algorithmic Information Theory
    October 2019
    266 pages
    ISSN:0004-5411
    EISSN:1557-735X
    DOI:10.1145/3350420
    Issue’s Table of Contents
    This work is licensed under a Creative Commons Attribution International 4.0 License.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 August 2019
    Accepted: 01 June 2019
    Revised: 01 March 2019
    Received: 01 January 2018
    Published in JACM Volume 66, Issue 5

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Transient faults
    2. agreement
    3. byzantine faults
    4. clock drift

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Funding Sources

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)145
    • Downloads (Last 6 weeks)22
    Reflects downloads up to 28 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Login options

    Full Access

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media