15-712 Syllabus

Grading

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).

Textbooks

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).

Schedule

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]