/DistributedSystemNotes

Notes on Lindsey Kuper's lectures on Distributed Systems

Distributed Systems

Notes on YouTube lectures given by Lindsey Kuper, Assistant Professor of Computing as UCSC

Please excuse cases where I might have given a poor summary of something Lindsey was saying — I'm a student here...

There are no notes for lecture 1 as this was concerned with course administration and logistics.

Date Description Subjects Recapped
Lecture 2
April 1st, 2020
Distributed Systems: What and why?
Time and clocks
Lecture 3
April 3rd, 2020
Lamport diagrams
Causality and happens-before
Network models
State and events
Partial orders
Lecture 4
April 6th, 2020
Total orders and Lamport clocks Partial orders
Happens-before
Lecture 5
April 8th, 2020
Vector clocks
Protocol runs and anomalies
Delivery vs. Receiving
FIFO delivery
Lamport Clocks
Lecture 6
April 10th, 2020
Causal delivery
Totally-ordered delivery
Implementing FIFO delivery
Preview of implementing causal broadcast
Delivery vs. receiving
FIFO delivery
Lecture 7
April 13th, 2020
Implementing causal broadcast
Uses of causality in distributed systems
Consistent snapshots
Preview of Chandy-Lamport snapshot algorithm
Causal anomalies and vector clocks
Lecture 8
April 15th, 2020
Chandy-Lamport Snapshot Algorithm
Lecture 9
April 17th, 2020
Chandy-Lamport wrap-up: limitations, assumptions and properties
Uses of snapshots
Centralized vs. decentralized algorithms
Safety and liveness
Delivery guarantees and protocols
Lecture 10
April 20th, 2020
Reliable delivery
Fault classification and fault models
The Two Generals problem
Safety and liveness
Lecture 11
April 22nd, 2020
Implementing reliable delivery
Idempotence
At-least-once/at-most-once/exactly-once delivery
Unicast/Broadcast/Multicast
Reliable broadcast
Implementing reliable broadcast
Preview of replication
Lecture 12
April 24th, 2020
Replication
Total order vs. determinism
Consistency models: FIFO, causal and strong
Primary-backup replication
Chain replication
Latency and throughput
Lecture 13
April 27th, 2020
Pause for breath!
Wrapping up replication techniques
Lecture 14
May 1st, 2020
Handling node failure in replication protocols
Introduction to consensus
Problems equivalent to consensus
The FLP result
Introduction to Paxos
Strongly consistent replication protocols
Lecture 15
May 4th, 2020
Paxos: the interesting parts
Lecture 16
May 6th, 2020
Paxos wrap-up: Non-termination, Multi-Paxos, Fault tolerance
Other consensus protocols: Viewstamped Replication, Zab, Raft
Passive vs. Active (state machine) replication
Lecture 17
May 8th, 2020
Eventual consistency
Strong convergence and strong eventual consistency
Introduction to application-specific conflict resolution
Network partitions
Availability
The consistency/availability trade-off