THIS IS THE 2011 VERSION OF CLASS

LINK TO THE CURRENT CLASS

EECS 582: Advanced Operating Systems


Announcements

  • Exam due: Friday, April 22, 5:00 pm EDT via Hardcopy in 4773 CSE.
  • Project report due: Monday, April 25, 5:00 pm EDT via HotCRP.
  • Poster session: Tuesday, April 26, 1:30-3:30 pm in Tishman-Dow Corridor.

  • 03/27/2011: Readings added to HotCRP through Apr 14.
  • 03/23/2011: Readings updated through Apr 14.
  • 02/28/2011: Readings for Mar 8 finalized.
  • 02/21/2011: volt.eecs back online, readings added to HotCRP.
  • 02/18/2011: volt.eecs will be offline until Mon, 2/21, afternoon.
  • 02/15/2011: Schedule for Thu, Fri updated.
  • 02/10/2011: Upload project proposals to HotCRP by 10:30 PM sharp.
  • 02/05/2011: Readings posted for rest of Feb.
  • 02/05/2011: Project notes and action items for the next 1.5 weeks posted.
  • 01/27/2011: No class on Jan 27; Readings posted for Feb 1.
  • 01/15/2011: Paper readings updated for 1/18-1/25.
  • 01/12/2011: Tu/Th classes to be held in 1010 DOW starting with the 1/13 class.
  • 01/12/2011: All waitlisted students will be enrolled.
  • 01/10/2011: Due to a technical problem, paper summary for 1/11 reading due at 10:30AM on 1/11.
  • 01/06/2011: Welcome to EECS 582!


Course Administrivia

Course:
  EECS 582, Winter 2011, 4 Units, CN: 28534
Instructor:
  Prabal Dutta
Homepage:
  http://www.eecs.umich.edu/~prabal/teaching/eecs582-w11
Paper Summaries:
  http://volt.eecs.umich.edu/eecs582/
Meetings:
  1010 DOW, TuTh: 10:30 AM - 12:00 PM (Lecture/Discussion)
  1006 DOW, Fri: 2:30 PM - 3:30 PM (Spillover/Projects/Makeup)
Office Hours:
  4773 CSE, Tue 1:30 PM - 3:00 PM

Course Description

The course catalog states, "Course discusses advanced topics and research issues in operating systems. Topics will be drawn from a variety of operating systems areas such as distributed systems and languages, networking, security, and protection, real-time systems, modeling and analysis, etc."

This semester, we will take a slightly broader view of systems research and consider many common issues that emerge across operating systems, database systems, networked systems, distributed systems, mobile systems, and embedded systems.

The design of computer systems -- whether building-size or hand-held, file system or database -- faces many common challenges and pitfalls. Fortunately, many of the principles and practices are often common as well. This class will focus on identifying and understanding the enduring principles and practices in computer systems design and implementation, and will prepare students to carry our substantial independent systems research projects.


Syllabus (Tentative)

Mtg Date Readings Lead
Classic Systems and Timeless Principles
1 Jan 6 The UNIX Time-Sharing System,
Dennis M. Ritchie and Ken Thompson,
Communications of the ACM, Vol. 17, No. 7, Jul 1974, pp. 365-375. (no summary)
prabal
2 Jan 11 A Protocol for Packet Network Intercommunication,
Vinton G. Cerf and Robert E. Kahn,
IEEE Trans on Comm. Vol. 22, No. 5, May 1974, pp. 637-648.
prabal
3 Jan 13 A History and Evolution of System R,
Donald D. Chamberlin, et al.,
Communications of the ACM, Vol. 24, No. 10, Oct 1981, pp. 632-646.
michjc
4 Jan 18 A Fast File System for UNIX,
M.K. McKusick, W.N. Joy, S.J. Leffler, and R.S. Fabry,
ACM Transactions on Computer Systems, Vol. 2, No. 3, Aug 1984, pp. 181-197.
The Design and Implementation of a Log-Structured File System,
Mendel Rosenblum and John K. Ousterhout,
ACM Transactions on Computer Systems, Vol. 10, No. 1, Feb 1992. (no summary)
prabal
5 Jan 20 Survey of Virtual Machine Research,
Robert P. Goldberg,
IEEE Computer, Vol. 7, No. 6, Jun 1974, pp. 34-45.
Xen and the Art of Virualization,
Paul Barham, et al.,
ACM Transactions on Computer Systems, Vol. 10, No. 1, Feb 1992.
prabal
6 Jan 25 Some Hints for Computer System Design,
Butler W. Lampson,
Proc. of the 9th ACM Symposium on Operating Systems Principles, Oct 1983, pp. 33-48.
End-to-End Arguments in System Design,
J.H. Saltzer, D.P. Reed, and D.D. Clark,
ACM Transactions on Computer Systems, Vol. 2, No. 4, Nov 1984, pp. 277-288.
prabal
- Jan 27 No class.
Start planning your research project.
Start meeting with potential collaborators.
 
