Distributed Systems

Get Started. It's Free
or sign up with your email address
Distributed Systems by Mind Map: Distributed Systems

1. Distributed Algorithms

1.1. Time & Global States

1.1.1. Time

1.1.1.1. Physical clocks

1.1.1.1.1. Christian algorithms

1.1.1.1.2. Berkeley algorithm

1.1.1.2. Logical Clocks

1.1.1.2.1. Lamport clocks

1.1.1.2.2. Vector clocks

1.1.2. Global States

1.1.2.1. Distributed snapshot

1.1.2.2. Global Predicates

1.1.2.2.1. Safety

1.1.2.2.2. Liveliness

1.1.2.2.3. Stability (True/False)

1.2. Coordination & Agreement

1.2.1. Election algorithms

1.2.1.1. Bully algorithm

1.2.1.2. Chang-robert ring

1.2.1.3. Enhanced Ring

1.2.2. Multicast

1.2.2.1. Basic reliable

1.2.2.2. Scalable reliable

1.2.2.3. Ordered

1.2.2.4. Atomic

1.2.3. Consensus

1.2.3.1. Doler & Strong algorithm

1.2.3.2. Byzantine general problems

1.2.3.3. OM (m) algorithm

1.2.3.4. Paxos

2. Distributed shared data

2.1. Distributed Transactions

2.1.1. Properties

2.1.1.1. Atomicity

2.1.1.2. Consistency:

2.1.1.3. Isolation

2.1.1.4. Durability:

2.1.2. Problems with concurrent transactions

2.1.2.1. Lost update problem

2.1.2.2. Inconsistent retrievals problem

2.1.2.3. Dirty read problem

2.1.2.4. Recoverability from aborts

2.1.2.5. Premature write problem

2.1.3. Concurrency control

2.1.3.1. Strict two-phase locking

2.1.3.2. Timestamp ordering

2.1.3.3. Optimistic concurrency control

2.1.4. Distributed commit (Two phase)

2.2. Consistency and replication

2.2.1. Data-centric consistency models

2.2.1.1. Strong consistency models

2.2.1.1.1. Stric consistency

2.2.1.1.2. Sequential consistency

2.2.1.1.3. Strong consistency

2.2.1.1.4. Causal consistency

2.2.1.1.5. FIFO consistency

2.2.1.2. Relaxed consistency models

2.2.1.2.1. Weak

2.2.1.2.2. Release

2.2.1.2.3. Entry

2.2.2. Client-centric consistency models

2.2.2.1. Eventual models

2.2.2.1.1. Monotonic Reads

2.2.2.1.2. Monotonic Writes

2.2.2.1.3. Read Your Writes

2.2.2.1.4. Writes Follow Reads

2.2.3. Consistency protocols

2.2.3.1. Primary-based protocols

2.2.3.1.1. Primary-backup remote-write protocols

2.2.3.1.2. Primary-backup local-write protocols

2.2.3.2. Replicated-write protocols

2.2.3.2.1. Active replication

2.2.3.2.2. Quorum-based protocols (majority voting)