About the Book
This book discusses fundamental concepts in distributed computing systems such as time, state, simultaneity, order, knowledge, failure, and agreement in distributed systems. The emphasis of the book is on developing general mechanisms that can be applied to a variety of problems. Examples are clocks, locks, cameras, sensors, controllers, slicers and synchronizers. The examples have been carefully chosen so that they are fundamental and yet useful in practical contexts. The book is based on an asynchronous model of distributed computing. This means it does not deal with shared memory models or network computing with bounded delays on messages. This model has been widely used in academia and industry, yet there are no books available with this treatment. Available books cover shared memory and synchronous distributed systems.
About the Author
VIJAY K. GARG, is a professor in the Electrical and Computer Engineering Department at the University of Texas at Austin and a leading researcher in distributed computing systems.
Table of Contents: Foreword.
Preface.
Introduction.
Model of a Computation.
Logical Clocks.
Verifying Clock Algorithms.
Clocks of Different Dimensions.
Mutual Exclusion: Using Timestamps.
Mutual Exclusion: Tokens and Quorums.
Drinking Philosophers Problem.
Leader Election.
Global State.
Observing Global Predicates.
Observing Conjuctive Predicates.
Channel Predicates.
Termination Detection.
Control of a Distributed Computation.
Causal Message Ordering.
Synchronous and Total Message Ordering.
Computation of a Global Functon.
Repeated Global Computation of a Global Function.
Synchronizers.
Slicers.
Distributed Shared Memory.
Self-Stabilization.
Knowledge and Common Knowledge.
Consensus Under Asynchrony.
Consensus Under Synchrony.
Failure Detectors.
Easy Problems in Asychronous Systems.
Checkpointing for Recovery.
Message Logging for Recovery.
Appendix: Partial Orders.
Bibliography.
Index.