Computer Science › Software + Distributed Computing

Distributed Systems III

0 of 23
  1. Total-Order Broadcast Built on Consensus

    Total-order broadcast as the abstraction replicated systems actually need, how it reduces to a sequence of consensus instances, and the conditions under which the two problems are equivalent.

    Read →6 sections10 min
  2. Multi-Paxos: From One Decision to a Replicated Log

    From single-decree Paxos to a replicated log: a stable leader, skipping phase 1 for later slots, filling gaps, and what the existing Paxos lesson left out on liveness.

    Read →6 sections11 min
  3. Fast Paxos and Flexible Quorums

    Fast Paxos and its fast path that skips the leader, with the larger quorums it pays for, then Flexible Paxos, which shows that only phase 1 and phase 2 quorums must intersect.

    Read →6 sections12 min
  4. Reconfiguration: Changing Membership in Paxos and Raft

    Changing the set of replicas without losing safety: configuration entries in the log, Raft's joint consensus and single-server changes, and the disjoint-majorities failure they prevent.

    Read →6 sections12 min
  5. Failure Detectors

    Unreliable failure detectors as defined by Chandra and Toueg, their completeness and accuracy classes, the weakest detector for consensus, and heartbeat-based and phi-accrual detectors in practice.

    Read →6 sections12 min
  6. Group Membership and View Synchrony

    Group membership as a sequence of agreed views, view-synchronous communication, and how the virtual synchrony model relates to consensus-based replication.

    Read →6 sections11 min
  7. Causal Consistency

    Causal consistency as a model between sequential consistency and PRAM, potential causality from happens-before, tracking dependencies with vector clocks and explicit metadata, and what the availability result usually cited for it actually proves.

    Read →6 sections9 min
  8. Transactional Causal Consistency

    Extending causal consistency to read-only and write transactions, causal snapshots, and what geo-replicated systems built on this model give up.

    Read →6 sections10 min
  9. Replicating a Database: Eager vs Lazy, Primary-Copy vs Update-Everywhere, and Certification

    The classic design space of database replication, eager versus lazy and primary-copy versus update-everywhere, and certification-based replication built on total-order broadcast.

    Read →6 sections11 min
  10. Gossip and Epidemic Dissemination

    Epidemic algorithms from the Xerox PARC work: push, pull, and push-pull gossip, how quickly a rumor spreads, and how anti-entropy and rumor mongering differ.

    Read →6 sections12 min
  11. Unstructured P2P: Flooding, Super-Peers, and BitTorrent

    Unstructured overlays: flooding and its cost, super-peers as a compromise, and how BitTorrent's tit-for-tat and rarest-first change the problem from search to dissemination.

    Read →6 sections12 min
  12. Chord: A Ring DHT with Logarithmic Lookup

    Chord's identifier ring, successors and finger tables, why a lookup takes a logarithmic number of hops, how stabilization repairs the ring, and where the original protocol fails under failures.

    Read →6 sections12 min
  13. Kademlia and Pastry

    Two DHTs that route by shared identifier digits or XOR distance: Kademlia's k-buckets and Pastry's routing table, and why parallel lookups and locality matter in practice.

    Read →6 sections12 min
  14. Publish-Subscribe over a DHT

    Building publish-subscribe on a structured overlay: topic-based dissemination trees as in Scribe, and how the design compares with a centralized broker.

    Read →6 sections12 min
  15. The Shared Log Abstraction: CORFU, Tango, and vCorfu

    The shared log as a primitive: CORFU's sequencer and client-driven replication over flash, Tango's replicated data structures on top of it, and vCorfu's materialized streams.

    Read →6 sections11 min
  16. Scaling Shared Logs: Partial Order (FuzzyLog) and Replicate First, Order Later (Scalog)

    Two ways past a single sequencer: FuzzyLog relaxes the total order into a partial order across colors, and Scalog replicates records first and orders them afterwards.

    Read →6 sections11 min
  17. Stateful Serverless on Shared Logs: Boki and FlexLog

    Using a shared log as the state substrate of serverless functions: Boki's log-based abstractions for workflows and transactions, and FlexLog's take on the same problem.

    Read →6 sections11 min
  18. Low-Latency Shared Logs: LazyLog and SpecLog

    Reducing the ordering latency of shared logs: LazyLog acknowledges appends before binding their position, which runs in the background and is enforced before a position can be read, and SpecLog lets consumers compute on a speculative order while external output waits for confirmation.

    Read →6 sections9 min
  19. Deterministic Transactions: Calvin

    Calvin's inversion of the usual order: agree on a global sequence of transactions first, then execute them deterministically at every replica, which removes two-phase commit from the path.

    Read →6 sections10 min
  20. Network-Ordered Consensus: NOPaxos, Eris, and Hydra

    Moving ordering into the network: NOPaxos's ordered unreliable multicast, Eris's in-network concurrency control for transactions, and Hydra's approach to network ordering without a serialization point.

    Read →6 sections10 min
  21. Causal Metadata for Geo-Replication: Saturn

    Saturn's separation of data from causal metadata: a tree of serializers that propagates a small label, and the trade-off between visibility latency and throughput.

    Read →6 sections9 min
  22. Capstone: Choosing a Replication and Ordering Design for a Workload

    Given a concrete workload, choose among consensus, certification, causal, shared-log, deterministic, and network-ordered designs, and defend the choice against its failure modes and costs.

    Read →6 sections11 min

