Elements of Distributed ComputingA lucid and up-to-date introduction to the fundamentals of distributed computing systems As distributed systems become increasingly available, the need for a fundamental discussion of the subject has grown. Designed for first-year graduate students and advanced undergraduates as well as practicing computer engineers seeking a solid grounding in the subject, this well-organized text covers the fundamental concepts in distributed computing systems such as time, state, simultaneity, order, knowledge, failure, and agreement in distributed systems. Departing from the focus on shared memory and synchronous systems commonly taken by other texts, this is the first useful reference based on an asynchronous model of distributed computing, the most widely used in academia and industry. The emphasis of the book is on developing general mechanisms that can be applied to a variety of problems. Its examples-clocks, locks, cameras, sensors, controllers, slicers, and synchronizers-have been carefully chosen so that they are fundamental and yet useful in practical contexts. The text's advantages include:
|
Contents
7 | 7 |
Model of a Computation | 11 |
2 | 20 |
Verifying Clock Algorithms | 39 |
Clocks of Different Dimensions | 49 |
Logical Clocks | 55 |
4 | 56 |
Using Timestamps | 65 |
Computation of a Global Function | 219 |
Repeated Global Computation | 231 |
Synchronizers | 245 |
Slicers | 255 |
Distributed Shared Memory | 271 |
SelfStabilization | 287 |
Knowledge and Common Knowledge | 297 |
Consensus Under Asynchrony | 307 |
Tokens and Quorums | 81 |
3385 | 93 |
Leader Election | 107 |
Global State | 115 |
Observing Global Predicates | 131 |
Observing Conjunctive Predicates | 149 |
ཚཚ | 164 |
Channel Predicates | 167 |
Termination Detection | 177 |
Control of a Distributed Computation | 183 |
39 | 195 |
Synchronous and Total Order | 203 |
42 | 205 |