Skip to main content
← Teaching

Teaching

Distributed Systems — Hilary Term 2024

15 January 2024

Role: Graduate Teaching Assistant
Course: Distributed Systems (MSc Computer Science)
Term: Spring Term 2024
Format: Eight weekly tutorials (groups of 4–6 students)

Topics covered

  1. Time and ordering — logical clocks, vector clocks, causality
  2. Replication — primary-backup, chain replication, quorum systems
  3. Consensus — Paxos, Raft, and the FLP impossibility result
  4. Fault models — crash-stop, crash-recovery, Byzantine failures
  5. Consistency models — linearisability, sequential consistency, eventual consistency
  6. Distributed transactions — two-phase commit, saga pattern
  7. Scalability — sharding, consistent hashing, load balancing
  8. Real systems — case studies from DynamoDB, Spanner, and Kafka

Materials

Problem sheets and reading lists are distributed via the department’s course page. I am happy to share my tutorial preparation notes on request.