Course Materials

Core concepts


Week 9 Slides: Replication and Fault Tolerance (3.4 MB)
The two generals problem
Blockchain, a solution to byzantine generals problem?
A complete history of Amazon outages
Video: Byzantine Fault Tolerance in Blockchain: A Binance Tutorial

Midterm Exam this week!

Week 10 Slides: Clocks & Synchronization (5.8 MB)
How NTP works?
G Manepali, Clocks and Causality - Ordering Events in Distributed Systems
Video: NASA' Clock Synchronization Techniques for Distributed Systems
Tutorial 6

Week 11 Slides: Dist Mutual Exclusion & Consensus Algorithms (4.6 MB)
A visual guide to understanding Raft.
Raft Github Repo
Paxos vs Raft: Have we reached consensus on distributed consensus?
Tutorial 7


Assignment 3: Posted on LMS


Week 12 Slides: Consistency and Distributed Transactions
2PC vs 3PC, a comparison
Eric Brewer, Spanner, TrueTime & The CAP Theorem
Adrian Booth: Designing Data Intensive Applications: Consistency with Linearizability
Video: CAP Theorem Explained in 5 minutes

Week 13 Slides: Distributed File Systems
Video: The enduring legacy of Google File System (GFS)
Dean Hildebrand, Denis Serenyi, "GFS++: Colossus under the hood"
P Macko and J Hennessey, "Survey of Distributed File System Design Choices", ACM Transactions on Storage, Vol 18, No 1, 2022.
Pan et. al., Navigating the Landscape of Distributed File Systems: Architectures, Implementations, and Considerations

Week 14 Slides: Security in Dist Systems
Securing distributed systems: A survey on access control techniques for cloud, blockchain, IoT and SDN
IBM Blockchain security

Platforms, Tools and applications

Apache Spark and its applications: Amazon AWS, IBM, Google, Microsoft.
Docker platform: docker.docs, IBM docker.
Kubernetes: Overview, Google K8s.
Spanner: Google’s Globally Distributed Database
Distributed Databases: HBase Amazon Hbase, IBM Hbase.
Apache Cassandra