Bleeding-Edge Proposals, Recently-Hot Topics, and Award-Winning Papers
7 Feb 1 NSF Workshop on Pervasive Computing at Scale.
Glance through all the white papers. Pick ten to review.
Instructions emailed out the class. Reviews/scores due 10:30 PM on 1/31.
prabal
8 Feb 3 NSF Workshop on Pervasive Computing at Scale.
Continued from Tuesday.
Instructions emailed out the class.
prabal
9 Feb 4
(Fri)
Project Discussions
Meet in 4773 CSE.
From 2:30 to 3:30 PM.
 
10 Feb 8 FAWNdamentally Power-efficient Clusters,
V. Vasudevan, J. Franklin, D. Andersen, A. Phanishayee, L. Tan, M. Kaminsky, I. Moraru,
Proc. of the 12th Workshop on Hot Topics in Operating Systems, May 18-20, 2009
Hierarchical File Systems Are Dead,
Margo Seltzer and Nicholas Murphy,
Proc. of the 12th Workshop on Hot Topics in Operating Systems, May 18-20, 2009.
HTTP as the Narrow Waist of the Future Internet,
Lucian Popa, Ali Ghodsi, Ion Stoica,
Proc. of the 9th Workshop on Hot Topics in Networks, Oct. 20-21, 2010.
S:hollyted
P:liuyue
A:jiehou

S:lide
P:aabooth
A:jmarche

S:shalajn
P:jjherman
A:randyyao
11 Feb 10 Augmented Smartphone Applications Through Clone Cloud Execution,
Byung-Gon Chun and Petros Maniatis,
Proc. of the 12th Workshop on Hot Topics in Operating Systems, May 18-20, 2009.
Reinventing Scheduling for Multicore Systems,
Silas Boyd-Wickizer, Robert Morris, and M. Frans Kaashoek,
Proc. of the 12th Workshop on Hot Topics in Operating Systems, May 18-20, 2009.
The Home Needs an Operating System (and an App Store),
C. Dixon, R. Mahajan, S. Agarwal, A.J. Brush, B. Lee, S. Saroiu, V. Bahl,
Proc. of the 9th Workshop on Hot Topics in Networks, Oct. 20-21, 2010
S:kuper
P:atgutier
A:bradfrey

S:ddevec
P:abudde
A:jbielaws

S:jingzj
P:jdpriest
A:jouyang
12 Feb 15 Project Proposal Presentations
Each team presents their proposal (3 min).
Class asks critical questions (3 min).
Teams
13 Feb 17 Project Proposal Presentations
Each team presents their proposal (3 min).
Class asks critical questions (3 min).
Teams
14 Feb 18
(Fri)
FAWN: A Fast Array of Wimpy Nodes,
D. Andersen, J. Franklin, M. Kaminsky, A. Phanishayee, L. Tan, V. Vasudevan,
Proc. 22nd ACM Symposium on Operating Systems Principles, Oct 2009.
RouteBricks: Exploiting Parallelism to Scale Software Routers,
Mihai Dobrescu, et al.,
Proc. 22nd ACM Symposium on Operating Systems Principles, Oct 2009.
S:tjbott
P:mcchow
A:njawed

