Near-optimal self-stabilising counting and firing squads

Consider a fully-connected synchronous distributed system consisting of n nodes, where up to f nodes may be faulty and every node starts in an arbitrary initial state. In the synchronous C-counting problem, all nodes need to eventually agree on a counter that is increased by one modulo C in each round for given $$C>1$$C>1. In the self-stabilising firing squad problem, the task is to eventually guarantee that all non-faulty nodes have simultaneous responses to external inputs: if a subset of the correct nodes receive an external “go” signal as input, then all correct nodes should agree on a round (in the not-too-distant future) in which to jointly output a “fire” signal. Moreover, no node should generate a “fire” signal without some correct node having previously received a “go” signal as input. We present a framework reducing both tasks to binary consensus at very small cost. For example, we obtain a deterministic algorithm for self-stabilising Byzantine firing squads with optimal resilience $$f<n/3$$f<n/3, asymptotically optimal stabilisation and response time O(f), and message size $$O(\log f)$$O(logf). As our framework does not restrict the type of consensus routines used, we also obtain efficient randomised solutions.

[1]  Christian Scheideler,et al.  Stabilizing consensus with the power of two choices , 2011, SPAA '11.

[2]  Nancy A. Lynch,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[3]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[4]  Yoram Moses,et al.  Knowledge and Common Knowledge in a Byzantine Environment I: Crash Failures , 1986, TARK.

[5]  Nancy A. Lynch,et al.  A Lower Bound for the Time to Assure Interactive Consistency , 1982, Inf. Process. Lett..

[6]  Brian A. Coan,et al.  The Distributed Firing Squad Problem , 1989, SIAM J. Comput..

[7]  Nancy A. Lynch,et al.  The Byzantine Firing Squad Problem. , 1985 .

[8]  Marcos K. Aguilera,et al.  A Simple Bivalency Proof that t-Resilient Consensus Requires t + 1 Rounds , 1998, Inf. Process. Lett..

[9]  KingValerie,et al.  Breaking the O(n2) bit barrier , 2011 .

[10]  Leslie Lamport,et al.  The Byzantine Generals Problem , 1982, TOPL.

[11]  Danny Dolev,et al.  On Self-stabilizing Synchronous Actions Despite Byzantine Attacks , 2007, DISC.

[12]  Danny Dolev,et al.  The Byzantine Generals Strike Again , 1981, J. Algorithms.

[13]  Christian Scheideler,et al.  Brief Announcement: Stabilizing Consensus with the Power of Two Choices , 2010, DISC.

[14]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

[15]  Yasuaki Nishitani,et al.  The Firing Squad Synchronization Problem for Graphs , 1977, Theor. Comput. Sci..

[16]  Christoph Lenzen,et al.  Towards Optimal Synchronous Counting , 2015, PODC.

[17]  Christoph Lenzen,et al.  Efficient Counting with Optimal Resilience , 2015, DISC.

[18]  Brian A. Coan,et al.  Simultaneity Is Harder than Agreement , 1991, Inf. Comput..

[19]  Andreas Steininger,et al.  Fault-tolerant Distributed Systems in Hardware , 2015, Bull. EATCS.

[20]  Victor Vianu,et al.  Invited articles section foreword , 2010, JACM.

[21]  Silvio Micali,et al.  An Optimal Probabilistic Algorithm For Synchronous Byzantine Agreement , 1989, ICALP.

[22]  Danny Dolev,et al.  Self-stabilizing Byzantine Digital Clock Synchronization , 2006, SSS.

[23]  Shlomi Dolev,et al.  When consensus meets self-stabilization , 2010, J. Comput. Syst. Sci..

[24]  Christoph Lenzen,et al.  Synchronous counting and computational algorithm design , 2013, J. Comput. Syst. Sci..

[25]  Michael J. Fischer,et al.  Stabilizing Consensus in Mobile Networks , 2006, DCOSS.

[26]  Danny Dolev,et al.  An Optimal Self-Stabilizing Firing Squad , 2009, SIAM J. Comput..

[27]  Jennifer L. Welch,et al.  Self-Stabilizing Clock Synchronization in the Presence of ByzantineFaults ( Preliminary Version ) Shlomi Dolevy , 1995 .

[28]  Piotr Berman,et al.  Towards optimal distributed consensus , 1989, 30th Annual Symposium on Foundations of Computer Science.

[29]  Christoph Lenzen,et al.  Near-Optimal Self-stabilising Counting and Firing Squads , 2016, SSS.

[30]  Jared Saia,et al.  Breaking the O(n2) bit barrier: Scalable byzantine agreement with an adaptive adversary , 2010, JACM.

[31]  Danny Dolev,et al.  Self-stabilizing byzantine agreement , 2006, PODC '06.

[32]  Swen Jacobs,et al.  Synthesis of Self-Stabilising and Byzantine-Resilient Distributed Systems , 2016, CAV.

[33]  Matthias Függer,et al.  Efficient Construction of Global Time in SoCs Despite Arbitrary Faults , 2013, 2013 Euromicro Conference on Digital System Design.

[34]  Danny Dolev,et al.  Fast self-stabilizing byzantine tolerant digital clock synchronization , 2008, PODC '08.