There are no official texts for the course. If you're not familiar with the background material, or you want to supplement the course material, you may wish to look at:
You might take a peek at the two CMU undergrad systems courses for background information on operating systems (15-410) and distributed systems (15-440).
Your final grade for the course will be based on the following weights:
The project in 15-712 is an open-ended research project, done in groups of three. The project requires a proposal, a project status report, and a final report (both written and presented).
Also available as an ical file that you can subscribe to.
Note: Class will meet on average two times per week, but we will frontload lectures a bit at the begining of the semester. This schedule is subject to change, so please hold all three days (Mon, Wed, Fri) open each week.
Date | Topics | Notes and Further Readings | Assigned Readings |
---|---|---|---|
Wed 09/09 | Introduction [pdf] |
Wisdom papers | Brooks75, Hamming86, Gabriel91–Section 2.1 only |
Fri 09/11 | A few classics [pdf] |
Dennis66. Each of these papers is in the SigOps Hall of Fame. | Lampson83, Saltzer84, Ritchie74 |
Part 1: Concurrency, Threads, and Ordering | |||
Mon 09/14 | Implementing Remote Procedure Calls [pdf] |
SigOps HoF paper | Birrell84 |
Wed 09/16 | Using Threads in Interactive Systems: A Case Study [pdf] |
Hauser93 | |
Fri 09/18 | Time, Clocks, and the Ordering of Events in a Distributed System [pdf] |
SigOps HoF paper | Lamport78 |
Part 2: Bugs, Bugs, Bugs | |||
Mon 09/21 | Eraser: A Dynamic Data Race Detector for Multi-Threaded Programs [pdf] |
SOSP'97 best paper. Bugs as Deviant Behavior (SOSP'01) | Savage97 |
Wed 09/23 | Using Model Checking to Find Serious File System Errors [pdf] |
OSDI'04 best paper. Towards Optimization-Safe Systems (SOSP'13 best paper) | Yang04 |
Fri 09/25 | Virtual synchrony and snapshots in distributed systems [pdf] |
SigOps HoF papers. Exploiting Virtual Synchrony in Distributed Systems | Chandy85 |
Part 3: File Systems and Disks | |||
Mon 09/28 | AFS [pdf] |
Leases. SigOps HoF papers | Howard88 |
Wed 09/30 | The Design and Implementation of a Log-Structured File System [pdf] |
SigOps HoF paper. Deadline to form project groups. | Rosenblum92 |
Fri 10/02 | A Case for Redundant Arrays of Inexpensive Disks (RAID) [pdf] |
SigOps HoF paper. Fast'07 best paper. Guest Lecturer Garth Gibson | Patterson88, Schroeder07 |
Mon 10/05 | No class - SOSP |
||
Wed 10/07 | No class - SOSP |
||
Part 4: Big Data Systems | |||
Fri 10/09 | MapReduce and Spark [pdf] |
SigOps HoF paper. NSDI'12 best paper. Dryad | Dean04, Zaharia12 |
Mon 10/12 | Naiad: A Timely Dataflow System [pdf] |
SOSP'13 best paper | Murray13 |
Wed 10/14 | Spanner: Google's Globally-Distributed Database [pdf] |
OSDI'12 best paper. BigTable (OSDI'06 best paper) | Corbett12 |
Fri 10/16 | No lecture |
Course staff will be available to discuss project ideas | |
Mon 10/19 | Dynamo: Amazon's Highly Available Key-value Store [pdf] |
DeCandia07 | |
Wed 10/21 | From shared virtual memory to parameter servers (Li & Li) [pdf] |
SigOps HoF paper. OSDI'14 paper | Li89, Li14 |
Fri 10/23 | No class - mid-semester break |
||
Mon 10/26 | No class - PDL Retreat |
||
Part 5: Kernels and Parallelism | |||
Wed 10/28 | Exokernel and Safe kernel extensions [pdf] |
SOSP'97 paper. SigOps HoF paper. Original Exokernel paper, Multikernel (SOSP'09) | Kaashoek97, Necula96 |
Fri 10/30 | The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors [pdf] |
SOSP'13 best paper. Project proposal due before midnight (by email to staff list). | Clements15 |
Mon 11/02 | No class |
Work on project and study for midterm | |
Wed 11/04 | Midterm Exam |
||
Fri 11/06 | Midterm Review and Project Discussions |
Please come talk with staff in course room | |
Part 6: Transactions and Databases | |||
Mon 11/09 | On Optimistic Methods for Concurrency Control [pdf] |
SigOps HoF paper. Speculative Execution in a Distributed File System, Efficient Locking for Concurrent Operations on B-Trees | Kung81 |
Wed 11/11 | Concurrency Control and Recovery [pdf] |
Bernstein's concurrency notes - MVCC, Coordination Avoidance | Franklin97 |
Fri 11/13 | No class |
||
Part 7: Generalized Fault Tolerance and Security | |||
Mon 11/16 | Implementing Fault-Tolerant Services Using the State Machine Approach: a Tutorial [pdf] |
SigOps HoF paper | Schneider90 |
Wed 11/18 | Paxos [pdf] |
Lamport's original Greek parable (SigOps HoF paper). Lamport's comments on original paper. Wikipedia Paxos article. | Lamport01 |
Fri 11/20 | Project meetings (all day) |
Please schedule a 30 minute time slot for an Interim Project Report. | |
Mon 11/23 | The Byzantine Generals Problem [pdf] |
Lamport's comments on the Byzantine Generals paper. Practical Byzantine Fault Tolerance (OSDI'99) | Lamport82 |
Wed 11/25 | No class - Thanksgiving break |
||
Fri 11/27 | No class - Thanksgiving break |
||
Mon 11/30 | Reflections on Trusting Trust, Why Cryptosystems Fail, Crisis and Aftermath [pdf] |
SigOps HoF paper. Write summary only for Anderson94. | Thompson84, Anderson94, Spafford89 |
Wed 12/02 | Highlights from the SOSP'15 History Day talks [pdf] |
SOSP'15 History Day | |
Fri 12/04 | No class |
||
Mon 12/07 | No class |
Work on project and study for midterm | |
Wed 12/09 | Midterm 2 |
||
Fri 12/11 | No class |
||
Tue 12/15 | Project Presentations |
||
Wed 12/16 | Project Presentations |
Final report due before midnight tonight (by email to staff list) |
Last updated: Thu Dec 10 15:42:49 -0500 2015 [validate xhtml]