15-440: Distributed Systems Syllabus

Textbook

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:

Grading

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.

Schedule

Date Instructor Topics Notes Readings
Tue 01/14 dga Introduction
[pdf] [key.zip]
1.1, 1.2
Thu 01/16 srini Communication 1, the Internet in a Day, day 1
[pdf] [ppt]
Chapter 2.1
Tue 01/21 srini Communication 2, the Internet in a Day, day 2
[pdf] [ppt]
Thu 01/23 dga Go!
[pdf]
Code available on GitHub.
Tue 01/28 dga Consistency - Classical synchronization + Go-style synchronization
[txt]
Code available on GitHub. Kesden concurrency notes
Thu 01/30 srini Remote Procedure Calls
[pdf] [ppt]
Tanenbaum 4.1-4.2
Tue 02/04 srini Distributed Filesystems
[pdf] [ppt]
Thu 02/06 srini Distributed Filesystems 2 - AFS, Coda, callbacks
[pdf] [ppt]
Tue 02/11 srini Time and Synchronization
[pdf] [ppt]
Tanenbaum 6.1-6.2
Thu 02/13 dga Distributed Mutual Exclusion
[pdf] [txt]
Tanenbaum 6.3
Tue 02/18 srini Fault Tolerance - Detecting and Correcting Local Faults
[pdf] [ppt]
Thu 02/20 dga Concurrency Control
[txt]
Tanenbaum 8.5
Tue 02/25 srini RAID
[pdf] [ppt]
See also the book chapter from the Wisconsin book.
Thu 02/27 dga Logging and Crash Recovery
[txt]
Tanenbaum 8.6
Tue 03/04 srini Consistent hashing and name-by-hash
[pdf] [ppt]
Thu 03/06 MIDTERM EXAM
Tue 03/11 No Class, Spring Break
Thu 03/13 No Class, Spring Break
Tue 03/18 dga Distributed Replication
[pdf]
Thu 03/20 dga Distributed Replication (continued)
Tue 03/25 dga Data-Intensive Computing and MapReduce/Hadoop
[pdf]
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 03/27 dga Distributed Filesystems for MapReduce / HDFS
[pdf]
Read the Google Filesystem. Optional GFS follow-up interview.
Tue 04/01 srini DNS and Content Delivery Networks
[pdf] [ppt] [pptx]
Cheat sheet on using and interpreting dig Tanenbaum 5.3.3-5.3.4
Thu 04/03 srini Peer-to-Peer
[pdf] [ppt]
Tanenbaum 5.2.3
Tue 04/08 dga Virtual Machines
[pdf]
Tanenbaum 3.2
Thu 04/10 No Class, Spring Carnival
Tue 04/15 dga Byzantine Fault Tolerance
[pdf]
See also an online lecture about BFT by Barbara Liskov
Thu 04/17 srini Security Protocols
[pdf] [ppt] [pptx]
See wikipedia entry for needham-schroeder and wikipedia entry for Diffie-Hellman. Tanenbaum 9.1-9.2, 9.4.1
Tue 04/22 srini Case Study - Anonymous Routing and TOR
[pdf] [ppt] [pptx]
TOR paper and one tor presentation.
Thu 04/24 Iulian ePaxos Guest Lecture
Tue 04/29 No class - meet with course staff
Thu 05/01 dga & srini Course Review and Project Demos
Mon 05/05 FINAL EXAM

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: 2014-05-04 14:06:34 -0400 [validate xhtml]