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 09/08 Introduction
[pdf] [key]
Lampson84, Gabriel91–Section 2.1 only, Hamming
Part 1: Concurrency, Threads, Parallelism, Ordering, and Races
Wed 09/10 Implementing remote procedure calls
[pdf] [key]
Fri 09/12 Using threads in interactive systems: A case study
[pdf] [key]
Mon 09/15 Time, Clocks, and the Ordering of Events in a Distributed System
[pdf] [key]
Wed 09/17 Eraser: A Dynamic Data Race Detector for Multi-Threaded Programs
[pdf] [key]
Mentioned in class: Bugs as Deviant Behavior. Savage97
Part 2: Storage and Remote DMA
Fri 09/19 A Case for Redundant Arrays of Inexpensive Disks (RAID)
Therac-25, NY Times article Patterson88, Schroeder07
Mon 09/22 AFS
Leases paper Howard88
Wed 09/24 Separating data and control transfer in distributed operating systems, The Direct Access File System
no DeBergalis required. NFS over RDMA paper mentioned in class. Thekkath94, DeBergalis03
Fri 09/26 The Design and Implementation of a Log-Structured File System
[pdf] [key]
Mon 09/29 No class, enjoy the brain space
Wed 10/01 MapReduce and Dryad
Dean04, Dryad
Fri 10/03 OS Architecture and Extensibility: SPIN and the Exokernel
[pdf] [ppt] [key]
Bershad95, Kaashoek97
Mon 10/06 No lecture - OSDI
Wed 10/08 No lecture - OSDI
Fri 10/10 No lecture
Course staff will be available to discuss project ideas
Mon 10/13 Kernels and Parallelism
Part 3: Transactions and Databases
Wed 10/15 On Optimistic Methods for Concurrency Control
[pdf] [key]
Project groups and initial ideas due. For further reading, see Spectulative Execution in a Distributed File System Kung81
Fri 10/17 no class - mid-semester break
Mon 10/20 Efficient Locking for Concurrent Operations on B-Trees
[pdf] [key]
See also Chord-Sigcomm2001 if you'd like more details. Lehman81
Wed 10/22 Principles of Transaction-Oriented Database Recovery
[pdf] [key]
Bernstein's concurrency notes - MVCC, Why snapshot isolation is useful, short paper about an anomaly in snapshot isolation, mentioning history. Franklin97
Fri 10/24 No class
Project proposal due (by email to staff list).
Mon 10/27 No class
Work on project and study for midterm.
Wed 10/29 No class
Work on project and study for midterm.
Fri 10/31 Midterm Exam
Mon 11/03 Midterm Review and Project Discussions
Please come talk with staff in course room
Wed 11/05 BigTable
Fri 11/07 Dynamo
Mon 11/10 No class
Wed 11/12 Project meetings (all day)
Please schedule a 30 minute time slot
Part 4: Generalized Fault Tolerance
Fri 11/14 Paxos
[pdf] [key]
Wikipedia Paxos article. Lamport's original Greek parable. Lamport01
Mon 11/17 No class (dga out of town)
Wed 11/19 The Byzantine General's Problem, Practical Byzantine Fault Tolerance
[pdf] [ppt]
Lamport's comments on the Byzantine Generals paper (see also here). Castro99, Lamport82
Fri 11/21 No class
Mon 11/24 Reflections on Trusting Trust, Why Cryptosystems Fail, Crisis and Aftermath
[pdf] [key]
Thompson84, Anderson94, Spafford89
Wed 11/26 Gobble gobble (thanksgiving holiday)
Fri 11/28 No class
Turkey day
Part 5: Security
Mon 12/01 TBD
Wed 12/03 Mystery Machine
Paper is here
Fri 12/05 Midterm 2
Tue 12/09 Project Presentations
Wed 12/10 Project Presentations
Final report due before midnight tonight

Last updated: Tue Dec 02 11:53:35 -0500 2014 [validate xhtml]