Lectures
Lecture Schedule (may be updated as needed)
Week |
Date |
Topic |
Readings |
Assignments |
1 |
1/23 |
Course overview. Introduction to distributed systems. |
slides |
Homework 1 released. |
1 |
1/25 |
Internet architecture and principles |
slides |
|
2 |
1/30 |
Link layer: reliable transmission, Ethernet, 802.11. |
slides |
|
2 |
2/1 |
IP: Internet address management |
slides |
|
3 |
2/6 |
BGP: inter-domain routing |
slides |
|
3 |
2/8 |
TCP: reliable end-to-end transmission |
slides |
|
4 |
2/13 |
Peer-to-peer systems |
slides |
|
4 |
2/15 |
RPC: remote procedure calls |
slides |
project #1 due on 2/18 |
5 |
2/20 |
Midterm #1 |
|
|
5 |
2/22 |
Circumventing Internet censorship |
|
|
6 |
2/29 |
DNS: Domain Name System |
slides |
|
7 |
3/5 |
CDNs: content distribution |
slides |
|
7 |
3/7 |
MapReduce |
slides |
|
8 |
3/12 |
Spark |
slides |
|
8 |
3/14 |
Time in distributed systems |
slides |
|
9 |
3/19 |
State machine replication |
slides |
project #2 due |
9 |
3/21 |
Introduction to consensus |
slides |
|
10 |
3/26 |
Paxos |
slides |
|
10 |
3/28 |
Federated learning |
slides |
|
11 |
4/9 |
Raft |
slides |
|
11 |
4/9 |
Dynamo |
slides |
|
12 |
4/16 |
GFS |
slides |
project #3 due |
12 |
4/18 |
Chubby and BigTable |
slides |
|
13 |
4/25 |
Distributed commit |
slides |
|
14 |
4/30 |
Spanner |
slides |
|
14 |
5/2 |
Distributed systems for machine learning |
slides |
|