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 09/01 yuvraj Introduction
[pdf] [pptx]
1.1, 1.2
Thu 09/03 srini Communication 1, the Internet in a Day, day 1
[pdf] [ppt]
4.1, 4.4
Tue 09/08 srini Communication 2, the Internet in a Day, day 2
Thu 09/10 joshua Go!
Code available on GitHub. HW1 release date.
Tue 09/15 yuvraj Consistency - Classical synchronization + Go-style synchronization
[txt]
Code available on GitHub. P0 release date. Kesden concurrency notes
Thu 09/17 srini Remote Procedure Calls
[pdf] [ppt]
Tanenbaum 4.1-4.2
Tue 09/22 yuvraj Distributed Filesystems
[pdf] [ppt]
Tanenbaum 11.1-11.4
Thu 09/24 yuvraj Distributed Filesystems 2 - AFS, Coda, callbacks
[pdf] [ppt]
P0 due (Midnight EST) CODA paper. Tanenbaum 11.5, 11.6
Tue 09/29 srini Time and Synchronization
[pdf] [ppt]
HW1 due, P1 released. P0 solution and GO style covered in extra section today. Tanenbaum 6.1-6.2
Thu 10/01 srini Distributed Mutual Exclusion
[pdf] [pptx]
Tanenbaum 6.3
Tue 10/06 yuvraj Concurrency Control
[ppt]
HW2 released Tanenbaum 8.5
Thu 10/08 yuvraj Logging and Crash Recovery
[ppt]
Wikipedia Algorithms for Recovery and Isolation. Tanenbaum 8.6
Tue 10/13 srini Fault Tolerance - Detecting and Correcting Local Faults
[pdf] [ppt]
Thu 10/15 srini RAID
[pdf] [ppt]
See also the book chapter from the Wisconsin book. HW2 due on 10/15. P1 due on 10/16.
Mon 10/19 srini & yuvraj Midterm Review
[ppt]
4:30-6:30 in Rashid Auditorium in GHC
Tue 10/20 MIDTERM EXAM
Thu 10/22 yuvraj Distributed Replication
[pptx]
Check out RAFT consensus algorithm and a nice Vizualization of how it works!
Tue 10/27 yuvraj, srini, Course Staff Project 3 Discussed in Class, Mid-term return, Group Formation for P2
Slides and FAQ on Piazza @702
Thu 10/29 yuvraj Data-Intensive Computing and MapReduce/Hadoop
[pptx]
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.
Tue 11/03 srini Distributed Filesystems for MapReduce / HDFS
[ppt]
Read the Google Filesystem. Optional GFS follow-up interview.
Thu 11/05 srini BigTable, Consistent hashing and name-by-hash
[pptx]
Tue 11/10 srini DNS and Content Delivery Networks
[ppt]
Cheat sheet on using and interpreting dig Tanenbaum 5.3.3-5.3.4
Thu 11/12 srini Peer-to-Peer
[ppt]
Tanenbaum 5.2.3
Fri 11/13
P2 due
Tue 11/17 yuvraj Virtual Machines
[ppt]
HW3 due, HW4 released Tanenbaum 3.2
Thu 11/19 TAs p3 Introduction
Tue 11/24 No Class, Early Thanksgiving
Thu 11/26 No Class, Thanksgiving
Tue 12/01 srini Byzantine Fault Tolerance
[ppt]
See also an online lecture about BFT by Barbara Liskov
Thu 12/03 yuvraj Security Protocols
[pptx]
See wikipedia entry for needham-schroeder and wikipedia entry for Diffie-Hellman. Tanenbaum 9.1-9.2, 9.4.1
Tue 12/08 yuvraj Case Study - Anonymous Routing and TOR
[pptx]
TOR paper and one tor presentation.
Thu 12/10 yuvraj & srini Course Review and Project Demos
HW4 due
Thu 12/10
P3 due
Tue 12/15 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: 2015-12-11 15:33:19 -0500 [validate xhtml]