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 quizzes will be in-class, one near midterm and one near the end of the semester.

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 twice per week, but there will be a few weeks where we only meet once and a few where we meet thrice. Most weeks are Monday-Wednesday, but please consult the schedule!

Date Topics Notes Readings
Mon 01/10 Introduction
[pdf] [key]
Lampson84, Gabriel91–Section 2.1 only, Hamming
Part 1: Concurrency, Threads, Parallelism, Ordering, and Races
Wed 01/12 No class
Fri 01/14 Implementing remote procedure calls
[pdf] [key]
Mon 01/17 MLK Day - No Class
Wed 01/19 Using threads in interactive systems: A case study
[pdf] [key]
Fri 01/21 Time, Clocks, and the Ordering of Events in a Distributed System
[pdf] [key]
Mon 01/24 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
Wed 01/26 A Case for Redundant Arrays of Inexpensive Disks (RAID)
[pdf] [key]
Therac-25, NY Times article Patterson88, Schroeder07
Fri 01/28 AFS
Leases paper Howard88
Mon 01/31 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
Wed 02/02 The Design and Implementation of a Log-Structured File System
[pdf] [key]
Fri 02/04 Cluster-based storage: NASD and the Google File System
Gibson98, Ghemawat03
Mon 02/07 MapReduce and Dryad
Project groups and initial ideas due Dean04, Dryad
Wed 02/09 OS Architecture and Extensibility: SPIN and the Exokernel
[pdf] [ppt] [key]
Bershad95, Kaashoek97
Fri 02/11 No class
Mon 02/14 No Lecture -- meetings with course staff to discuss project proposal
Wed 02/16 Kernels and Parallelism
Project proposal due (in class) Multikernel
Fri 02/18 No class
Part 3: Transactions and Databases
Mon 02/21 No class
Wed 02/23 On Optimistic Methods for Concurrency Control
[pdf] [key]
For further reading, see Spectulative Execution in a Distributed File System Kung81
Fri 02/25 No class, CSD open house, please participate!
Mon 02/28 Efficient Locking for Concurrent Operations on B-Trees
[pdf] [key]
See also Chord-Sigcomm2001 if you'd like more details. Lehman81
Wed 03/02 1st midterm
Fri 03/04 No class - spring break
Mon 03/07 No class - spring break
Wed 03/09 No class - spring break
Fri 03/11 No class - spring break
Mon 03/14 Post Midterm Review
Wed 03/16 Project meetings (all day)
Please schedule a 30 minute time slot
Fri 03/18 No class, moved to Monday
Mon 03/21 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
Wed 03/23 BigTable
Part 4: Generalized Fault Tolerance
Fri 03/25 Dynamo
Mon 03/28 Paxos
[pdf] [key]
Wikipedia Paxos article. Lamport's original Greek parable. Lamport01
Wed 03/30 No class
NSDI 2011
Fri 04/01 No class
NSDI 2011
Mon 04/04 The Byzantine General's Problem, Practical Byzantine Fault Tolerance
[pdf] [ppt]
Lamport's comments on the Byzantine Generals paper (see also here). Castro99, Lamport82
Part 5: Security
Wed 04/06 Reflections on Trusting Trust, Why Cryptosystems Fail, Crisis and Aftermath
[pdf] [key]
Thompson84, Anderson94, Spafford89
Fri 04/08 No class
Mon 04/11 The protection of information in computer systems
[pdf] [key]
Interim project reports due.
For additional info, see The Flask Security Architecture paper that describes the underpinnings of SELinux and the Flume paper from SOSP 2007 on DIFC.
Wed 04/13 No class
Fri 04/15 No class, spring carnival
Mon 04/18 A Logic of Authentication
[pdf] [key]
See also Dos and Don'ts of Client Authentication on the Web. Burrows90
Wed 04/20 Special Guest: Jeff Dean, Google Fellow. Building Software Systems at Google and Lessons Learned
Location GHC 6115
Mon 04/25 Midterm 2
Mon 05/02 Project Presentations, 1:00 - 3:00, room 9115-GHC
Date and times are tentative! Ignore for now.
Tue 05/03 Project Presentations, 1:00 - 3:30, room 8102-GHC
Thu 05/05 Final report due

Last updated: Tue Apr 19 15:02:55 -0400 2011 [validate xhtml]