EECS 582: Advanced Operating Systems (W'13)


Announcements

  • 04/22/2013: Program Committee Meeting
    • Date: Wed, 5/1/13
    • Time: 4:00-6:00pm
    • Room: 1690 BBB
  • 04/22/2013: Paper Submissions and Review
    • Registrations: Wed, 4/24/13 by 5:00pm (register paper in HotCRP)
    • Submissions: Sat, 4/27/13 by 11:59pm (hard deadline, submit in HotCRP)
    • Assignments: Sun, 4/28/13 by 12:00pm (papers to review/lead discussions)
    • Reviews Due: Tue, 4/30/13 by 11:59pm
    • Discussions: Wed, 5/1/13 until 16:00pm (online discussions about the papers)
  • 04/22/2013: Poster Session Details
    • Date: Tuesday, 4/23/13
    • Room: Tishman Hall
    • Setup: 10:00am
    • Start: 10:30am
    • End: 12:00pm
    • Food: Pizza House
  • 04/04/2013: Homework 2 ("Paper Architecture") due 4/11.
  • 03/14/2013: Read template.
  • 03/12/2013: Homework 1 due 3/15.
  • 02/09/2013: HotCRP open for reviews.
  • 01/13/2013: Register using <uniquename>@umich.edu: http://eecs582.eecs.umich.edu/papers/
  • 01/10/2013: Welcome to EECS 582!


Course Administrivia

Course:
  EECS 582, Winter 2013, 4 Units
Instructor:
  Prabal Dutta
Homepage:
  http://www.eecs.umich.edu/~prabal/teaching/eecs582
Paper Summaries:
  http://eecs582.eecs.umich.edu/papers/
Meetings:
  1690 BBB, TuTh: 10:30 AM - 12:00 PM (Lecture/Discussion)
  1690 BBB, Fri: 2:30 PM - 3:30 PM (Tutorials/Projects/Makeup)
Office Hours:
  Dutta: 4773 BBB, TBD

Course Description

This course will discuss 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 and embedded systems, modeling and analysis, etc.

We will take a broad view of systems research and consider 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 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
Week 1 Jan 10 Introduction to EECS 582

The TerraSwarm Research Center,
Edward A. Lee, et al.
UC Berkeley EECS Technical Report No. UCB/EECS-2012-207 (slides)

prabal
Classic Systems
Week 2 Jan 15
and
Jan 17
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)

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. (no summary)

prabal
Week 3 Jan 22
and
Jan 24
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. (no summary)

A Case for Redundant Arrays of Inexpensive Disks (RAID),
David A. Patterson, Garth Gibson, and Randy H. Katz,
ACM SIGMOD Conference on Management of Data, Chicago IL, June 1988. (no summary)

