This schedule and syllabus is subject to change. See below for presentation instructions.
Date | Topics | Notes / Assignments | Readings | |
---|---|---|---|---|
Part 1: Systems organization and naming | ||||
Thu 09/15 | Course overview and introduction |
|||
Tue 09/20 | Principles of system design |
Read Chapter 1 | ||
Thu 09/22 | Principles of system design (discussion) |
Read all three papers, but only section 2.1 of "Worse is Better" | Hints for Computer System Design, Worse is Better, You and Your Research | |
Tue 09/27 | System organization and naming |
Read Chapter 2.1, 2.2, 2.5. Optional paper on XFS. | ||
Thu 09/29 | System organization and naming (discussion) |
Sign up to read one of the three papers by 9/23 | AFS, Exokernel, Plan9 | |
Tue 10/04 | Naming |
Read Chapter 3 and Saltzer paper (Vivek Pai guest lecture) | Saltzer End-to-End | |
Fri 10/07 | Naming in systems (discussion) |
Sign up to read one of the four papers by 9/30. Class at 3:00-4:20pm | SFS, UIA, INS, i3 | |
Part 2: Communication and Concurrency | ||||
Tue 10/11 | Client/server and RPC |
Read 4.0, 4.2, 4.3, 5.1, Optional paper Birrell '84 on initial RPC design considerations. Class will include "pitches" by other grad students for potential course projects. | ||
Thu 10/13 | Client/server and RPC (discussion) |
Scheduler Activations, Livelock Avoidance, Flash | ||
Tue 10/18 | Threads and virtualization |
Read 5.5 through 5.8 and Hauser paper. Optional libasync tutorial. | Hauser Threads | |
Thu 10/20 | Threads and virtualization (discussion) |
IO Lite, ESX, Fido | ||
Tue 10/25 | Designing for performance |
Read 6.1, 6.2.1 - 6.2.5, 6.3 and Fbufs paper (Vivek Pai guest lecture) | Fbufs | |
Fri 10/28 | Designing for performance - Concurrency (discussion) |
Class at 12:30-1:50pm in room 302 | Tame, SEDA, libasync-MP | |
Tue 11/01 | Fall recess |
No class. | ||
Thu 11/03 | Fall recess |
No class. | ||
Part 3: Distributed Systems and Consistency | ||||
Tue 11/08 | Fault tolerance |
Chapter 8 and System R paper | System R | |
Thu 11/10 | Atomicity and concurrency control |
Chapter 9 and one of other papers | RAID, Harp, Walter | |
Thu 11/17 | Ordering and consistency models |
Lamport paper | Lamport clocks | |
Fri 11/18 | Strong consistency (discussion) |
Chapter 10 and one of other papers. Class at 3-4:20pm in room 302. | Chubby, MegaStore, CRAQ | |
Tue 11/22 | Weakening consistency (discussion) |
Read Vogel's Eventual Consistency paper, then one of others | COPS, PNUTS, Dynamo | |
Thu 11/24 | Thanksgiving recess |
No class | ||
Part 4: Scalable Storage and Data Processing | ||||
Tue 11/29 | Scalable system design (discussion) |
Everybody read Google Cluster Design, then one of others | Zebra, Porcupine | |
Thu 12/01 | Fast/efficient key-value storage |
Read one of three papers | Hashcache, FAWN, SILT | |
Tue 12/06 | Big Data I (discussion) |
Read one of three papers | MapReduce on EC2, MapReduce Online, Piccolo | |
Thu 12/08 | Big Data II (discussion) |
Read one of three papers | Percolator, Spark, Ciel | |
Part 5: Security | ||||
Thu 12/15 | Information security principles |
Read Chapter 11, Thompson's famous Turing lecture (Trusting Trust), and Saltzer paper | Saltzer Principles | |
Fri 12/16 | Untrusted Cloud infrastructure (discussion) |
Class at 12:30-1:50pm in room 302. | SUNDR, SPORC, CryptDB | |
Tue 01/17 | Project Write-ups Due |
Due by 11:59pm EST on Dean's Date | ||
When reading papers, think about the main problem a paper is addressing, its main technical approach, and the strengths and weaknesses of the paper's technical approach and execution.
When presenting papers in class, you should prepare slides for a 12 minute presentation that includes:
After each presentation, the other students who read the paper will add to the discussion, intermixed/followed by questions from the rest of the class.
Last updated: Thu Oct 10 10:56:44 -0400 2013