CS 417 Documents

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
Web services - slides
Remote Procedure Calls — lecture notes
Remote Procedure Calls case studies — lecture notes
Remote Procedure Calls — terms
Week 3. 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
Chubby - slides
Chubby - notes
Mutex,election,consensus,Chubby - terms
Week 6. Network attached storage (NAS) - slides
NAS case studies: NFS - slides
NAS case studies: AFS, DFS, Coda, SMB - slides
Network attached storage - notes
Parallel file systems: GFS - slides
Parallel file systems - notes
Network attached storage - terms
Week 7. Spring break
Week 8. MapReduce - slides
MapReduce - notes
BSP, Pregel - slides
BSP, Pregel - notes
Spark - slides
Spark - notes
Week 9. Distributed lookup services - slides
Distributed lookup services - notes
Amazon Dynamo - slides
Amazon Dynamo - notes
Bigtable - slides
Bigtable - notes
DNS - slides
DNS - notes
Week 10. Distributed transactions - slides
Three-phase commit, CAP theorem - slides
Distributed transactions - notes
Concurrency control - slides
Concurrency control - notes
Distributed deadlock - slides
Distributed deadlock - notes
Spanner - slides
Google Spanner - notes
Transactions - terms
Week 11. Content Delivery Networks - slides
Content Delivery Networks - notes
Peer-to-peer content delivery - slides
Peer-to-peer content delivery - notes
Messaging: Kafka - slides
Messaging: Kafka - notes
Caching - slides
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 - notes
Clusters - slides
Week 14. Engineering distributed systems - slides
Last modified April 21, 2021.
recycled pixels