An optimal self-stabilizing firing squad

Danny Dolev, Ezra N. Hoch, Yoram Moses

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Original languageEnglish
Pages (from-to)415-435
Number of pages21
JournalSIAM Journal on Computing
Volume41
Issue number2
DOIs
StatePublished - 2012

Keywords

  • Common knowledge
  • Distributed algorithms
  • Firing squad
  • Self-stabilization
  • Simultaneity
  • Synchronous system

ASJC Scopus subject areas

  • General Computer Science
  • General Mathematics

Fingerprint

Dive into the research topics of 'An optimal self-stabilizing firing squad'. Together they form a unique fingerprint.

Cite this