CSE 551: Operating Systems

Course Overview

This is a graduate class in operating systems, with a focus on data center operating systems. Operating systems are the first line of defense for computer security when running mutually untrusting applications. They also manage and allocate shared hardware resources such as CPUs and memory, provide common programming abstractions such as for file storage and network communication, virtualize hardware for application portability, and provide a basis for performance isolation and tail latency management between competing applications. These issues often apply to operating systems broadly, but they are central to the use of operating systems in modern data center and cloud applications.

The class will be a combination of in class group discussion of research papers and a research project. The list of papers and when they are to be discussed are on the calendar page. All papers are freely available through the UW library system; if you have trouble, please contact the instructor.

We will read roughly one paper per class, with a mix of foundational and recent papers. For each class, I will provide some background material (where appropriate), and then students will be assigned to lead the discussion of the paper from different perspectives (roles will rotate across papers), eg., summarize the goals of the paper, serve as a proponent for its contributions, serve as a skeptic, explain its experimental method, outline the limitations of its evaluation, etc. We will conclude with a discussion of whether the paper has, or likely will, influence practice, and if so why.

Students will also conduct a research project in teams of any size, with a final project report and presentation due Monday of finals week (specific times in the calendar page). We have built an experimental operating system aimed at increasing the development speed of operating systems research projects and advanced operating systems development, and a valid project is to develop a significant component for that system. You are also welcome to propose a project that uses an alternative framework. The course calendar linked above has specific intermediate deadlines for the project.

Grading will be 50% on research paper blogs and the in-class discussion, and 50% on the research project presentation and writeup.

For CSE PhD students, this is a quals course in the systems area. Undergraduate and masters students majoring in CSE are also welcome, provided you have taken CSE 451 or equivalent. The workload depends on how efficient you are at doing independent work as well as reading and analyzing research papers; both are skills that benefit from practice. If this is the first graduate class you have taken, you may find the workload to be 1.5 to 2 times harder than a typical senior undergraduate project class in CSE. Please contact the instructor if you have questions about preparation or workload.

Note that undergraduate students must use the course enrollment petition, see tab for CSE 500-level.

There will be no midterm or final exam. The course is not curved.

The calendar page provides a detailed syllabus for the course, including readings and project milestone due dates. The blog and class discussion page provides detailed instructions for writing the blogs and preparing for the in-class discussions. The projects page provides suggestions for course projects. In addition, we plan to use google docs to manage in-class discussion roles, gradescope to manage project submissions, and canvas for blogs.

Instructor Contact and Office Hours

Lectures WF 10:00-11:20 Location CSE2 Gates 271

Person, Role email Office Hours
Tom Anderson, Instructor tom@cs Wednesday 12:00-12:30pm/Friday 11:30 - 12:00pm, both in Allen 646, or by appointment
Priyal Suneja, TA suneja@cs Thursday 11-12 (Allen 4th floor breakout, or by appointment)

Discussion Board

We will be using edstem for mediating questions about the lectures, discussion prompts, and projects.

Academic Honesty

Please read CSE's Academic Misconduct Policy.

For any aspect of the course, you are encouraged to ask for help from the instructor, from the TA, or from other students. A general rule of thumb is to ask for help if you are stuck for more than half an hour.

You may use copilot or other AI tools for doing the research project for this class. However you may not use ChatGPT or other AI tools for writing blog posts, or in preparing for discussion roles. All blog posts must be done individually.

Anonymous Feedback

Anonymous feedback can be sent to the instructor or TAs via feedback.cs.washington.edu.