15-440: Distributed Systems Syllabus


Text: No mandatory text for this class

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, please consult one of the following texts:


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.


Also available as an ical file that you can subscribe to.

Date Instructor Topics Notes Readings
Tue 08/24 dga Introduction
[pdf] [key]
Thu 08/26 dga Communication 1, the Internet in a Day, day 1
[pdf] [key]
Tue 08/31 dga Communication 2, the Internet in a Day, day 2
[pdf] [key]
Thu 09/02 dga Processes, Tasks, Threads, Abstraction
[pdf] [key]
Tue 09/07 dga Remote Procedure Calls
[pdf] [key]
HW1 released on 9/8, due 9/15
Thu 09/09 dga Local consistency - locking, race conditions, etc.
See also Ted Faber's Dining Philosopher Notes Kesden concurrency notes
Tue 09/14 dga Mutexes and Condition Variables and Atomic Instructions
See Remzi's cond vars lecture notes.
Thu 09/16 dga Distributed Filesystems
[pdf] [key]
Tue 09/21 dga Distributed Filesystems 2 - AFS, Coda, callbacks
[pdf] [key]
Thu 09/23 dga Time and Synchronization
Tue 09/28 dga Distributed Mutual Exclusion
Thu 09/30 dga Fault Tolerance 1 - Detecting and Correcting Local Faults
[pdf] [key]
Tue 10/05 dga RAID
Lecture notes.
Thu 10/07 dga Concurrency Control
Tue 10/12 dga MIDTERM EXAM
Thu 10/14 dga Logging and Crash Recovery
Tue 10/19 dga Distributed Replication
[pdf] [key]
Thu 10/21 dga Data-Intensive Computing and MapReduce/Hadoop
[pdf] [key]
For more info, see the MapReduce paper, it's pretty readable. For more, see their follow-on work on incremental processing, percolator [pdf].
Tue 10/26 dga Distributed Filesystems for MapReduce / HDFS
Read the Google Filesystem. Optional GFS follow-up interview.
Thu 10/28 dga Consistent hashing and name-by-hash
No notes; see p2p lecture for consistent hashing.
Tue 11/02 dga Peer-to-Peer
Thu 11/04 dga DNS and Content Delivery Networks
Tue 11/09 dga Security in Distributed Systems 1 - The Crypto Building Blocks
[pdf] [key]
Thu 11/11 dga Security in Distributed Systems 2 - The Systems
[pdf] [key]
See wikipedia entry for needham-schroeder.
Tue 11/16 dga No Class
Thu 11/18 dga Case Study - Anonymous Routing and TOR
tor paper and one tor presentation.
Tue 11/23 dga Virtual Machines
Two sets of slides. slides 1 and slides 2.
Thu 11/25 Thanksgiving Holiday
Fri 11/26 Thanksgiving Holiday
Tue 11/30 dga Byzantine Fault Tolerance
[pdf] [key]
Thu 12/02 TAs Course Review
Fri 12/10 dga FINAL EXAM. 1pm - 4pm, Wean Hall 7500.

Last updated: Wed Dec 01 22:29:04 -0500 2010 [validate xhtml]