A Closer Look at Fault Tolerance

Gadi Taubenfeld

Research output: Contribution to journalArticlepeer-review


The traditional notion of fault tolerance requires that all the correct participating processes eventually terminate, and thus, is not sensitive to the number of correct processes that should terminate as a result of failures. Intuitively, an algorithm that in the presence of any number of faults always guarantees that all the correct processes except maybe one terminate, is more resilient to faults than an algorithm that in the presence of a single fault does not even guarantee that a single correct process ever terminates. However, according to the standard notion of fault tolerance both algorithms are classified as algorithms that can not tolerate a single fault. To overcome this difficulty, we generalize the traditional notion of fault tolerance in a way which enables to capture more sensitive information about the resiliency of an algorithm. Then, we present several algorithms for solving classical problems which are resilient under the new notion. It is well known that, in an asynchronous systems where processes communicate either by reading and writing atomic registers or by sending and receiving messages, important problems such as, consensus, set-consensus, election, perfect renaming, implementations of a test-and-set bit, a shared stack, a swap object and a fetch-and-add object have no deterministic solutions which can tolerate even a single fault. We show that while, some of these problems have solutions which guarantee that in the presence of any number of faults most of the correct processes will terminate; other problems do not even have solutions which guarantee that in the presence of just one fault at least one correct process terminates. All our results are presented in the context of crash failures in asynchronous systems.

Original languageEnglish
Pages (from-to)1085-1108
Number of pages24
JournalTheory of Computing Systems
Issue number5
StatePublished - 1 Jul 2018
Externally publishedYes

Bibliographical note

Publisher Copyright:
© 2017, Springer Science+Business Media New York.


  • Consensus
  • Crash failures
  • Election
  • Fault tolerance
  • Fetch-and-add
  • Message passing
  • Renaming
  • Set-consensus
  • Shared memory
  • Stack
  • Swap
  • Test-and-set


Dive into the research topics of 'A Closer Look at Fault Tolerance'. Together they form a unique fingerprint.

Cite this