Teaching assistants:
Graders: Changbin Liu (changbl AT seas.upenn.edu), Anduo Wang (anduo AT seas.upenn.edu), Wenchao Zhou (wenchaoz AT seas.upenn.edu)
Course textbook:
Course pre-requisites:
Class participation will be graded based on regular class attendence, visibility on newsgroup, and contribution to group projects.
| Date | Topic | Reading | Remarks |
|---|---|---|---|
| Jan 12 | Introduction | Chapter 1-2 | |
| Jan 19 | Project 1 discussion, code repository tutorial, one-lane bridge demo | Geetika, Harjot, and Rafi guest lectures | Jan 24 | Processes, threads | Chapter 3 | Project 1 (due Feb 11) | Jan 26 | Concurrency (semaphores) | Jan 31 | RPC, communication protocols | Chapter 4.1-4.2, 8.3.2 | Feb 2 | Message queues | Chapter 4.3, 10.3 | Feb 7 | Name, addresses, locations | Chapter 5 | Feb 9 | Clock synchronization, logical clocks | Chapter 6.1-6.2 | Homework 1 (due Feb 18) | Feb 14 | Logical clocks (continue) | Feb 16 | Mutual exclusion, Elections | Chapter 6.3, 6.5 | Feb 21 | Group communication | Handout | Homework 2 (due Feb 28) | Feb 23 | Group communication, Project 1 recap | Geetika, Harjot, and Rafi discussions | Feb 28 | Midterm review | Mar 2 | Midterm | Mar 5-13 | Spring break | Mar 14 | Distributed commit, recovery | Chapter 8.4-8.5 | Project 2 (due Apr 16) | Mar 16 | Replication protocols | Chapter 7.1-7.5 | Mar 21 | Replication protocols (cont), project 2 discussion | Chapter 7.1-7.5 | Project 2 discussion by Geetika, Harjot, and Rafi. | Mar 23 | Process resilience | Chapter 8.1-8.3. [BGP] | Mar 28 | Fault Tolerance | Mar 30 | Real-time Scheduling | Guest lecture by Linh Phan | Apr 4 | Distributed File Systems (NFS and Coda) | Chapter 11, [Coda] | Apr 6 | Google File System, MapReduce | [Cluster] [GFS] | Apr 11 | MapReduce | [MR] | Apr 13 | MapReduce (cont), BigTable | [BigTable] [LATE] | Apr 18 | Distributed hash tables, Chord file system | [Chord] [CFS] | Homework 3 (due Apr 27) | Apr 20 | Chord file system, Amazon Dynamo | [Dynamo] | Apr 25 | Finals review |