Distributed Systems III

Part of the Computer Science curriculum.

Sort
1

Leader-Based Consensus in the Synchronous Model

Consensus when message delays are bounded: leader election by rounds, what a crash costs, the f+1 rounds lower bound, and why this simple world is the baseline asynchronous protocols are measured against.

2

Total-Order Broadcast Built on Consensus

Total-order broadcast as the abstraction replicated systems actually need, how it reduces to a sequence of consensus instances, and the conditions under which the two problems are equivalent.

3

Multi-Paxos: From One Decision to a Replicated Log

From single-decree Paxos to a replicated log: a stable leader, skipping phase 1 for later slots, filling gaps, and what the existing Paxos lesson left out on liveness.

4

Fast Paxos and Flexible Quorums

Fast Paxos and its fast path that skips the leader, with the larger quorums it pays for, then Flexible Paxos, which shows that only phase 1 and phase 2 quorums must intersect.

5

Reconfiguration: Changing Membership in Paxos and Raft

Changing the set of replicas without losing safety: configuration entries in the log, Raft's joint consensus and single-server changes, and the disjoint-majorities failure they prevent.

6

Failure Detectors

Unreliable failure detectors as defined by Chandra and Toueg, their completeness and accuracy classes, the weakest detector for consensus, and heartbeat-based and phi-accrual detectors in practice.

7

Group Membership and View Synchrony

Group membership as a sequence of agreed views, view-synchronous communication, and how the virtual synchrony model relates to consensus-based replication.

8

Causal Consistency

Causal consistency as a model between sequential consistency and PRAM, potential causality from happens-before, tracking dependencies with vector clocks and explicit metadata, and what the availability result usually cited for it actually proves.

9

Transactional Causal Consistency

Extending causal consistency to read-only and write transactions, causal snapshots, and what geo-replicated systems built on this model give up.

10

Replicating a Database: Eager vs Lazy, Primary-Copy vs Update-Everywhere, and Certification

The classic design space of database replication, eager versus lazy and primary-copy versus update-everywhere, and certification-based replication built on total-order broadcast.

11

Gossip and Epidemic Dissemination

Epidemic algorithms from the Xerox PARC work: push, pull, and push-pull gossip, how quickly a rumor spreads, and how anti-entropy and rumor mongering differ.

12

Unstructured P2P: Flooding, Super-Peers, and BitTorrent

Unstructured overlays: flooding and its cost, super-peers as a compromise, and how BitTorrent's tit-for-tat and rarest-first change the problem from search to dissemination.

13

Chord: A Ring DHT with Logarithmic Lookup

Chord's identifier ring, successors and finger tables, why a lookup takes a logarithmic number of hops, how stabilization repairs the ring, and where the original protocol fails under failures.

14

Kademlia and Pastry

Two DHTs that route by shared identifier digits or XOR distance: Kademlia's k-buckets and Pastry's routing table, and why parallel lookups and locality matter in practice.

15

Publish-Subscribe over a DHT

Building publish-subscribe on a structured overlay: topic-based dissemination trees as in Scribe, and how the design compares with a centralized broker.

16

The Shared Log Abstraction: CORFU, Tango, and vCorfu

The shared log as a primitive: CORFU's sequencer and client-driven replication over flash, Tango's replicated data structures on top of it, and vCorfu's materialized streams.

17

Scaling Shared Logs: Partial Order (FuzzyLog) and Replicate First, Order Later (Scalog)

Two ways past a single sequencer: FuzzyLog relaxes the total order into a partial order across colors, and Scalog replicates records first and orders them afterwards.

18

Stateful Serverless on Shared Logs: Boki and FlexLog

Using a shared log as the state substrate of serverless functions: Boki's log-based abstractions for workflows and transactions, and FlexLog's take on the same problem.

19

Low-Latency Shared Logs: LazyLog and SpecLog

Reducing the ordering latency of shared logs: LazyLog acknowledges appends before binding their position, which runs in the background and is enforced before a position can be read, and SpecLog lets consumers compute on a speculative order while external output waits for confirmation.

20

Deterministic Transactions: Calvin

Calvin's inversion of the usual order: agree on a global sequence of transactions first, then execute them deterministically at every replica, which removes two-phase commit from the path.

21

Network-Ordered Consensus: NOPaxos, Eris, and Hydra

Moving ordering into the network: NOPaxos's ordered unreliable multicast, Eris's in-network concurrency control for transactions, and Hydra's approach to network ordering without a serialization point.

22

Causal Metadata for Geo-Replication: Saturn

Saturn's separation of data from causal metadata: a tree of serializers that propagates a small label, and the trade-off between visibility latency and throughput.

23

Capstone: Choosing a Replication and Ordering Design for a Workload

Given a concrete workload, choose among consensus, certification, causal, shared-log, deterministic, and network-ordered designs, and defend the choice against its failure modes and costs.