S:bejugamr
P:pradeep
A:hollyted
15 Feb 22 KLEE: Unassisted and Automatic Generation of High-Coverage Tests...,
Cristian Cadar, Daniel Dunbar, and Dawson Engler,
Proc. of the 8th USENIX Symposium on Operating System Design and Impl., Dec 2008.
seL4: Formal Verification of an OS Kernel,
Gerwin Klein, et al.,
Proc. 22nd ACM Symposium on Operating Systems Principles, Oct 2009.
S:jiehou
P:aabooth
A:lide

S:randyyao
P:jmarche
A:shalajn
16 Feb 24 Bigtable: A Distributed Storage System for Structured Data,
Fay Chang, et al.
Proc. of the 7th USENIX Symposium on Operating System Design and Impl., Dec 2006.
DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing...,
Y. Yu, M. Isard, D. Fetterly, M. Budiu, Ú. Erlingsson, P. Gunda, J. Currey,
Proc. of the 8th USENIX Symposium on Operating System Design and Impl., Dec 2008.
S:jjherman
P:kuper
A:atgutier

S:bradfrey
P:ddevec
A:abudde
Concurrency, Scheduling, and Sharing
17 Mar 8 The Click Modular Router,
Robert Morris, Eddie Kohler, John Jannoti, M. Frans Kaashoek,
Proc. 17th ACM Symposium on Operating Systems Principles, Dec 1999.
S:prabal
P:ppannuto
A:ewust
- Mar 10 No class.
Work on your research project.
Prepare you project status update (i.e. why should we keep funding you?)
 
18 Mar 11
(Fri)
Project Status Update (in 1006 DOW)
Each team updates their project status (3-4 min).
Class asks critical questions (2 min).
Teams
19 Mar 15 SEDA: An Architecture for Well-Conditioned, Scalable Internet Services,
Matt Welsh, David Culler, and Eric Brewer,
Proc. 18th ACM Symposium on Operating Systems Principles, Oct 2001.
Project Status Update
Each team updates their project status (3-4 min).
Class asks critical questions (2 min).
S:prabal
P:jdkasten
A:msgsss

 
Teams
 
20 Mar 17 Capriccio: Scalable Threads for Internet Services,
Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer
Proc. 19th ACM Symposium on Operating Systems Principles, Oct 2003.
Project Status Update
Each team updates their project status (3-4 min).
Class asks critical questions (2 min).
S:prabal
P:kylelady
A:tjaved

 
Teams
 
21 Mar 22 Project Status Update
Each team updates their project status (3-4 min).
Class asks critical questions (2 min).
 
Teams
 
