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 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]
Birrell84
Mon 01/17 MLK Day - No Class
Wed 01/19 Using threads in interactive systems: A case study
[pdf] [key]
Hauser93
Fri 01/21 Time, Clocks, and the Ordering of Events in a Distributed System
[pdf] [key]
Lamport78
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]
Rosenblum92
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
Chang06
Part 4: Generalized Fault Tolerance
Fri 03/25 Dynamo
Vogels07
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.
Saltzer75
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]