|Margo Seltzer||Puneet Mehrotra||Chris Chen|
|Office Hours: Tu 3:00 - 5:00 (or by appt)||Office Hours: TBD||Office Hours: TBD|
- Daniel Bittman will be zooming in
- November 23: Practice Quizzes 2 and 3 (since there were three quizzes last year, I'm giving a couple of examples of quizzes from both q2 and q3 since they overlap with some of the material.
- November 22 - Sign Up Here for Project Presentation Slots.
- November 15: Kirk McKusick will be zooming in today!
- November 5: HotCRP site for
final paper submissions. Please create an account.
- October 30 - Sign Up Here for Second Project Status Meetings (second sheet).
- October 16 - I just pushed materials for Quiz 1 into your repositories; please pull before class on Tuesday!
- October 16 - Sign Up Here for First Project Status Meetings.
- October 14 - I updated How you will Submit Course Work to give details on submitting project deliverables (do not worry about updating your proposals; I already did that).
- October 13 - Practice Quiz 1
- Sep 20 - Final Project Assignment is up!
- Sep 12 - Homework Assignment 1 is up!
- Sep 8 - You need to sign in to the course on Piazza before you can get to the course group. Use this link and look up CPSC 508.
- Sep 8 - Morning-paper assignment
- Sep 8 - Course Handout
PrerequisitesAn undergraduate operating systems course (e.g., CPSC 415).
Learning ObjectivesThis course is an introduction to systems research. After completing this course, you should be able to:
- Read systems papers critically.
- Explain how modern systems research fits into the historical context.
- Identify open research problems in systems.
- Write constructive paper reviews.
- Explain (in writing) a systems paper to a non-expert.
- Design a research project to address an open research problem.
- Carry out a research project and present results both orally and in writing.
Coursework includes the following components:
- Reading, commenting on, and discussing classic and current research papers
- One homework assignment
- One morning-paper-style paper summary
- Three quizzes (each one-half class)
- Research project of your choice
- Mock Program Committee: reviewing your classmates' research papers
The readings fall into five main categories. We will begin with an historical overview of operating systems, beginning with some of the earliest operating systems and ending with today's multi-core systems. We'll then examine some current trends in operating systems by reading about virtual machine monitors and the rebirth of virtualization. Next, we will view storage and file system evolution over the past forty years, moving from local file systems to distributed storage to the cloud. Our study of storage systems will lead directly into distributed systems, where we will see how the earliest research laid the groundwork for today's cloud-based world. Finally, we will cover topics where systems research has been informed by work in different communities such as theory, programming languages, and security.
The course culminates with a research project, where students practice the art of systems research. There will be several deliverables on the way to a final project, including (but not limited to) a research statement, a research plan, an extended abstract, a final paper, and an oral presentation. At each stage of the process, I will provide detailed feedback and suggestions.
- 20% Class Participation (including piazza discussions)
- 10% Quizzes (two quizzes; 5% each)
- 15% Homework Assignment
- 5% Morning Paper Write Up and Review
- 50% Final Project
- No late work
- Paper readings:
- Read the papers and prepare for discussing them during class
- Engage in the Piazza discussion (the first student gets to post the paper summary)
- Projects should be completed in teams of 2 (the homework assignment may be completed independently or with a partner).