Textbooks
You can follow the content of the course using Distributed Systems: Concepts and Design (5th Edition)
We will indicate besides each lecture below which sections of the textbook correspond to the lecture.Programming Help
- Effective Go
- A Tour of Go
- Introduction to Asynchronous Programming
- Programming Go in Vim, Emacs, Sublime and Eclipse
- Gotags for editors with ctags support
- Profiling Go Programs
- Checking Test Coverage in Go
Grading
Your final grade for the course will be based on the following weights:
- 45% Programing Projects (4)
- Chord, Tapestry, Raft, PuddleStore
- 15% Homeworks (4)
- 15% Midterm Exam
- 25% Final Exam
The four written homework assignments will all be done individually. The zeroth program, Whatsup, will also be done individually, while the remaining programs will be completed in groups of two (2).
Schedule
Date | Topics | Notes | Readings |
---|---|---|---|
Thu 01/22 | L1 - Introduction |
WhatsUp (optional assignment) due and Chord out | |
Tue 01/27 | Snow Day |
||
Thu 01/29 | L2 - Peer-to-Peer Part 1 [-notes.pdf] [.pdf] |
Chapter 10 | |
Tue 02/03 | L3 - Peer-to-Peer Part 2 [-notes.pdf] [.pdf] [screencast] |
Chapter 10 | |
Thu 02/05 | L4 - Peer-to-Peer Part 3 [-notes.pdf] [.pdf] [screencast] |
Chord due (11:59pm) | Chapter 10 |
Tue 02/10 | L5 - Comm (Networks) [-notes.pdf] [.pdf] [screencast] |
||
Thu 02/12 | L6 - Comm (RPC) [-notes.pdf] [.pdf] |
HW1 and Tapestry out | Chapter 5 |
Tue 02/17 | No Class |
Long Weekend | |
Thu 02/19 | L7 - Security (Jeff Rasley) [-notes.pdf] [.pdf] |
HW1 due (11:59pm) | Chapter 11 |
Tue 02/24 | Guest Lecture - Shibolleth |
Steven Carmody, IT Architect, Brown | |
Thu 02/26 | L8 - Security (cont.) [-notes.pdf] [.pdf] |
Tapestry due (11:59pm) | Chapter 11 |
Tue 03/03 | L9 - Time [-notes.pdf] [.pdf] |
Chapter 14 | |
Thu 03/05 | L10 - Global State [-notes.pdf] [.pdf] |
HW2 out | Chapter 14 |
Tue 03/10 | L11 - Raft [-notes.pdf] [.pdf] |
Chapter 15 | |
Thu 03/12 | L11 - Raft (cont.) |
HW2 due (11:59pm) | |
Mon 03/16 | Midterm Review |
Room 368, 5:30PM | |
Tue 03/17 | L12 - Gossip [-notes.pdf] [.pdf] [screencast] |
Raft out | |
Tue 03/17 | Midterm |
At 7PM and on material up to L11 | |
Thu 03/19 | L13/14 - Bayou/Distributed File Systems I [-notes.pdf] [.pdf] [screencast][-notes.pdf] [.pdf] |
||
Sat 03/21 | |
Raft out | |
Tue 03/24 | No Class |
Spring Break | |
Thu 03/26 | No Class |
Spring Break | |
Tue 03/31 | L15 - Distributed File Systems II [-notes.pdf] [.pdf] [screencast] |
||
Thu 04/02 | L16 - Google [-notes.pdf] [.pdf] [screencast] |
HW3 out | |
Tue 04/07 | L17 - Distributed Transactions [-notes.pdf] [.pdf] [screencast] |
||
Thu 04/09 | L18/19 - Spanner [-notes.pdf] [.pdf] |
Puddlestore Handout | |
Mon 04/13 | |
HW3 due | |
Tue 04/14 | L19 - Final Project (PuddleStore) Discussion [.pdf] |
||
Thu 04/16 | L20/21 - Practical Consensus/Self Stable [-notes.pdf] [.pdf] [screencast][-notes.pdf] [.pdf] |
Raft due (11:59pm) and PuddleStore out | |
Tue 04/21 | L22 - Dynamo [-notes.pdf] [.pdf] [screencast] |
||
Thu 04/23 | L23 - ZooKeeper [-notes.pdf] [.pdf] [screencast] |
||
Tue 04/28 | |
Make up day because of snow day (maybe) | |
Thu 04/30 | No class |
HW4 out | |
Thu 05/07 | No class |
PuddleStore and HW4 due (11:59pm) | |
Thu 05/14 | Final exam |
2PM |