Synopses & Reviews
A 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:
- Emphasizes general mechanisms that can be applied to a variety of problems
- Uses a simple induction-based technique to prove correctness of all algorithms
- Includes a variety of exercises at the end of each chapter
- Contains material that has been extensively class tested
- Gives instructor flexibility in choosing appropriate balance between practice and theory of distributed computing
Synopsis
Mit der Verf gbarkeit verteilter Systeme w chst der Bedarf an einer fundamentalen Diskussion dieses Gebiets. Hier ist sie Abgedeckt werden die grundlegenden Konzepte wie Zeit, Zustand, Gleichzeitigkeit, Reihenfolge, Kenntnis, Fehler und bereinstimmung. Die Betonung liegt auf der Entwicklung allgemeiner Mechanismen, die auf eine Vielzahl von Problemen angewendet werden k nnen. Sorgf ltig ausgew hlte Beispiele (Taktgeber, Sperren, Kameras, Sensoren, Controller, Slicer und Syncronizer) dienen gleichzeitig der Vertiefung theoretischer Aspekte und deren Umsetzung in die Praxis. Alle vorgestellten Algorithmen werden mit durchschaubaren, induktionsbasierten Verfahren bewiesen.
Synopsis
A 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:
* Emphasizes general mechanisms that can be applied to a variety of problems
* Uses a simple induction-based technique to prove correctness of all algorithms
* Includes a variety of exercises at the end of each chapter
* Contains material that has been extensively class tested
* Gives instructor flexibility in choosing appropriate balance between practice and theory of distributed computing
About the Author
VIJAY K. GARG, PhD, 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.