15-712 Syllabus


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

Suggested Readings

You may also find the following readings useful:


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.

Date Topics Notes Readings
Mon 01/14 Introduction
Wisdom papers Brooks75, Hamming86, Lampson83, Gabriel91–Section 2.1 only, Saltzer84, Ritchie74
Part 1: Concurrency, Threads, Parallelism, Ordering, and Races
Wed 01/16 Implementing remote procedure calls
SigOps HoF paper Birrell84
Fri 01/18 Datacenter RPCs can be General and Fast
Mon 01/21 MLK: No class
Wed 01/23 Using Threads in Interactive Systems: A Case Study
Fri 01/25 Time, Clocks, and the Ordering of Events in a Distributed System
SigOps HoF paper Lamport78
Part 2: Bugs, Bugs, Bugs
Mon 01/28 Eraser: A Dynamic Data Race Detector for Multi-Threaded Programs
SOSP'97 best paper. Bugs as Deviant Behavior (SOSP'01). Savage97
Wed 01/30 Using Model Checking to Find Serious File System Errors
OSDI'04 best paper. Towards Optimization-Safe Systems. SOSP'13 best paper. Yang04
Part 3: File Systems and Disks
Fri 02/01 AFS
Leases paper. SigOps HoF papers Howard88
Mon 02/04 The Design and Implementation of a Log-Structured File System
SigOps HoF paper. Deadline to form project groups. Rosenblum92
Wed 02/06 A Case for Redundant Arrays of Inexpensive Disks (RAID)
SigOps HoF paper. Fast'07 best paper. Patterson88, Schroeder07
Part 4: Big Data Systems
Fri 02/08 MapReduce and Spark
SigOps HoF paper. NSDI'12 best paper. Dryad. Dean04, Zaharia12
Mon 02/11 TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems
Wed 02/13 Dynamo: Amazon's Highly Available Key-value Store
Fri 02/15 Paxos
Wikipedia Paxos article. Lamport's original Greek parable Lamport's comments on original paper.. Lamport01
Mon 02/18 No class
Part 5: Kernels and Parallelism
Wed 02/20 OS Architecture and Extensibility: SPIN and the Exokernel
SOSP'97 paper. SigOps HoF paper. Original Exokernel paper Multikernel (SOSP'09). Bershad95, Kaashoek97
Fri 02/22 The Scalable Commutativity Rule: Designing Scalable Software for Multicore Processors
SOSP'13 best paper Clements15
Mon 02/25 Midterm Review
Wed 02/27 No class
Fri 03/01 Midterm 1
Mon 03/04 No class
Wed 03/06 Project Discussions with Staff
Fri 03/08 Mid-Semester Break: No class
Mon 03/11 Spring Break: No class
Wed 03/13 Spring Break: No class
Fri 03/15 Spring Break: No class
Mon 03/18 Lecture TBD
Wed 03/20 No class
Fri 03/22 No class
Part 6: Transactions and Databases
Mon 03/25 On Optimistic Methods for Concurrency Control
SigOps HoF paper. Spectulative Execution in a Distributed File System Efficient Locking for Concurrent Operations on B-Trees Kung81
Wed 03/27 Project Meetings (all day)
Fri 03/29 Concurrency Control and Recovery
Bernstein's concurrency notes - MVCC, Coordination Avoidance Franklin97
Mon 04/01 No class
Interim project report due.
Wed 04/03 No class
Fri 04/05 No class
Part 7: Generalized Fault Tolerance and Security
Mon 04/08 Practical Byzantine Fault Tolerance
Lamport's comments on the Byzantine Generals paper. The Byzantine Generals Problem. Practical Byzantine Fault Tolerance
Wed 04/10 No class
Fri 04/12 Spring Carnival: No class
Mon 04/15 Reflections on Trusting Trust, Why Cryptosystems Fail, Crisis and Aftermath
SigOps HoF paper. Write Summary only for Andersen94. Thompson84, Anderson94, Spafford89
Wed 04/17 No class
Fri 04/19 No class
Mon 04/22 Highlights from the SOSP15 History Day Talks
SOSP15 History Day.
Wed 04/24 Midterm 2
Fri 04/26 No class
Fri 04/29 No class
Fri 05/01 No class
Mon 05/06 Project Presentations
Wed 05/08 Project Presentations
Final report due before midnight tonight

Last updated: 2019-01-15 01:58:41 +0000 [validate xhtml]