Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
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
Burns, J.E., Lynch, N.A.: The Byzantine firing squad problem. Adv. Comput. Res. 4, 147–161 (1987)
Dolev, D., Függer, M., Lenzen, C., Schmid, U., Steininger, A.: Fault-tolerant distributed systems in hardware. Bull. EATCS (116) (2015). http://bulletin.eatcs.org/index.php/beatcs/issue/view/18
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
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
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
Dolev, S.: Self-Stabilization. The MIT Press, Cambridge (2000)
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
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
King, V., Saia, J.: Breaking the \(O(n^2)\) bit barrier. J. ACM 58(4), 1–24 (2011). doi:10.1145/1989727.1989732
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
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
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
Lenzen, C., Rybicki, J.: Near-optimal self-stabilising counting and firing squads, manuscript, full version. arXiv:1608.00214 (2016)
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)
Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers, San Francisco (1996)
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
Acknowledgements
We thank Danny Dolev for inspiring discussions and valuable comments, especially concerning silent consensus.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing AG
About this paper
Cite this paper
Lenzen, C., Rybicki, J. (2016). Near-Optimal Self-stabilising Counting and Firing Squads. In: Bonakdarpour, B., Petit, F. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2016. Lecture Notes in Computer Science(), vol 10083. Springer, Cham. https://doi.org/10.1007/978-3-319-49259-9_21
Download citation
DOI: https://doi.org/10.1007/978-3-319-49259-9_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-49258-2
Online ISBN: 978-3-319-49259-9
eBook Packages: Computer ScienceComputer Science (R0)