Teaching assistants:
Grader: Changbin Liu (changbl 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 14 | Introduction | Chapter 1-2 | |
| Jan 21 | Processes, Threads
Code repository tutorial (Rafi and Sandy) |
Chapter 3 | Jan 26 | Concurrency I (thread models, semaphores) | Project 1 (due Feb 9) | Jan 28 | Concurrency II (semaphores)
One-lane bridge demo (Rafi) Project 1 discussion (Rafi and Sandy) |
Jan 30 | Concurrency III (monitors, condition variables) | Feb 2 | RPC, communication protocols | Chapter 4.1-4.2, 8.3.2 | Feb 4 | RMI, message queues | Chapter 4.3, 10.3 | Feb 9 | Naming, addresses, locations | Chapter 5 | Homework 1 (due Feb 18) | Feb 11 | Clock synchronization, logical clocks | Chapter 6.1-6.2 | Feb 16 | Logical clocks (continue) | Feb 18 | Mutual exclusion | Chapter 6.3 | Homework 2 (due Mar 2) | Feb 23 | Elections, Group communication | Chapter 6.5, Handout | Guest lecture (MQSeries) | Feb 25 | Group communication | Chapter 8.4 | Mar 2 | Midterm review | Mar 4 | Midterm | Mar 7-15 | Spring break | March 16 | Distributed commit, recovery | Chapter 8.4-8.5 | Mar 18 | Process resilience | Chapter 8.1-8.3 | Project 2 (due Apr 20) | Mar 23 | Fault Tolerance (continue), project 2 discussion | Mar 25 | Replication protocols | Chapter 7.1-7.5 | Mar 30 | Security in Distributed Systems I | Chapter 9 | Micah Sherr guest lecture | Apr 1 | Security in Distributed Systems II | Chapter 9 | Eric Cronin and Gaurav Shah guest lecture | Apr 6 | Replication protocols (continue) | Chapter 7.1-7.5 | Apr 8 | Distributed File Systems (NFS) | Chapter 11 | Apr 13 | Coda File System | [Coda] | Apr 15 | Google File System, MapReduce | [Cluster] [GFS] [MR] | Apr 20 | BigTable, Distributed hash tables | [BigTable] [Chord] | Apr 22 | Project 2 demos (Moore 207, 12 noon - 6pm) | Apr 27 | Amazon Dynamo | [Dynamo] | May 12 | Final |