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 (or two, with permission of the instructor). The project requires a proposal, a project status report, and a final report (both written and presented).
There are no official texts for the course. If you're not familiar
with the background 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 networking (15-441).
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 the lectures 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 Reading | Readings |
|---|---|---|---|
| Wed 01/18 | Introduction [pdf] |
Wisdom papers | Brooks75, Hamming86 |
| Fri 01/20 | A few classics |
SigOps Hall of Fame papers. Unix paper (SigOps HoF paper) | Lampson83, Saltzer84 |
| Part 1: Concurrency, Ordering, Races | |||
| Mon 01/23 | Implementing Remote Procedure Calls |
SigOps HoF paper. Worse is Better (Section 2.1 only) | Birrell84 |
| Wed 01/25 | Time, Clocks, and the Ordering of Events in a Distributed System |
SigOps HoF paper | Lamport78 |
| Fri 01/27 | No class |
||
| Mon 01/30 | Distributed Snapshots: Determining Global States of Distributed Systems |
SigOps HoF paper | Chandy85 |
| Wed 02/01 | Detecting Concurrency Bugs |
SOSP'19 best paper. Eraser (SOSP'97 best paper) | Li19 |
| Part 2: File Systems and Disks | |||
| Fri 02/03 | A Fast File System for UNIX |
SigOps HoF paper | McKusick84 |
| Mon 02/06 | Scale and Performance in a Distributed File System |
Leases paper. SigOps HoF papers | Howard88 |
| Wed 02/08 | The Design and Implementation of a Log-Structured File System |
SigOps HoF paper | Rosenblum92 |
| Fri 02/10 | A Case for Redundant Arrays of Inexpensive Disks (RAID) |
SigOps HoF paper. Disk failures in the real world (USENIX Test-of-Time award) | Patterson88 |
| Part 3: Transactions and Databases | |||
| Mon 02/13 | On Optimistic Methods for Concurrency Control |
SigOps HoF paper | Kung81 |
| Wed 02/15 | Concurrency Control and Recovery |
Multiversion concurrency control | Franklin97 |
| Fri 02/17 | No class |
Deadline to form project groups | |
| Mon 02/20 | Midterm #1 |
||
| Part 4: Fault Tolerance | |||
| Wed 02/22 | Paxos |
Fault-tolerant services tutorial (SigOps HoF paper). Lamport's original Greek parable (SigOps HoF paper). Viewstamped Replication (SigOps HoF paper). | Lamport01 |
| Fri 02/24 | Day of meetings to discuss Project Proposal ideas |
||
| Mon 02/27 | Practical Byzantine Fault Tolerance |
The Byzantine Generals Problem | Castro99 |
| Wed 03/01 | Project: Proposal |
Proposal Report due by 11:59 pm | |
| Part 5: OS Kernels and Virtual Machines | |||
| Fri 03/03 | Microkernels |
SigOps HoF paper. 20 Years of L4 Microkernels | Liedtke95 |
| Mon 03/06 | No CMU classes - Spring break |
||
| Wed 03/08 | No CMU classes - Spring break |
||
| Fri 03/10 | No CMU classes - Spring break |
||
| Mon 03/13 | seL4: Formal Verification of an OS Kernel |
SigOps HoF paper. System code verification with Serval (SOSP'19 best paper) | Klein09 |
| Wed 03/15 | Virtual Machines |
Disco VM. SigOps HoF papers | Waldspurger02 |
| Fri 03/17 | Multicore Kernels |
SOSP'13 best paper. LegoOS for disaggregated resources (OSDI'18 best paper) | Clements15 |
| Mon 03/20 | Barrelfish Multikernel |
SigOps HoF paper | Baumann09 |
| Part 6: Big Data Systems | |||
| Wed 03/22 | Key-Value Stores: Chord & Dynamo |
Chord paper. SigOps HoF papers | DeCandia07 |
| Fri 03/24 | Day of meetings to discuss Projects |
||
| Mon 03/27 | Caching & Scheduling |
OSDI'21 best paper. Kangaroo (SOSP'21 best paper) | Qiao21 |
| Wed 03/29 | Project: Interim Report |
Interim Project Report due by 11:59 pm | |
| Fri 03/31 | Spanner: Google's Globally-Distributed Database |
SigOps HoF paper (2022). | Corbett12 |
| Part 7: Emerging Platforms | |||
| Mon 04/03 | NICs, NVM, SoC |
SOSP'21 best paper. In-kernel storage functions (OSDI'22 best paper). OS for SoCs (OSDI'21 keynote talk) | Kim21 |
| Wed 04/05 | No class |
||
| Fri 04/07 | Day of meetings to discuss Projects |
||
| Mon 04/10 | Midterm #2 |
||
| Wed 04/12 | No class |
||
| Fri 04/14 | No CMU classes - Spring Carnival |
||
| Mon 04/17 | No class |
||
| Wed 04/19 | No class |
||
| Fri 04/21 | Day of meetings to discuss Projects |
||
| Mon 04/24 | No class |
||
| Wed 04/26 | No class |
||
| Fri 04/28 | No class |
||
| Mon 05/01 | Project: Presentations |
||
| Thu 05/04 | Project: Final Report |
Final Report due by 11:59 pm | |
Last updated: 2023-01-15 15:11:45 -0500 [validate xhtml]