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 items:
- 45% Programing Projects (4)
- 5% Chord, 10% Tapestry, 10% Raft, 20% 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/28 | L1 - Introduction [-notes.pdf] [.pdf] [screencast] |
WhatsUp (optional assignment) due and Chord out | |
Tue 02/02 | L2 - Peer-to-Peer Part 1 [-notes.pdf] [.pdf] [screencast] |
Chapter 10 | |
Thu 02/04 | L3 - Peer-to-Peer Part 2 [-notes.pdf] [.pdf] [screencast] |
Chapter 10 | |
Tue 02/09 | L4 - Peer-to-Peer Part 3 [-notes.pdf] [.pdf] [screencast] |
Chapter 10 | |
Thu 02/11 | L5 - Comm (Networks) [-notes.pdf] [.pdf] [screencast] |
HW1 out | |
Tue 02/16 | L5 - Comm (Networks cont.) [-notes.pdf] [.pdf] [screencast] |
Chord due (11:59pm) | |
Thu 02/18 | L6 - Comm (RPC) [-notes.pdf] [.pdf] [screencast] |
HW1 due (11:59pm), Tapestry out | Chapter 5 |
Tue 02/23 | No Class |
Long Weekend | |
Thu 02/25 | L7 - Security [-notes.pdf] [.pdf] [screencast] |
Chapter 11 | |
Tue 03/01 | L8 - Security (cont.) [-notes.pdf] [.pdf] [screencast] |
Chapter 11 | |
Thu 03/03 | L9 - Time [-notes.pdf] [.pdf] [screencast] |
Tapestry due (11:59 pm) | Chapter 14 |
Tue 03/08 | L10 - Global State [-notes.pdf] [.pdf] [screencast] |
Chapter 14 | |
Wed 03/09 | |
HW2 out | |
Thu 03/10 | L11 - Raft [-notes.pdf] [.pdf] |
Chapter 15 | |
Tue 03/15 | L11 - Raft (cont.) |
||
Wed 03/16 | |
HW2 due (11:59pm) | |
Thu 03/17 | L12 - Debugging [.pdf] |
Colouris 14.6 | |
Tue 03/22 | L13 - Gossip [-notes.pdf] [.pdf] [screencast] |
||
Tue 03/22 | Midterm |
At 7PM and on material up to L11 | |
Thu 03/24 | L14/15 - Bayou/Distributed File Systems I [-notes.pdf] [.pdf] [-notes.pdf] [.pdf] [screencast] |
Raft out | |
Tue 03/29 | No Class |
Spring Break | |
Thu 03/31 | No Class |
Spring Break | |
Tue 04/05 | L16 - Distributed File Systems II [-notes.pdf] [.pdf] [screencast] |
||
Thu 04/07 | L17 - Google [-notes.pdf] [.pdf] [screencast] |
HW3 out | |
Tue 04/12 | L18 - Distributed Transactions [-notes.pdf] [.pdf] [screencast] |
Puddlestore out | |
Thu 04/14 | L19 - Byzantine Consensus [-notes.pdf] [.pdf] [screencast] |
Raft due (11:59 pm) | |
Tue 04/19 | L20 - Final Project (PuddleStore) Discussion [-notes.pdf] [.pdf] [screencast] |
Puddlestore slides HW3 due (11:59 pm) | Puddlestore Handout |
Thu 04/21 | L21/22 - Practical Consensus/Self Stable [-notes.pdf] [.pdf] [-notes.pdf] [.pdf] [screencast] |
||
Tue 04/26 | L23 - Dynamo [-notes.pdf] [.pdf] [screencast] |
||
Thu 04/28 | L24 - ZooKeeper [-notes.pdf] [.pdf] [screencast] |
HW4 out | |
Sat 05/07 | No class |
HW4 due (11:59pm) | |
Mon 05/09 | No class |
PuddleStore due (11:59pm) | |
Wed 05/18 | Final exam |
2PM |