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
13 - Fault Tolerance in Distributed 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
The earlier parts of this book studied the coordinated behavior that can be achieved in distributed systems where processes are reliable. For several reasons it is attractive to study what coordinated behavior of processes is possible under the assumption that processes may fail; this study is the subject of the last part of the book. Many solutions for fault tolerance are ad hoc and, also, in the large collection of impossibility proofs structure and underlying theory are sometimes hard to find. On the other hand, some problems have elegant and well-established theory and simple solutions whose presentation fits well in this introductory textbook.
This chapter serves as a general introduction to the later chapters. We illustrate the reasons for using fault-tolerant algorithms (Section 13.1), and subsequently introduce two main types of fault-tolerant algorithms, namely robust algorithms (Section 13.2) and stabilizing algorithms (Section 13.3).
Reasons for Using Fault-tolerant Algorithms
Increasing the number of components in a distributed system means increasing the probability that some of these components will be subject to failure during the execution of a distributed algorithm. Computers in a network may fail, processes in a system can be erroneously killed by switching off a workstation, or a machine may produce an incorrect result due to, e.g., memory malfunctioning. Modern computers are becoming more and more reliable, thereby decreasing the chance of the occurrence of such failures in any individual Computer.
- Type
- Chapter
- Information
- Introduction to Distributed Algorithms , pp. 427 - 436Publisher: Cambridge University PressPrint publication year: 2000