This schedule and syllabus is subject to change. Assigned papers marked with an asterisk ('*') are optional, but will be presented in class by a selected student. All other assigned papers must be read by all students.
Date | Topics | Notes / Assignments | Readings | Presenter |
---|---|---|---|---|
Part 1: Introduction, system programming, and server design | ||||
Thu 09/17 | Course overview and introduction, system design |
Read only 2.1 (pages 7-10) of "Worse is Better" | Hints for Computer System Design, Worse is Better | |
Tue 09/22 | Managing concurrency - processes and threads |
type.c, minish.c, redirsh.c, pipesh.c | Scheduler Activations | |
Thu 09/24 | Managing concurrency - events |
libasync, Tame, Livelock Avoidance * | Wauck | |
Tue 09/29 | Scalable and fast servers |
Socket lecture notes [ppt, pdf] | Flash, OKWS * | Wang |
Part 2: Consistency and fault-tolerance | ||||
Thu 10/01 | Ordering, time, and versioning |
Lamport clocks, Tra * | Gopalan | |
Tue 10/06 | Primary-backup and two-phase commit |
Assignment 1 due - caching web proxy | Porcupine, Harp * | Wang |
Thu 10/08 | Consensus and coordination |
Optional - alternative Paxos description; Viewstamped replication. | Paxos, Eventual Consistency, Chubby * | Shue |
Tue 10/13 | SOSP Conference |
No class | ||
Thu 10/15 | Strong consistency against adversaries |
Assignment 2 due Friday - fork and pthreads | PBFT, SUNDR * | Feldman |
Tue 10/20 | Weakening consistency |
Only pages 1-32 of PBcast. ISIS ToCS paper. | ISIS, Bimodal multicast * | |
Wed 10/21 | Eventual consistency |
Class 11-12:30. | Bayou, Dynamo * | Harrison |
Part 3: Peer-to-peer systems | ||||
Tue 10/27 | Distributed Hash Tables |
Initial STOC paper on consistent hashing. For some practical challenges with deploying DHTs, see NTR. Assignment 3 due - select | Chord, Bamboo * | Shue |
Thu 10/29 | Content distribution |
CoralCDN, BitTyrant * | ||
Tue 11/03 | Fall recess |
No class. | ||
Thu 11/05 | Fall recess |
No class | ||
Tue 11/10 | Multicast and overlays |
Assignment 4 - libasync and/or Tame(r) | SplitStream, i3 * | Harrison |
Thu 11/12 | Privacy and anonymity |
Tor, Freenet * | Arye | |
Part 4: Advanced and distributed file systems | ||||
Tue 11/17 | Advanced file systems |
Project proposal due | XFS, Rethink the Sync * | Ali |
Thu 11/19 | Distributed file systems |
Zebra, Google FS * | Arye | |
Tue 11/24 | Semi-structured key-value stores |
BigTable, PNUTS * | Ilvento | |
Thu 11/26 | Thanksgiving recess |
No class | ||
Part 5: Data processing and cloud computing | ||||
Tue 12/01 | MapReduce |
MapReduce on EC2, Google Cluster Design | ||
Thu 12/03 | Parallel DBs |
MapReduce vs SQL, DryadLINQ * | Hung | |
Tue 12/08 | System monitoring and recovery |
Pip, MicroReboot * | Gopalan | |
Part 6: Virtualization and OS | ||||
Thu 12/10 | Virtual Memory |
UVM, ESX * | Ali | |
Tue 12/15 | Virtual Machines |
Optional - x86 HW/SW virtualization | Xen, Fido * | Hung |
Thu 12/17 | Advanced kernels and distributed OS |
Exokernel, Plan9 * | Wauck | |
Tue 01/12 | Final project reports due |
Dean's date |
Last updated: Tue Dec 15 20:46:16 -0500 2009