original:http://www.cs.cmu.edu/~15712/syllabus.html
Textbooks
There are no official texts for the course. If you’re not familiar with the background material, you may wish to look at:
- Operating Systems Concepts, by Silberschatz, Galvin, and Gagne. This and the below text cover mostly background material that we assume students will be generally familiar with (both of these texts go beyond what we’ll expect).
- Modern Operating Systems, 2nd edition, by Andrew S. Tanenbaum.
- Computer Networks: A Systems Approach, third edition, by Larry Peterson and Bruce Davie. It is available in the CMU Bookstore. Covers background networking material that we assume students will be generally familiar with.
- Advanced Programming in the Unix Environment by W. Richard Stevens, Addison-Wesley, 1993.
- Unix Network Programming: Networking APIs: Sockets and XTI (Volume 1)by W. Richard Stevens.
- The Art of Computer Systems Performance Analysis, by Raj Jain.
- Distributed Algorithms, by Nancy Lynch
- Remzi Arpaci-Dusseau’s OS lecture notes are a great, free, online resource for background ugrad OS concepts.
You might take a peek at the CMU undergrad systems course for background information on operating systems (15-410). You may also find it interesting to read the book, The Mythical Man-Month: Essays on Software Engineering, by Fred Brooks.
Grading
Your final grade for the course will be based on the following weights:
- 40% Project
- 20% Midterm exam
- 20% Final exam
- 20% Paper Summaries, homeworks, and participation
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.
| Date | Topics | Notes | Readings |
|---|---|---|---|
| Mon 01/14 | Introduction | Ritchie74 | |
| Fri 01/18 | File system measurement | Ousterhout85, Harter11 | |
| Mon 01/21 | No class – MLK Day | ||
| Fri 01/25 | Log-structured file system | Rosenblum92, Baker91 | |
| Mon 01/28 | AFS and Coda | Leases paper | Howard88, Kistler92 |
| Fri 02/01 | Google File System | NASD | Ghemawat03 |
| Mon 02/04 | MapReduce and Dryad | Dean04, Isard07 | |
| Wed 02/06 | CDN | Akamai, Codeen | |
| Fri 02/08 | Control Plane Refactoring | Yan07, Liu12 | |
| Mon 02/11 | Project Discussion | Reference papers | |
| Fri 02/15 | Hints for Computer System Design; Worse is Better | Lampson84, WorseIsBetter | |
| Mon 02/18 | No class – Meeting with groups to discuss projects | ||
| Fri 02/22 | Bigtable & Dynamo | Chang06, DeCandia07 | |
| Mon 02/25 | Benchmarking and YCSB++ | Patil11 | |
| Fri 03/01 | Project Proposal Presentation | ||
| Mon 03/04 | Midterm exam | ||
| Fri 03/08 | No class – Mid-Semester Break | Project Proposal Due | |
| Mon 03/11 | No class – Spring Break | ||
| Fri 03/15 | No class – Spring Break | ||
| Wed 03/20 | Time, Clocks, and the Ordering of Events | Lamport78 | |
| Fri 03/22 | Paxos | Lamport01 | |
| Mon 03/25 | RPC | Birrell84 | |
| Wed 03/27 | RAID | Patterson88 | |
| Mon 04/01 | Project progress presentation | Project progress report due | |
| Fri 04/05 | VMWare | US6397242 | Waldspurger02 |
| Mon 04/08 | Xen | Live migration | Barham03 |
| Fri 04/12 | ExoKernel and SPIN | Kaashoek97, Bershad95 | |
| Mon 04/15 | FAWN | Challenges and Opportunities… | Andersen09 |
| Fri 04/19 | No class – Spring Carnival | ||
| Tue 04/23 | Mesos | Hindman11 | |
| Fri 04/26 | Eraser | Savage97 | |
| Mon 04/29 | You and Your Research; Course review | Hamming86 | |
| Fri 05/03 | Project presentation, 1:30 pm – 3:00 pm, GHC 4303 | ||
| Mon 05/06 | |||
| Fri 05/10 | Final report due |