CS262a: Advanced Topics in Computer Systems

CCN: 26920

Anthony Joseph and Joe Hellerstein, Fall 2001

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.
 

Course sign up

Send e-mail to cs262prof AT postgres.berkeley.edu with the subject "Sign up" and the body:
John Doe
Year (department)
Comments
 

NEW: Midterm exam due in electronic form (ASCII ONLY) by 5 pm on Friday November 2, 2001.

Project Ideas

Course Prerequisite:

The basic prerequisite is to pass the entrance exam in class.  It will cover undergraduate operating systems material at the level of Berkeley's CS162, and will be pass/fail.  It will not be difficult if you've had an undergraduate course, though you may need to "page in" the material.  The test will have no effect on your grade; it is purely for admission, to ensure that everyone in the class has a solid foundation, thus ensuring a high level of interaction.

Example exams can be found here

List of Students that passed the Prerequisite Exam (to be posted after the exam)
 

Exams, Papers, etc.

The main work of this class is to read steadily 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 essay-type midterm exam and no final exam.

Research projects are a critical aspect of the course.  You 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.
 

Syllabus

This is a rough agenda, the reading list below will finalize the details as we go.
 
Week Topic
1 Seminal systems Part I:  System R and Ingres, entrance exam
2 Seminal systems Part II: UNIX
3 Operating System Memory Management
4 Database and Operating System Memory Management
5 Persistent memory: file systems (FFS, LFS, AutoRAID), transactions 
6,7 Persistent memory: database storage (relational model, relational storage, 
logging and recovery, versioning), file systems (AutoRAID)
7-11 Scheduling, monitors, concurrency control, query execution/optimization, and transactions
10,11 Networking: RPC/TRPC, TCP
12 Eddies
13 Active messages
14 Security

Readings

There is one required textbook, which should be available at ASUC (and on the web), although it may be listed under CS286 rather than CS262. It is Readings in Database Systems. We will read and discuss 2-4 papers per week.  Many of the papers for the class will be available either on-line, or as handouts in a previous class. An additional suggested test is Gray and Reuter's Transaction Processing: Concepts and Techniques
 
M 8/27
Week 1
Course Introduction

A History and Evaluation of System R [in the textbook]
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: The Design and Implementation of Ingres [in textbook]
Michael Stonebraker, Eugene Wong, Peter Kreps and Gerald Held.

W 8/29 System R and Ingres continued

CS 262 Entrance Exam

M 9/3
Week 2
Labor Day Holiday (No class)
W 9/5 The UNIX Time-Sharing System
Dennis M. Richie and Ken Thompson

Multics --The first seven years
F. J. CORBATÓ, J. H. SALTZER, and C. T. CLINGEN

M 9/10
Week 3
Machine-Independent Virtual Memory Management for Paged Uniprocessor and Multiprocessor Architectures
Rashid, Tavanian, Young, Golub, Baron, Black, Bolosky and Chew
Don't worry about the details of the calls. 

Application-Controlled Physical Memory using External Page-Cache Management
Harty and Cheriton

W 9/12 Optional reading (no summary): Virtual Memory Primitives for User Programs
Appel and Li
This paper looks at things you can build on top of the VM system (besides a larger perceived physical memory).
M 9/17
Week 4
An Evaluation of Buffer Management Strategies for Relational Database Systems [in the Red Book]
Hong-Tai Chou and David J. DeWitt
W 9/19 Lightweight Recoverable Virtual Memory
M. Satyanarayanan, Henry H. Mashburn, Puneet Kumar, David C. Steere, James J. Kistler
M 9/24
Week 5
The role of Information Technology in Disaster Planning, Management, and Recovery
W 9/26 Pages 159-173 of Gray and Reuter's Transaction Processing: Concepts and Techniques, Morgan-Kaufmann, 1993. Available outside 685 Soda.

Principles of Transaction-Oriented Database Recovery Computing Surveys 15(4): 287-317 (1983). In "red book", read Sections 1 and 2 (Section 1 should be review).
Theo Haerder & Andreas Reuter

M 10/1
Week 6
ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-ahead Logging
C. Mohan et al. (in Red Book)

Project proposals due

W 10/3 The HP AutoRAID Hierarchical Storage System
Wilkes, Golding, Staelin and Sullivan
M 10/8
Week 7
The Design of the POSTGRES Storage Manager
M. Stonebraker 
W 10/10 A Fast File System for UNIX
McKusick, Joy, Leffler and Fabry

The Design and Implementation of a Log-Structured File System
Rosenblum and Ousterhout (229K)

M 10/15
Week 8
Experience with Processes and Monitors in Mesa
Butler Lampson and David Redell
W 10/17 Granularity of Locks and Degrees of Consistency in a Shared Database
Gray et al. (read only Section I for now, pp. 175-183)

On Optimistic Methods for Concurrency Control
Kung and Robinson

M 10/22
Week 9
Lottery Scheduling: Flexible Proportional-Share Resource Management
Waldspurger and Weihl

Scheduler Activations
Tom Anderson, Brian Bershad, Ed Lazowska and Hank Levy

W 10/24 Concurrency Control Performance Modeling: Alternatives and Implications
Agrawal et al.
M 10/29
Week 10
Granularity of Locks and Degrees of Consistency in a Shared Database
Gray et al. (Section II, pp. 183-193 in red book) 
Generalized Isolation Levels
Atul Adya, Barbara Liskov, Patrick O'Neil.
W 10/31 Architectural Considerations for a New Generation of Protocols
Clark and Tennenhouse
M 11/5
Week 11
Query Evaluation Techniques for Large Databases, Intro and Section 1 ONLY
Goetz Graefe
W 11/7 Join Processing in Database Systems with Large Main Memories[in Red Book]
L. D. Shapiro

Access Path Selection in a Relational Database Management System[in Red Book]
Selinger, Astrahan, Chamberlain, Lorie & Price.
Project checkpoints this week and next week

M 11/12
Week 12
Veterans Day Holiday (No class)
W 11/14 Congestion Avoidance and Control
Van Jacobson

TCP Congestion Control with a Misbehaving Receiver
Savage, Cardwell, Wetherall and T. Anderson

M 11/19
Week 13
TP Monitors
W 11/21 Encapsulation of Parallelism in the Volcano Query Processing System
Goetz Graefe
Eddies: Continuously Adaptive Query Processing
Joseph M. Hellerstein and Ron Avnur
M 11/26
Week 14
Guest Lecturer: Pat Helland from Microsoft
W 11/28 End-to-end Arguments in System Design
Saltzer, Reed, and Clark, . ACM Transactions on Computer Systems
M 12/3
Week 15
Active Messages: A Mechanism for Integrated Communication and Control
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 12/5 Operating System Support for Database Management [in Red Book]
Stonebraker.
W 12/12 Project poster session 3 - 5 pm on 6th floor
Th 12/13 Project papers due at 5 pm (PAPER submission only)

Lecture Notes