CS262a:
Advanced Topics in Computer Systems

Mon/Wed 1-2:30 in 306 Soda
CCN: 26800

Prof. Eric Brewer, Fall 2008

    

Papers due anytime on Thursday December 18th.

Midterm Answers and statistics



CS262a is the first semester of a year-long sequence on computer systems research, including operating systems, database systems, and Internet infrastructure systems.  The goal of the course is to cover a broad array of research topics in computer systems, and to engage you in top-flight systems research.  The first semester is devoted to basic thematic issues and underlying techniques in computer systems, while the second semester goes deeper into topics related to scalable, parallel and distributed systems.  The class is based on a discussion of important research papers and a research project.

Prerequisites: The historical prerequisite was to pass an entrance exam in class, which covered undergraduate operating systems material (similar to UCB's CS162). However, this year we are trying it without an exam. However, if you have not already taken a decent undergrad OS class, you should talk with me before taking this class. The exam also had the benefit of "paging in" the undergrad material, which may have been its primary value (since the pass rate was high).

Exams, Papers, etc.

The main work of this class is to read frequently and deeply, while working toward a group research project of publishable quality.  Each student will be individually responsible for writing up a short summary of every paper. There will be one midterm exam (albeit near the end), and no final exam. Research projects are a critical aspect of the course.  Your goal is to do some quality systems research; that is, to add to our understanding of how to build systems.  Research projects must be written up in a term paper, and will be presented in a poster in a departmental mini-conference.  Suggested project ideas will be provided by the instructors, but you are strongly encouraged to come up with your own project ideas.  Potential projects include implementation or analysis of some piece of an OS, a DBMS, or an internet service; extending one of these systems with new functionality; or measurement and analysis of existing systems with the goal of better understanding issues in system design. 
 
Overall Grading:

Lecture and Reading Schedule

There is no required textbook, but some of the papers are in Readings in Database Systems. We will read and discuss 2-4 papers per week. Most of the papers for the class will be available either on-line, or as handouts in a previous class. An additional suggested text is Gray and Reuter's Transaction Processing: Concepts and Techniques

Paper Summaries

For every assigned paper (except for some explicit exceptions), students must turn in a reading summary before the beginning of the corresponding lecture. Summaries should be e-mailed to cs262profs@db.cs.berkeley.edu. Summaries should be limited to 1/2 page at most and should include at least one criticism of the paper. (Just a simple summary, as you might get from the abstract or conclusion, misses the point, which is to get students to read the papers!) You can miss 3 summaries without penalty.
 Part 1:  Basics and Classics
Wed 8/27
Week 1
The UNIX Time-Sharing System [no summary required]
Dennis M. Richie and Ken Thompson
(New electronic version) 
Mon 9/1
Week 2
Labor Day Holiday
Wed 9/3 A History and Evaluation of System R [in the Red Book]
Donald D. Chamberlin, Morton A. Astrahan, Michael W. Blasgen, James N. Gray, W. Frank King, Bruce G. Lindsay, Raymond Lorie, James W. Mehl, Thomas G. Price, Franco Putzolu, Patricia Griffiths Selinger, Mario Schkolnick, Donald R. Slutz, Irving L. Traiger, Bradford W. Wade and Robert A. Yost Optional Reading 1: Architecture of a Database System [also in textbook]
Optional Reading 2: The Design and Implementation of Ingres [in textbook]
Michael Stonebraker, Eugene Wong, Peter Kreps and Gerald Held.
Part 2: Persistent Storage
M 9/8
Week 3
A Fast File System for UNIX
McKusick, Joy, Leffler and Fabry
Analysis and Evolution of Journaling File Systems

Optional reading: The Design and Implementation of a Log-Structured File System
Rosenblum and Ousterhout (229K) 
W 9/10 The HP AutoRAID Hierarchical Storage System [My temporary local copy,\ 2-up version]
Wilkes, Golding, Staelin and Sullivan 
M 9/15
Week 4
ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-ahead Logging , 2-up version
C. Mohan et al. (in Red Book)
W 9/17 Stasis: Flexible Transactional Storage
Russell Sears and Eric Brewer
Guest lecture by Rusty Sears
M 9/22  
Week 5
Lightweight Recoverable Virtual Memory
M. Satyanarayanan, Henry H. Mashburn, Puneet Kumar, David C. Steere, and James J. Kistler
Part 3: Concurrency
W 9/24 Experience with Processes and Monitors in Mesa
Butler Lampson and David Redell
M 9/29
Week 6
SEDA: AnArchitecture for Well-Conditioned, Scalable Internet Services
Matt Welsh, David Culler, and Eric Brewer

Capriccio: Scalable Threads for Internet Services
Rob von Behren, Jeremy Condit, Feng Zhou, George C. Necula, and Eric Brewer

Optional (no summary):  Comparing the Performance of Web Server Architectures
Pariag, Brecht, Harji, Buhr and Shukla
W 10/1 Granularity of Locks and Degrees of Consistency in a Shared Database
Gray et al. (Also in the Red Book)
On Optimistic Methods for Concurrency Control
Kung and Robinson

Optional reading: Generalized Isolation Levels
Atul Adya, Barbara Liskov, Patrick O'Neil
M 10/6  
Week 7
Concurrency Control Performance Modeling: Alternatives and Implications
Agrawal et al.
W 10/8 Lottery Scheduling: Flexible Proportional-Share Resource Management
Waldspurger and Weihl

Optional reading: Stride Scheduling: Deterministic Proportional-Share Resource Management
Part 4: Query Processing
M 10/13
Week 8
Access Path Selection in a Relational Database Management System [all new version!] [in Red Book]
Selinger, Astrahan, Chamberlain, Lorie & Price

Optional reading: Grammar-like Functional Rules for Representing Query Optimization Alternatives
G. Lohman [in Red Book]
W 10/15 Parallel Database Systems: The Future of High Performance Database Systems
Dave DeWitt and Jim Gray
MapReduce: Simplified Data Processing on Large Clusters
Dean and Ghemawhat.
M 10/20
Week 9
Encapsulation of Parallelism
Graefe
Eddies: Continuously Adaptive Query Processing
Ron Avnur and Joe Hellerstein
Part 5: Virtual Machines
W 10/22 Xen and the Art of Virtualization
P. Barham, B. Dragovic, K Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt and A. Warfield.
Are Virtual Machine Monitors Microkernels Done Right?
S. Hand, A. Warfield, K. Fraser, E. Kotsovinos, D. Magenheimer.
M 10/27
Week 10
Live Migration of Virtual Machines
C. Clark, K. Fraser, S. Hand, J. Hansen, E. Jul, C. Limpach, I. Pratt, A. Warfield
ReVirt: Enabling Intrusion Analysis through Virtual Machine Logging and Replay
G. Dunlap, S. King, S. Cinar, M. Basrai and P. Chen
Part 6: Networking
W 10/29
Congestion Avoidance and Control
Van Jacobson
TCP Congestion Control with a Misbehaving Receiver
Savage, Cardwell, Wetherall and T. Anderson
M 11/3
Week 11
Active Messages: A Mechanism for Integrated Communication and Control [no summary required]
von Eicken, Culler, Goldstein, and Schauser
U-Net: A User-Level Network Interface for Parallel and Distributed Computing
Basu, Buch, Vogels, and von Eicken
W 11/5 The Click Modular Router
Kohler, Morris, Chen, Jannotti and Kaashoek
Part 7: Distributed Computing
M 11/10
Week 12
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications
Stoia, Morris, Karger, Kaashoek, Balakrishnan
The Impact of DHT Routing Geometry on Resilience and Proximity
Gummadi, Gummadi, Gribble, Ratnasamy, Shenker, Stoica
W 11/12 Lessons from Giant-Scale Services
Brewer
M 11/17
Week 13
K42: Building a Complete Operating System
Krieger et al.
 W 11/19 Implementing Declarative Overlays
Loo, Condie, Hellerstein, Maniatis, Roscoe, and Stoica
M 11/24
Week 14
Paxos Made Simple
Lamport
Late addition: two-phase commit [this is required but we will accept late summaries]
Optional Wikipedia entry on Paxos
Part 8: Potpourri
W 11/26 Singularity: Rethinking the Software Stack
G. Hunt and J. Larus

Deconstructing Process Isolation [Singularity]
M. Aiken, M. Fahndrich, C. Hawblitzel, G. Hunt; J. R. Larus
M 12/1
Week 15
Speculative Execution in a Distributed File System
E. B. Nightengale, P. M. Chen and J. Flinn
W 12/3   Dynamo: Amazon's Highly Available Key-Value Store
M 12/8
Week 16
Beyond Pilots: Keeping Rural Wireless Networks Alive
S. Surana, R. Patra, S. Nedevschi, M. Ramos, L. Subramanian, Y. Ben-David and E. Brewer
No summaries required
W 12/10   Final Lecture

Lecture Notes