An Optimal Self-Stabilizing Firing Squad

Consider a fully connected network where up to $t$ processes may crash and all processes start in an arbitrary memory state. The self-stabilizing firing squad problem consists of eventually guaranteeing simultaneous response to an external input. This is modeled by requiring that the noncrashed proc...

Full description

Saved in:
Bibliographic Details
Published inSIAM journal on computing Vol. 41; no. 2; pp. 415 - 435
Main Authors Dolev, Danny, Hoch, Ezra N., Moses, Yoram
Format Journal Article
LanguageEnglish
Published Philadelphia Society for Industrial and Applied Mathematics 01.01.2012
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Consider a fully connected network where up to $t$ processes may crash and all processes start in an arbitrary memory state. The self-stabilizing firing squad problem consists of eventually guaranteeing simultaneous response to an external input. This is modeled by requiring that the noncrashed processes "fire" simultaneously if some correct process received an external "go" input, and that they only fire as a response to some process receiving such an input. This paper presents FireSquad, the first self-stabilizing firing squad algorithm. A firing squad algorithm facilitates the use of algorithms that need to start in the same round. It allows a smooth transition between algorithms whose executions need to be disjoint. The FireSquad algorithm combines two forms of fault-tolerance properties: self-stabilization to allow recovery from arbitrary transient errors and resilience to crash failures to handle permanent ones. The FireSquad algorithm is optimal in two respects: (a) once the algorithm is in a safe state, it fires in response to a go input as fast as any other algorithm does, and (b) starting from an arbitrary state, it converges to a safe state as fast as any other algorithm does.
ISSN:0097-5397
1095-7111
DOI:10.1137/090776512