Skip to content

Elements of Distributed Computing

Best in textbook rentals since 2012!

ISBN-10: 0471036005

ISBN-13: 9780471036005

Edition: 2002

Authors: Vijay K. Garg

List price: $167.95
Shipping box This item qualifies for FREE shipping.
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Vijay Garg covers the fundamentals of distributed computing focusing on developing general mechanisms that can be applied to a variety of problems. The examples cited in the text are designed to be useful in practical contexts.
Customers also bought

Book details

List price: $167.95
Copyright year: 2002
Publisher: John Wiley & Sons, Incorporated
Publication date: 5/23/2002
Binding: Hardcover
Pages: 448
Size: 6.36" wide x 9.70" long x 0.99" tall
Weight: 1.628
Language: English

Foreword
Preface
Introduction
Introduction
Distributed Systems Versus Parallel Systems
Characteristics of Distributed Systems
Scope of the Book
Overview of the Book
Notation
Problems
Bibliographic Remarks
Model of a Computation
Introduction
Model of a Distributed System
Interleaving Model
Happened Before Model
Potential Causality Model
Appropriate Model
Models Based on States
Problems
Bibliographic Remarks
Logical Clocks
Introduction
Logical Clocks
Vector Clocks
Problems
Bibliographic Remarks
Verifying Clock Algorithms
Introduction
Using Induction on [right arrow]
Proof of the Vector Clock Algorithm
Problems
Bibliographic Remarks
Clocks of Different Dimensions
Introduction
Direct-Dependency Clocks
Higher-Dimensional Clocks
Problems
Bibliographic Remarks
Mutual Exclusion: Using Timestamps
Introduction
Specifications of the Problem
Lamport's Algorithm
Ricart and Agrawala's Algorithm
Problems
Bibliographic Remarks
Mutual Exclusion: Tokens and Quorums
Introduction
Centralized Algorithm
An Exercise in Decentralization
Quorum-Based Algorithms
Problems
Bibliographic Remarks
Drinking Philosophers Problem
Introduction
Dining Philosophers--Heavy Load
Dining Philosophers--Light Load
Drinking Philosophers
Problems
Bibliographic Remarks
Leader Election
Introduction
Anonymous Rings
Chang-Roberts Algorithm
Hirschberg-Sinclair Algorithm
Problems
Bibliographic Remarks
Global State
Introduction
Consistent Cuts
Consistent Subcuts
Global Snapshot Algorithm
Application: Detecting Stable Properties
Problems
Bibliographic Remarks
Observing Global Predicates
Introduction
Modalities of Observation
Key Problems in Observation of Global Properties
Linear Predicates
Regular Predicates
Problems
Bibliographic Remarks
Observing Conjunctive Predicates
Introduction
Boolean Expressions of Local Predicates
A Vector Clock-Based Centralized Algorithm
A Direct Dependency-Based Algorithm
A Vector Clock-Based Distributed Algorithm
Problems
Bibliographic Remarks
Channel Predicates
Introduction
Linear Channel Predicates
A Centralized Algorithm
Problems
Bibliographic Remarks
Termination Detection
Introduction
Dijkstra and Scholten's Algorithm
An Optimization
Problems
Bibliographic Remarks
Control of a Distributed Computation
Introduction
Hardness of the Control Problem
Mutual Exclusion
Disjunctive Predicates
Relationship Between Observation and Control
Problems
Bibliographic Remarks
Causal Message Ordering
Introduction
Algorithm
Proof of Correctness
Problems
Bibliographic Remarks
Synchronous and Total Order
Introduction
Synchronous Ordering
Algorithm
Total Order for Multicast Messages
Application: Replicated State Machines
Problems
Bibliographic Remarks
Computation of a Global Function
Introduction
Convergecast and Broadcast
Global Functions
Problems
Bibliographic Remarks
Repeated Global Computation
Introduction
An Equitable, Revolving Hierarchy
Implementation Issues
Application: Branch-and-Bound Algorithm
Problems
Bibliographic Remarks
Synchronizers
Introduction
A Simple Synchronizer
Synchronizer [alpha]
Synchronizer [beta]
Synchronizer [gamma]
Application: BFS Tree Algorithm
Limitations of Synchronizers
Problems
Bibliographic Remarks
Slicers
Introduction
Characterization of an Execution Lattice
Slicing a Distributed Computation
Algorithm for Slicing Regular Predicates
Application: Predicate Detection and Control
Problems
Bibliographic Remarks
Distributed Shared Memory
Introduction
System Model
Sequential Consistency
Linearizability
Other Consistency Conditions
Problems
Bibliographic Remarks
Self-Stabilization
Introduction
Mutual Exclusion with K-State Machines
Mutual Exclusion with Three-State Machines
Problems
Bibliographic Remarks
Knowledge and Common Knowledge
Introduction
Knowledge and Common Knowledge
Application: Two-Generals Problem
Defining Knowledge Based on Isomorphism
Problems
Bibliographic Remarks
Consensus Under Asynchrony
Introduction
Requirements and Assumptions
An Informal Proof of the Impossibility Result
A Formal Proof of the Impossibility Result
Terminating Reliable Broadcast
Problems
Bibliographic Remarks
Consensus Under Synchrony
Introduction
Consensus Under Crash Failures
Consensus Under Byzantine Faults
Problems
Bibliographic Remarks
Failure Detectors
Introduction
Completeness and Accuracy Properties
Relationship Among Various Failure Detectors
Algorithm for Consensus Using [diamonds suit symbol] S
Problems
Bibliographic Remarks
Solvable Problems in Asynchronous Systems
Introduction
Failure Detection
k-Set Consensus Problem
Reliable Broadcast Problem
Problems
Bibliographic Remarks
Checkpointing for Recovery
Introduction
Zig-Zag Relation
R-Graphs
Recoverable Global States: Using Slices
Rollback Dependency Trackability (RDT)
Communication-Induced Checkpointing
Problems
Bibliographic Remarks
Message Logging for Recovery
Introduction
Model
Fault-Tolerant Vector Clock
Version End Table
The Protocol
Problems
Bibliographic Remarks
Partial Order
Introduction
Definition of Partial Orders
Lattices
Properties of Functions on Posets
Down-Sets and Up-Sets
Problems
Bibliographic Remarks
Bibliography
Index