Synchronization

Clock Synchronization

Physical Clock Synchronization

Logical Clock Synchronization

Global State and Election

Distributed Snapshot Algorithm

Chandy-Lamport Snapshot Recording Algorithm

Election

Assumption

General Approach

The Bully Algorithm

Ring Algorithm

Sharing in Distributed Systems

Centralized Algorithm

Distributed Algorithm

Token Ring Algorithm

Token holder may enter critical section or pass the Token

Transaction

Transaction is a collection of actions that make consistent transformations of system states while preserving system consistency

ACID

Serializability

If several transactions are executed concurrently, the results must be the same as if they were executed serially in some order

Distributed Transaction Serializability

Concurrent Control

Locking-based algorithms

Two-phase Locking

Strict Two-phase Locking

Hold all locks until the end

Deadlock

Timestamp Ordering