22 Mar 24 Scheduler Activations,
T. E. Anderson, B. N. Bershad, E.D. Lazowska, H.M. Levy,
ACM Transactions on Computer Systems, Vol. 10, No. 1, February 1992, Pages 53-79.
prabal
23 Mar 29 Lottery Scheduling: Flexible Proportional-Share Resource Management,
Carl A. Waldspurger and William E. Weihl,
Proc. First Symposium on Operating Systems Design and Impl., 1994.
Memory Resource Management in VMware ESX Server,
Carl A. Waldspurger
Proc. Fifth Symposium on Operating Systems Design and Impl., 2002
prabal
Distributed and Networked
24 Mar 31 Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications,
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan,
SIGCOMM'01, 2001.
Dynamo: Amazon's Highly Available Key-value Store,
Giuseppe DeCandia, et al.
Proc. 21th ACM Symposium on Operating Systems Principles, Oct 2007.
prabal
25 Apr 5 Congestion Avoidance and Control,
Van Jacobson and Michael J. Karels,
SIGCOMM'88, 1988.
TCP Congestion Control with a Misbehaving Receiver,
Stefan Savage, Neal Cardwell, David Wetherall, and Tom Anderson
SIGCOMM Computer Communication, Vol. 29 Issue 5, Oct 1999.
prabal
Low-Power and Mobility
26 Apr 7 Quanto: Tracking Energy in Networked Embedded Systems,
R. Fonseca, P. Dutta, P. Levis, and I. Stoica,
Proc. Eighth Symposium on Operating System Design and Impl., Dec 2008.
Integrating Concurrency Control and Energy Management in Device Drivers,
K. Klues, V. Handziski, C. Lu, A. Wolisz, D. Culler, D. Gay, P. Levis,
Proc. 21th ACM Symposium on Operating Systems Principles, Oct 2007.
prabal
27 Apr 12 quFiles: The right file at the right time,
Kaushik Veeraraghavan, Jason Flinn, Edmund B. Nightingale, Brian Noble,
The Eighth USENIX Conference on File and Storage Technologies (FAST '10), Feb 2010.
Agile Application-Aware Adaptation for Mobility,
B. D. Noble, M. Satyanarayanan, D. Narayanan, J. E. Tilton, J. Flinn, K. R. Walker
Proc. of the 16th ACM Symposium on Operating System Principles, 1997.
kaushikv
Parallel and Multicore
28 Apr 14 Respec: Efficient online multiprocessor replay via spec and external determinism,
D. Lee, B. Wester, K. Veeraraghavan, S. Narayanasamy, P. M. Chen, J. Flinn,
Intl. Conf. on Arch. Support for Prog. Lang. and Operating Systems (ASPLOS '10), 2010.
DoublePlay: Parallelizing sequential logging and replay,
K. Veeraraghavan, D. Lee, B. Wester, J. Ouyang, P. M. Chen, J. Flinn, S. Narayanasamy,
Intl. Conf. on Arch. Support for Prog. Lang. and Operating Systems (ASPLOS '11), Mar 2011.
kaushikv
29 Apr 19 The Multikernel: A new OS architecture for scalable multicore systems,
Baumann, Barham, Dagand, Harris, Isaacs, Peter, Roscoe, Schupbac, Singhania
Proc. of the 22th ACM Symposium on Operating System Principles, 2009.
prabal


Prerequisites

The formal prequisite for this course is EECS 482 (Introduction to Operating Systems, or an equivalent class from another university). Courses in database systems, networking, and distributed systems are also helpful. The informal prerequisite for this course is a strong interest in graduate systems research. You need (or need to acquire) the skill to read deeply, analyze critically, and synthesize effectively. Although there is not much in the way of homeworks and labs, success in systems research often requires a substantial design and implementation effort, so you should have strong technical skills.


Policies

Honor Code. The Engineering Honor Code applies to paper summaries and exams.

Paper Reviews. Read the papers carefully and write your own paper summary/review. Your understanding and learning is greatly aided by the critical evaluation of others' work. For each paper that requires a summary, write two paragraphs that answer the following questions.

The first paragraph:

  • What is the main problem that the paper addresses?
  • Why is the problem important?
  • What solution does the paper propose and what is the key insight?

The second paragraph:

  • Does the idea work, and if so, how well?
  • What is a drawback or limitation of the system and how you might improve it?

The paper reviews are to be submitted electronically at least 24 hours prior to the class during which we will discuss the paper. The exact manner of submission is to be determined. Late reviews will not be counted. You can miss up to four paper reviews during the term without penalty. Failing to turn in five or more reviews on time will result in a zero for all paper reviews. Allocate enough time for your reading and plan your reviews carefully.


Grading

Item Weight Description
Research Project 40% Substantial individual/group research project and paper.
Exam and Quizzes 30% Midterm exam (25%) and random minute quizzes (5%).
Paper Summaries 20% Written summaries/reviews of 2-4 papers per week.
Demo and Poster 10% Open demo/poster session at the end of the term.

Resources

  1. How to Read a Paper by S. Keshav.
  2. How to Read a Research Paper by Michael Mitzenmacher.
  3. Writing Reviews for Systems Conferences by Timothy Roscoe.
  4. How to Read an Engineering Research Paper by William Griswold.
  5. How to Read a Research Paper by Spencer Rugaber.