The Firing Squad Problem Revisited

In the classical firing squad problem, an unknown number of nodes represented by identical finite state machines is arranged on a line and in each time unit each node may change its state according to its neighbors' states. Initially all nodes are passive, except one specific node located at an end of the line, which issues a fire command. This command needs to be propagated to all other nodes, so that eventually all nodes simultaneously enter some designated ``firing" state. A natural extension of the firing squad problem, introduced in this paper, allows each node to postpone its participation in the squad for an arbitrary time, possibly forever, and firing is allowed only after all nodes decided to participate. This variant is highly relevant in the context of decentralized distributed computing, where processes have to coordinate for initiating various tasks simultaneously. The main goal of this paper is to study the above variant of the firing squad problem under the assumptions that the nodes are infinite state machines, and that the inter-node communication links can be changed arbitrarily in each time unit, i.e., are defined by a dynamic graph. In this setting, we study the following fundamental question: what connectivity requirements enable a solution to the firing squad problem? Our main result is an exact characterization of the dynamic graphs for which the firing squad problem can be solved. When restricted to static directed graphs, this characterization implies that the problem can be solved if and only if the graph is strongly connected. We also discuss how information on the number of nodes or on the diameter of the network, and the use of randomization, can improve the solutions to the problem.

[1]  F. R. Moore,et al.  A Generalized Firing Squad Problem , 1968, Inf. Control..

[2]  André Schiper,et al.  The Heard-Of model: computing in distributed systems with benign faults , 2009, Distributed Computing.

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

[4]  John N. Tsitsiklis,et al.  Distributed Anonymous Discrete Function Computation , 2010, IEEE Transactions on Automatic Control.

[5]  Nicola Santoro,et al.  Time to Change: On Distributed Computing in Dynamic Networks (Keynote) , 2015, OPODIS.

[6]  S. Finn Resynch Procedures and a Fail-Safe Network Protocol , 1979, IEEE Trans. Commun..

[7]  Sam Toueg,et al.  Simulating authenticated broadcasts to derive simple fault-tolerant algorithms , 1987, Distributed Computing.

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

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

[10]  Friedhelm Meyer auf der Heide,et al.  Token Dissemination in Geometric Dynamic Networks , 2013, ALGOSENSORS.

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

[12]  Yoram Moses,et al.  Coordinated consensus in dynamic networks , 2011, PODC '11.

[13]  Gábor Lugosi,et al.  Concentration Inequalities - A Nonasymptotic Theory of Independence , 2013, Concentration Inequalities.

[14]  E. F. Moore The firing squad synchronization problem , 1964 .

[15]  Rotei Oshman,et al.  Distributed computation in wireless and dynamic networks , 2012 .

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

[17]  Bernard Chazelle,et al.  Natural algorithms and influence systems , 2012, CACM.

[18]  Danny Dolev,et al.  Authenticated Algorithms for Byzantine Agreement , 1983, SIAM J. Comput..

[19]  Amber Settle,et al.  An Overview of Recent Solutions to and Lower Bounds for the Firing Synchronization Problem , 2017, ArXiv.