O you possessed of sturdy intellects, observe the teaching that is hidden here beneath the veil of verses so obscure.
— Dante Alighieri, Inferno IX:61–63, trans. A. Mandelbaum

This page contains links to lecture notes, in-class lecture slides, and related reading material. Lecture slides are in Adobe PDF format. You probably already have something that reads PDF files. If you don’t have a PDF reader for your platform, you can get one for free for Windows or Android. You don’t need one for macOS since Preview can render PDF files. You also don’t need one for the iPhone or iPad. If you’re using an Android platform and don’t have a PDF viewer installed, you can download the Google PDF Viewer, Adobe Acrobat, or any of dozens of other viewers.

Please let me know if you find any errors or unclear wording. Any corrections will be most appreciated.

Lecture notes

Week Title
Week 1. About the class
Introduction - slides
Introduction - lecture notes
Introduction - terms
Networking - slides
Networking - lecture notes
Networking - terms
Week 2. Remote procedure calls - slides
Data encoding - slides
RPC case studies - slides
Remote Procedure Calls — lecture notes
Remote Procedure Calls case studies — lecture notes
Remote Procedure Calls — terms
Remote Procedure Calls — demo code
Week 3. Web services - slides
Web services - lecture notes
Clock synchronization - slides
Clock synchronization - notes
Precision Time Protocol - notes
Logical clocks - slides
Logical clocks - notes
Clocks – terms
Week 4. Group communication - slides
Group communication - notes
IP multicast - slides
Virtual synchrony - slides
Virtual synchrony - notes
Group communication – terms
Week 5. Mutual exclustion - slides
Mutual exclustion - notes
Leader election - slides
Leader election - notes
Consensus: Raft - lecture notes
Consensus: Raft - slides
Mutex,election,consensus - terms
Week 6. Chubby - slides
Chubby - notes
Network attached storage (NAS) - slides
NAS case studies: NFS - slides
NAS case studies: AFS, Coda, SMB - slides
Network attached storage - notes
Week 7. Parallel file systems: GFS - slides
Parallel file systems - notes
Network attached storage - terms
Distributed lookup services - slides
Distributed lookup services - notes
Amazon Dynamo - slides
Amazon Dynamo - notes
DNS - slides
DNS - notes
Week 8. Distributed transactions - slides
Distributed transactions - notes
Three-phase commit, CAP theorem - slides
Concurrency control - slides
Concurrency control - notes
Distributed deadlock - slides
Distributed deadlock - notes
Transactions - terms
Week 9 Bigtable - slides
Bigtable - notes
Cassandra - slides
Cassandra - notes
Spanner - slides
Spanner - annotated slides
Google Spanner - notes
Week 10 MapReduce - slides
MapReduce - notes
BSP, Pregel - slides
BSP, Pregel - notes
Week 11. Spark - slides
Spark - notes
Messaging: Kafka - slides
Messaging: Kafka - notes
Content Delivery Networks - slides
Content Delivery Networks - notes
BitTorrent - slides
BitTorrent - notes
Content delivery - terms
Week 12. Security: cryptography - slides
Security: cryptography and integrity - notes
Security: integrity - slides
Security: authentication - slides
Security: authentication - notes
Security: OAuth - notes
Week 13 Google Cluster Archtecture - slides
Google Cluster Archtecture - paper
HA Clusters - slides
HPC Clusters - slides
Clusters - notes
Week 15. Engineering distributed systems - slides
Last modified November 21, 2023.
recycled pixels