Near-Optimal Self-stabilising Counting and Firing Squads

  • Christoph Lenzen
  • Joel Rybicki
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10083)


Consider a fully-connected synchronous distributed system of n nodes, where up to f nodes may be faulty and every node starts in an arbitrary initial state. In the synchronous counting problem, all nodes need to eventually agree on a counter that is increased by one modulo some C in each round. 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 while maintaining the resilience of the underlying consensus routine. Our results resolve various open questions on the two problems, most prominently whether (communication-efficient) self-stabilising Byzantine firing squads or sublinear-time solutions for either problem exist. For example, we obtain a deterministic algorithm for self-stabilising Byzantine firing squads with optimal resilience \(f<n/3\), asymptotically optimal stabilisation and response time O(f), and message size \(O(\log f)\). As our framework does not restrict the type of consensus routines used, we can also obtain efficient randomised solutions, and it is straightforward to adapt our framework to allow \(f<n/2\) omission or \(f<n\) crash faults.



We thank Danny Dolev for inspiring discussions and valuable comments, especially concerning silent consensus.


  1. 1.
    Ben-Or, M., Dolev, D., Hoch, E.N.: Fast self-stabilizing Byzantine tolerant digital clock synchronization. In: Proceedings of 27th Annual ACM Symposium on Principles of Distributed Computing (PODC 2008), pp. 385–394. ACM Press (2008). doi: 10.1145/1400751.1400802
  2. 2.
    Berman, P., Garay, J.A., Perry, K.J.: Towards optimal distributed consensus. In: Proceedings of 30th Annual Symposium on Foundations of Computer Science (FOCS 1989), pp. 410–415. IEEE (1989). doi: 10.1109/SFCS.1989.63511
  3. 3.
    Burns, J.E., Lynch, N.A.: The Byzantine firing squad problem. Adv. Comput. Res. 4, 147–161 (1987)MathSciNetGoogle Scholar
  4. 4.
    Dolev, D., Függer, M., Lenzen, C., Schmid, U., Steininger, A.: Fault-tolerant distributed systems in hardware. Bull. EATCS (116) (2015).
  5. 5.
    Dolev, D., Heljanko, K., Järvisalo, M., Korhonen, J.H., Lenzen, C., Rybicki, J., Suomela, J., Wieringa, S.: Synchronous counting and computational algorithm design. J. Comput. Syst. Sci. 82(2), 310–332 (2016). doi: 10.1016/j.jcss.2015.09.002 MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Dolev, D., Hoch, E.N.: On self-stabilizing synchronous actions despite byzantine attacks. In: Pelc, A. (ed.) DISC 2007. LNCS, vol. 4731, pp. 193–207. Springer, Heidelberg (2007). doi: 10.1007/978-3-540-75142-7_17 CrossRefGoogle Scholar
  7. 7.
    Dolev, D., Hoch, E.N., Moses, Y.: An optimal self-stabilizing firing squad. SIAM J. Comput. 41(2), 415–435 (2012). doi: 10.1137/090776512 MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Dolev, S.: Self-Stabilization. The MIT Press, Cambridge (2000)zbMATHGoogle Scholar
  9. 9.
    Dolev, S., Welch, J.L.: Self-stabilizing clock synchronization in the presence of Byzantine faults. J. ACM 51(5), 780–799 (2004). doi: 10.1145/1017460.1017463 MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Hoch, E.N., Dolev, D., Daliot, A.: Self-stabilizing Byzantine digital clock synchronization. In: Datta, A.K., Gradinariu, M. (eds.) SSS 2006. LNCS, vol. 4280, pp. 350–362. Springer, Heidelberg (2006). doi: 10.1007/978-3-540-49823-0_25 CrossRefGoogle Scholar
  11. 11.
    King, V., Saia, J.: Breaking the \(O(n^2)\) bit barrier. J. ACM 58(4), 1–24 (2011). doi: 10.1145/1989727.1989732 MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. ACM Trans. Program. Lang. Syst. 4(3), 382–401 (1982). doi: 10.1145/357172.357176 CrossRefzbMATHGoogle Scholar
  13. 13.
    Lenzen, C., Függer, M., Hofstätter, M., Schmid, U.: Efficient construction of global time in SoCs despite arbitrary faults. In: Proceedings of 16th Euromicro Conference on Digital System Design (DSD 2013), pp. 142–151 (2013). doi: 10.1109/DSD.2013.97
  14. 14.
    Lenzen, C., Rybicki, J.: Efficient counting with optimal resilience. In: Moses, Y. (ed.) DISC 2015. LNCS, vol. 9363, pp. 16–30. Springer, Heidelberg (2015). doi: 10.1007/978-3-662-48653-5_2 CrossRefGoogle Scholar
  15. 15.
    Lenzen, C., Rybicki, J.: Near-optimal self-stabilising counting and firing squads, manuscript, full version. arXiv:1608.00214 (2016)
  16. 16.
    Lenzen, C., Rybicki, J., Suomela, J.: Towards optimal synchronous counting. In: Proceedings of 34th ACM Symposium on Principles of Distributed Computing (PODC 2015), pp. 441–450. ACM (2015)Google Scholar
  17. 17.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers, San Francisco (1996)zbMATHGoogle Scholar
  18. 18.
    Pease, M.C., Shostak, R.E., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27(2), 228–234 (1980). doi: 10.1145/322186.322188 MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Department of Algorithms and ComplexityMax Planck Institute for InformaticsSaarbrückenGermany
  2. 2.Helsinki Institute for Information Technology HIIT, Department of Computer ScienceAalto UniversityEspooFinland

Personalised recommendations