Simplifying fault-tolerance: Providing the abstraction of crash failures

Rida Bazzi, Gil Neiger

Research output: Contribution to journalArticle

19 Scopus citations

Abstract

The difficulty of designing fault-tolerant distributed algorithms increases with the severity of failures that an algorithm must tolerate, especially for systems with synchronous message passing. This paper considers methods that automatically translate algorithms tolerant of simple crash failures into ones tolerant of more severe failures. These translations simplify the design task by allowing algorithm designers to assume that processors fail only by stopping. Such translations can be quantified by two measures: fault-tolerance, which is a measure of how many processors must remain correct for the translation to be correct, and round-complexity, which is a measure' of how the translation increases the running time of an algorithm. Understanding these translations and their limitations with respect to these measures can provide insight into the relative impact of different models of faulty behavior on the ability to provide fault-tolerant applications for systems with synchronous message passing. This paper considers translations from crash failures to each of the following types of more severe failures: omission to send messages; omission to send and receive messages; and totally arbitrary behavior. It shows that previously developed translations to send-omission failures are optimal with respect to both fault-tolerance and round-complexity. It exhibits a hierarchy of translations to general (send/receive) omission failures that improves upon the fault-tolerance of previously developed translations. These translations are optimal in that they cannot be improved with respect to one measure without negatively affecting the other; that is, the hierarchy of translations is matched by corresponding hierarchy of impossibility results. The paper also gives a hierarchy of translations to arbitrary failures that improves upon the round-complexity of previously developed translations. These translations are near-optimal; the hierarchy is matched by a hierarchy of impossibility results whose fault-tolerances differ from those of the translations only by small constants.

Original languageEnglish (US)
Pages (from-to)499-554
Number of pages56
JournalJournal of the ACM
Volume48
Issue number3
DOIs
StatePublished - May 1 2001

Keywords

  • Crash failures
  • Fault-tolerance
  • Translations

ASJC Scopus subject areas

  • Software
  • Control and Systems Engineering
  • Information Systems
  • Hardware and Architecture
  • Artificial Intelligence

Fingerprint Dive into the research topics of 'Simplifying fault-tolerance: Providing the abstraction of crash failures'. Together they form a unique fingerprint.

  • Cite this