Schedule
NOTE: Topics/dates listed below are not set in stone. Some adjustments might be made over the course of the semester.
Week | Date | Topic | Slides/Readings | Assignment out | Assignment due |
---|---|---|---|---|---|
1 | Sep 1 | Introduction | |||
1 | Sep 3 | Communication 1, the Internet in a Day, day 1 | Additional Reading: Computer Networks ch1-3 | ||
2 | Sep 8 | Communication 2, the Internet in a Day, day 2 | P0 | ||
2 | Sep 9 & 12 | Recitation: P0 | |||
2 | Sep 10 | Communication 3, Classical synchronization + Go-style concurrency | Additional Resources: Chapter on Condition Variables from the Wisconsin OS book, for more information. Rob Pike - Go Concurrency Patterns. Kesden concurrency notes. | ||
3 | Sep 15 | Classical synchronization + Go-style concurrency | |||
3 | Sep 17 | Time Synchronization | Additional Resources: Tanenbaum 6.1-6.2 | HW1 | P0 |
3 | Sep 18 | P1 | |||
4 | Sep 22 | Distributed Mutual Exclusion | Additional Resources: Tanenbaum 6.3-6.4 | ||
4 | Sep 23 & 26 | Recitation: P1 part a | |||
4 | Sep 24 | Remote Procedure Calls, Distributed File Systems 1 | Additional Resources: Tanenbaum 4.2, and the RPC chapter from Heather's Distributed Programming book. See also the book chapters on AFS and NFS from the Wisconsin OS book. | ||
5 | Sep 29 | Distributed File Systems 2 | P1 - CKPT | ||
5 | Sep 30 | HW1 | |||
5 | Sep 30 & Oct 3 | Recitation: Debugging | |||
5 | Oct 1 | Concurrency Control (2PL, 2PC) 1 | Additional Resources: Tanenbaum 8.5 | ||
6 | Oct 6 | Concurrency Control (2PL, 2PC) 2; Logging and Crash Recovery 1 | Slides (Logging and Crash Recovery) Additional Resources: Tanenbaum 8.1, 8.6; Wikipedia Algorithms for Recovery and Isolation | HW2 | |
6 | Oct 7 & 10 | Recitation: P1 part b | |||
6 | Oct 8 | Logging and Crash Recovery 2 | |||
6 | Oct 10 | P1 - Part A | |||
7 | Oct 13 | Fault Tolerance & RAID | Additional Resources: Book chapter from the Wisconsin book. . | ||
7 | Oct 15 | Distributed Replication | Additional Resources: Tanenbaum Ch7 (p364-p370, p398-p401), Tanenbaum 8.2, Paxos Made Simple Paper | ||
8 | Oct 19 | HW2 | |||
8 | Oct 20 | Distributed databases (case study), Spanner, First Midterm Review | Slides (Spanner), Slides (Review) Additional Resources:Spanner paper. 2018 blog article. HN commentary about said blog article. Note regarding review slides: These are just a subset of the slides from the actual lectures. You should really look at the original lecture slides to prepare for the exam. | P1 - Part B | |
8 | Oct 22 | First Midterm Exam | |||
9 | Oct 26 | P2 | |||
9 | Oct 27 | Data center storage (GFS / HDFS) | Additional Resources: Read Sections 2.3-2.6, 3.1, 3.3, 5.1, 5.2 in the Google Filesystem paper. Optional GFS follow-up interview. | ||
9 | Oct 28 & 31 | Recitation: P2 | |||
9 | Oct 29 | Data-Intensive Computing and MapReduce/Hadoop | Additional Resources: Read Sections 3 and 4 in the MapReduce paper, it's pretty readable. | ||
10 | Nov 3 | In-memory cluster compute, Spark,Distributed ML | Additional Resources: Spark/RDD Paper, Helland on Immutability, further refs in slides, + slides from Heather's distributed ML course | HW3 | |
10 | Nov 5 | Distributed ML, Internet Content Delivery 1 (DNS) | |||
11 | Nov 9 | P2 - CKPT | |||
11 | Nov 10 | Internet Content Delivery 2 (CDN), Publish-Subscribe 1 | |||
11 | Nov 12 | Publish-Subscribe 2, Kafka, Virtualization 1 | Additional Resources: The book chapter on Virtual Machines from the Wisconsin OS book | HW3 | |
12 | Nov 17 | Virtualization 2, Scaling - 3-tier web service architecture 1 | P3 | P2 - Final | |
12 | Nov 18 & 21 | Recitation: P3 | |||
12 | Nov 19 | Scaling - 3-tier web service architecture 2, Security Protocols 1 | HW4 | ||
13 | Nov 24 | Security Protocols 2, Byzantine Fault tolerance 1 | Slides (security protocols 2) Slides (bft1) Additional Resources: An online lecture about BFT by Barbara Liskov, and the PBFT paper. Tanenbaum pages 449 - 460. Optional (fun) read James Mickens' Saddest Moment | ||
13 | Nov 26 | Thanksgiving Break | |||
14 | Dec 1 | Byzantine Fault Tolerance 2 | P3 - CKPT | ||
14 | Dec 3 | P2P networks, distributed ledgers, and blockchains | |||
15 | Dec 7 | HW4 | |||
15 | Dec 8 | Second Midterm Review | |||
15 | Dec 10 | Second Midterm Exam | |||
15 | Dec 11 | P3 - Final |