15-440: Distributed Systems Syllabus


Distributed Systems: Principles and Paradigms
Andrew S. Tanenbaum & Maarten Van Steen
Published by Pearson, ISBN 0-13-239227-5, 2nd edition.

The lecture notes will be available after each lecture to assist with studying -- please read them as they often contain material that goes beyond just what we covered in lecture! For supplemental reading in particular areas, you may find one of the following texts, available from the library, helpful:


Your final grade for the course will be based on the following weights for the components of the course. The weights of the individual projects will vary slightly by the difficulty of the project:

The midterms will be in-class, closed-book exams. While they may cover all material to that point in the class, their content will emphasize the material covered since the previous exam. The final exam will be a closed-book exam, covering material from the whole semester, with slight emphasis on material covered since the last midterm.

For more information about the project component, see the assignments page.

The homework will combine both textbook-like questions as well as hands-on experimental exercises. There will be three homework assignments.

Because of the importance of understanding both the theoretical and hands-on elements of systems, students must pass all three components of the course (homeworks, exams, and the projects) in order to receive a passing grade for the course. This does not affect the actual letter grade assignment unless one of the components is not completed to a passing standard.


Date Instructor Topics Notes Readings
Tue 08/30 yuvraj Introduction
1.1, 1.2
Thu 09/01 srini Communication 1, the Internet in a Day, day 1
[pdf] [ppt]
4.1, 4.4
Tue 09/06 srini Communication 2, the Internet in a Day, day 2
Thu 09/08 yuvraj Consistency - Classical synchronization + Go-style concurrency
Kesden concurrency notes
Mon 09/12 Go! and P0 overview
Code available on GitHub. P0 and HW1 release date. Go-P0 recitation slides
Tue 09/13 srini Remote Procedure Calls
[pdf] [ppt]
Tanenbaum 4.1-4.2
Thu 09/15 srini Distributed Filesystems
[pdf] [ppt]
See also the book chapters on AFS and NFS from the Wisconsin OS book. Tanenbaum 11.1-11.4
Mon 09/19 P0 Help
Code available on GitHub.
Tue 09/20 yuvraj Distributed Filesystems 2 - AFS, Coda, callbacks
CODA paper. Tanenbaum 11.5, 11.6
Thu 09/22 srini Time and Synchronization
[pdf] [ppt]
P0 due (Midnight EST) Tanenbaum 6.1-6.2
Mon 09/26 P0 Post-mortem and P1 Overview
P1 released.i P1 recitation slides
Tue 09/27 srini Distributed Mutual Exclusion
[pdf] [pptx]
HW1 due Tanenbaum 6.3
Thu 09/29 yuvraj Concurrency Control
HW2 released Tanenbaum 8.5
Tue 10/04 yuvraj Logging and Crash Recovery
P1 Checkpoint due. Wikipedia Algorithms for Recovery and Isolation. Tanenbaum 8.6
Thu 10/06 yuvraj Distributed Replication
Further reading for PAXOS. Also check out the RAFT consensus algorithm and a nice Vizualization of how it works! Tanenbaum 7.2.2, 7.5.2
Tue 10/11 saurabh GFS / HDFS / Spanner
[pdf] [pptx]
Read the Google Filesystem. Optional GFS follow-up interview.
Thu 10/13 srini & yuvraj Midterm Review
HW2 due. P1 Part A due.
Thu 10/20 srini Fault Tolerance - Detecting and Correcting Local Faults
[pdf] [pptx]
Tue 10/25 yuvraj, srini Midterm exam return, DNS
[pdf] [ppt]
Cheat sheet on using and interpreting dig
Thu 10/27 srini Consistent hashing and name-by-hash
[pdf] [pptx]
Mon 10/31 P2 intro
Code available on GitHub. P2 recitation slides
Tue 11/01 srini Content Delivery Networks
[pdf] [pptx]
Tanenbaum 5.3.3-5.3.4
Thu 11/03 srini Peer-to-Peer
[pdf] [ppt]
Tanenbaum 5.2.3
Mon 11/07 P2 second half overview
Tue 11/08 yuvraj Data-Intensive Computing and MapReduce/Hadoop
For more info, see the MapReduce paper, it's pretty readable. You might want to examine the Hadoop code for Word Count and Matrix multiplication.
Thu 11/10 yuvraj Virtual Machines
See also the book chapter on Virtual Machines from the Wisconsin OS book.
Mon 11/14 No recitation
Tue 11/15 srini RAID
[pdf] [ppt]
P2 due, See also the book chapter from the Wisconsin book. P3 released on 11/16
Thu 11/17 srini Byzantine Fault Tolerance
[pdf] [ppt]
See also an online lecture about BFT by Barbara Liskov
Mon 11/21 P2 post-mortem and P3 overview
Tue 11/22 No Class, Early Thanksgiving
P3 Checkpoint due 11/23
Thu 11/24 No Class, Thanksgiving
Tue 11/29 yuvraj Security Protocols
See wikipedia entry for needham-schroeder and wikipedia entry for Diffie-Hellman. Tanenbaum 9.1-9.2, 9.4.1
Thu 12/01 yuvraj Security II, Case Study - Anonymous Routing and TOR
P3 Final test due, TOR paper and one tor presentation.
Tue 12/06 yuvraj & srini Final Review (Part I)
Final Review, Part II Slides
Thu 12/08 No Class, Early Exam Break
P3 Application Layer due 12/9. Demo dates TBD.
Thu 12/15 FINAL EXAM - 1:00pm-2:30pm - room CUC McConomy

As mentioned in class about the link to Amazon: David Andersen is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to amazon.com.

Last updated: 2016-12-14 11:00:09 -0500 [validate xhtml]