prabal
The Home and Office
Week 4 Jan 31 An Operating System for the Home,
Colin Dixon, et al.,
USENIX NSDI, Apr. 2012. (no summary)
prabal
Week 5 Feb 5 BOSS: Building Operating System Services
Stephen Dawson-Haggerty, et al.
USENIX NSDI, Apr. 2013. (no summary, paper available in HotCRP)
prabal
Feb 7 Some Hints for Computer System Design,
Butler W. Lampson,
ACM Symposium on Operating Systems Principles, Oct 1983, pp. 33-48. (no summary)
prabal
Feb 8 Reread: The TerraSwarm Research Center,
Edward A. Lee, et al.
UC Berkeley EECS Technical Report No. UCB/EECS-2012-207 (no summary)
prabal
Virtual Machines
Week 6 Feb 12 Disco: Running Commodity Operating Systems on Scalable Multiprocessors,
E. Bugnion, S. Devine, and M. Rosenblum,
ACM SOSP'97, 1997. (review due 2/11 @ 10:30am)
Xen and the Art of Virualization,
Paul Barham, et al.,
ACM SOSP'03, 2003. (review due 2/11 @ 10:30am)
ppannuto
Feb 14 Live Migration of Virtual Machines,
C. Clark, K. Fraser, S. Hand, J. Hansen, E. Jul. C. Limpach, I. Pratt, A. Warfield
USENIX NSDI'05, 2005. (review due 2/13 @ 10:30am)
ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay,
G. Dunlap, S. King, S. Cinar, M. Basrai, P. Chen
USENIX OSDI'02, 2002. (review due 2/13 @ 10:30am)
prabal
Feb 15 Project Meeting prabal
Week 7 Feb 19 ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay,
G. Dunlap, S. King, S. Cinar, M. Basrai, P. Chen
USENIX OSDI'02, 2002. (review due 2/13 @ 10:30am)
Debugging Operating Systems with Time-Traveling Virtual Machines,
S. King, G. Dunlap, P. Chen
USENIX ATC'05, 2005. (review due 2/18 @ 10:30am)
prabal
Feb 21 VM*: Synthesizing Scalable Runtime Environments for Sensor Networks,
Joel Koshy and Raju Pandey
ACM Sensys'05, 2005. (review due 2/20 @ 10:30am)
prabal
Feb 22 Project Meeting prabal
Persistent Storage
Week 8 Feb 26 A Fast File System for UNIX,
M.K. McKusick, W.N. Joy, S.J. Leffler, and R.S. Fabry,
ACM TOCS, Vol. 2, No. 3, Aug 1984, pp. 181-197. (review due 2/25 @ 10:30am)
The Design and Implementation of a Log-Structured File System,
Mendel Rosenblum and John K. Ousterhout,
ACM TOCS, Vol. 10, No. 1, Feb 1992. (review due 2/25 @ 10:30am)
prabal
Feb 28 Disconnected Operation in the Coda File System,
James Kistler and M. Satyanarayanan,
ACM Trans. on Computer Systems, Vol. 10, No. 1, Feb 1992. (review due 2/27 @ 10:30am)
ppannuto
Mar 1 Group Meetings (no class) groups
Concurrency, Scheduling, and Sharing
Week 9 Mar 12 The Working Paper as a Microcosm of Research Thought, Planning, and Execution
Prabal Dutta
Mar 12, 2013.
prabal
Mar 14 SEDA: An Architecture for Well-Conditioned, Scalable Internet Services,
Matt Welsh, David Culler, and Eric Brewer,
ACM SOSP'01, 2001. (review due 3/13 @ 10:30am)
Capriccio: Scalable Threads for Internet Services,
Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer
ACM SOSP'03, 2003. (no review)
prabal
Mar 15 The Click Modular Router,
Robert Morris, Eddie Kohler, John Jannoti, M. Frans Kaashoek,
ACM SOSP'99, Dec 1999. (review due 3/14 @ 10:30am)
prabal
Week 10 Mar 19 IP is Dead, Long Live IP for Wireless Sensor Networks,
Jonathan Hui and David Culler,
Proc. of 6th ACM Sensys'08, 2008. (review due 3/18 @ 10:30am)
bradjc
Mar 21 Congestion Avoidance and Control,
Van Jacobson and Michael J. Karels,
SIGCOMM'88, 1988. (review due 3/20 @ 10:30am)
TCP Congestion Control with a Misbehaving Receiver,
Stefan Savage, Neal Cardwell, David Wetherall, and Tom Anderson
SIGCOMM CCR, Vol. 29 Issue 5, Oct 1999. (review due 3/20 @ 10:30am)
ewust
Mar 22 How (and How Not) to Write a Good Systems Paper,
Roy Levin and David D. Redell
ACM OS Review, Vol. 17, No. 3, Jul 1983. (no class; no summary; read on your own)
groups
Week 11 Mar 26 Scheduler Activations,
T. E. Anderson, B. N. Bershad, E.D. Lazowska, H.M. Levy,
ACM TOCS, Vol. 10, No. 1, Feb 1992. (review due 3/25 @ 10:30am)
prabal
Mar 28 Lottery Scheduling: Flexible Proportional-Share Resource Management,
Carl A. Waldspurger and William E. Weihl,
USENIX OSDI'94, 1994. (review due 3/27 @ 10:30am)
Stride Scheduling: Deterministic Proportional-Share Resource Management,
Carl A. Waldspurger and William E. Weihl,
MIT Tech Memo MIT/LCS/TM-528, Jun 22, 1995. (review due 3/27 @ 10:30am)
prabal
Mar 29 Tutorial: Statistics,
Eric Brewer.
You will be expected to do this level of analysis. No class.
groups
Networked, Distributed, and Scalable
Week 12 Apr 2 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. (No review, but *do* read!)
prabal
Apr 4 Project Reviews (format: PPT or Keynote, 7-8 min)
1. Update status. 2. Present exploratory / preliminary data.
3. Show hypothesis supported by data. 4. Roadmap for rest of term.
groups
Apr 5 Project Reviews Continued
How to Write a Great Research Paper
Simon Peyton Jones
individually
Week 13 Apr 9 The Google File System,
Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung,
ACM SOSP'03, 2003 (No review, but *do* read!)
MapReduce: Simplified Data Processing on Large Clusters
Jeffrey Dean and Sanjay Ghemawat
USENIX OSDI'04, 2004 (No review, but *do* read!)
prabal
Apr 11 The Chubby Lock Service for Loosely-Coupled Distributed Systems
Mike Burrows,
USENIX OSDI'06, 2006 (No review, but *do* read!)
Paxos Made Simple,
Leslie Lamport,
Nov. 1, 2001. (No review, but *do* read!)
Homework 2: Submit paper "architecture"
1-page sheet, folded three times to 1/8-scale (Use 8 "mini" pages)
Include: title, all section headings+key bullet points for each sec
Include: figures with captions, axis labels, hand-drawn "data"
Include: key tables with captions and any important data
The 1-pager must  tell the story of the paper to receive full credit
prabal
Apr 12 No class; work on projects individually
Week 14 Apr 16 Bigtable: A Distributed Storage System for Structured Data,
Fay Chang, et al.
USENIX OSDI'06, 2006. (No review, but *do* read!)
Dynamo: Amazon's Highly Available Key-value Store,
Giuseppe DeCandia, et al.
SOSP'07, 2007. (No review, but *do* read!)
pannuto
Apr 18 Common paper types,
Expectations of your papers
prabal
Apr 19 No class; work on projects individually


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, read and discuss it with peers. For papers that require summaries, you must address a number of questions including:

  • What problem does the paper solve and why is it important?
  • What is the hypothesis of the work?
  • What solution does the paper propose and what is the key insight?
  • 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. Late reviews will not be counted. You can miss up to three paper reviews during the term without penalty. Failing to turn in six 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 Paper 50% Substantial individual/group research project and paper.
Paper Summaries 25% Written summaries/reviews of 2-3 papers per week.
Participation 15% Preparation and participation in classroom discussions.
Homeworks 10% Individual homeworks and self-study assignments.

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.