15-712 Syllabus

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

Suggested Readings

You may also find the following readings useful:

Grading

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

Schedule

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 09/10 Introduction
[pdf]
Lampson84, Gabriel91–Section 2.1 only
Part 1: Concurrency, Threads, Parallelism, Ordering, and Races
Wed 09/12 Implementing remote procedure calls
[pdf]
Birrell84
Fri 09/14 TA-led undergrad OS and networking review
Attendance optional
Mon 09/17 Using threads in interactive systems: A case study
[pdf]
Hauser93
Wed 09/19 Time, Clocks, and the Ordering of Events in a Distributed System
[pdf]
Mentioned in class: ISIS. Lamport78
Fri 09/21 no class
Mon 09/24 Eraser: A Dynamic Data Race Detector for Multi-Threaded Programs
[pdf]
Savage97
Wed 09/26 no class
Fri 09/28 no class
Part 2: Storage and Remote DMA
Mon 10/01 A Case for Redundant Arrays of Inexpensive Disks (RAID)
[pdf]
You may choose one paper to write a summary about Patterson88, Schroeder07
Wed 10/03 The Design and Implementation of a Log-Structured File System
[pdf]
Rosenblum92
Fri 10/05 no class
Mon 10/08 Cluster-based storage: NASD and the Google File System
Gibson98, Ghemawat03
Wed 10/10 Separating data and control transfer in distributed operating systems, The Direct Access File System
Thekkath94, DeBergalis03
Fri 10/12 MapReduce: Simpled Data Processing on Large Clusters, Interpreting the Data: Parallel Analysis with Sawzall
Dean04, Pike05
Mon 10/15 no class
Wed 10/17 OS Architecture and Extensibility: SPIN and the Exokernel
[pdf] [ppt]
Peter Steenkiste guest lecture Bershad95, Kaashoek97
Fri 10/19 Mid-semester Break
Part 3: Transactions and Databases
Mon 10/22 On Optimistic Methods for Concurrency Control
[pdf]
For further reading, see Spectulative Execution in a Distributed File System Kung81
Wed 10/24 no class
Fri 10/26 no class
Mon 10/29 1st midterm
Wed 10/31 Efficient Locking for Concurrent Operations on B-Trees
[pdf]
See also Chord-Sigcomm2001 if you'd like more details. Lehman81
Fri 11/02 Principles of Transaction-Oriented Database Recovery
[pdf]
Possibly a more friendly ref for concurrency control and recovery Haerder83
Mon 11/05 Recovery Management in QuickSilver
[pdf]
Haskin88
Part 4: Generalized Fault Tolerance
Wed 11/07 no class (many students at PDL retreat)
Thu 11/08 Project meetings (all day)
Please schedule a 30 minute time slot
Fri 11/09 Paxos
[pdf]
Wikipedia Paxos article. Lamport's original Greek parable. Lamport01
Mon 11/12 Hive: Fault Containment for Shared-Memory Multiprocessors
[pdf]
Chapin95
Wed 11/14 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
Fri 11/16 Reflections on Trusting Trust, Why Cryptosystems Fail, Crisis and Aftermath
[pdf]
Thompson84, Anderson94, Spafford89
Mon 11/19 No class
Wed 11/21 Gobble gobble
Fri 11/23 Gobble gobble
Mon 11/26 The protection of information in computer systems
[pdf]
For additional info, see The Flask Security Architecture paper that describes the underpinnings of SELinux and the Flume paper from SOSP 2007 on DIFC. Saltzer75
Wed 11/28 A Logic of Authentication
[pdf]
See also Dos and Don'ts of Client Authentication on the Web. Burrows90
Fri 11/30 Terra: A Virtual Machine-Based Platform for Trusted Computing
[pdf]
Garfinkel03
Mon 12/03 Midterm 2
Wed 12/05 Project presentations
Fri 12/07 Project presentations
Last day of class
Wed 12/12 Final report due

Last updated: Tue Dec 11 18:52:09 -0500 2007 [validate xhtml]