Book contents
- Frontmatter
- Contents
- Preface
- 1 Introduction: Distributed Systems
- Part One Protocols
- Part Two Fundamental Algorithms
- Part Three Fault Tolerance
- 13 Fault Tolerance in Distributed Systems
- 14 Fault Tolerance in Asynchronous Systems
- 15 Fault Tolerance in Synchronous Systems
- 16 Failure Detection
- 17 Stabilization
- Part Four Appendices
- References
- Index
14 - Fault Tolerance in Asynchronous Systems
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- 1 Introduction: Distributed Systems
- Part One Protocols
- Part Two Fundamental Algorithms
- Part Three Fault Tolerance
- 13 Fault Tolerance in Distributed Systems
- 14 Fault Tolerance in Asynchronous Systems
- 15 Fault Tolerance in Synchronous Systems
- 16 Failure Detection
- 17 Stabilization
- Part Four Appendices
- References
- Index
Summary
This chapter studies the solvability of decision problems in asynchronous distributed systems. The results are arranged around a fundamental result by Fischer, Lynch, and Paterson [FLP85], presented in Section 14.1. Formulated as an impossibility proof for a class of decision algorithms, the result can also be read as a list of assumptions that together exclude solutions for decision problems. Relaxing the assumptions makes it possible to obtain practical solutions for various problems, as is shown in the subsequent sections. See also Subsection 14.1.3 for a further discussion.
Impossibility of Consensus
In this section the fundamental theorem of Fischer, Lynch, and Paterson [FLP85], stating that there are no asynchronous, deterministic 1-crash robust consensus protocols, is proved. The result is shown by reasoning involving fair execution sequences of the algorithms. We first introduce some notation (in addition to that introduced in Section 2.1) and give elementary results that are useful also in later sections.
Notation, Definitions, Elementary Results
The sequence σ = (e1, …, ek) of events is applicable in configuration γ if e1 is applicable in γ, e2 in e1(γ), and so on. If the resulting configuration is δ, we write γ ⇝σ δ or σ(γ) = δ, to make the events leading from γ to δ explicit. If S ⊆ ℙ and σ contains only events in processes of S we also write γ ⇝ s δ.
- Type
- Chapter
- Information
- Introduction to Distributed Algorithms , pp. 437 - 468Publisher: Cambridge University PressPrint publication year: 2000