Lecture Schedule: Tuesdays & Thursdays, 9:00 AM - 10:20 AM
Location: CIT Center 101
Instructor: Deepti Raghavan (deeptir at brown.edu)
Office Hours: Tuesdays, 10:30 AM - 11:30 AM, CIT Center 501 (please let the instructor know ahead of time you will be attending).
All of the large-scale web applications and enterprise applications we interact with daily rely on datacenters for compute, storage, networking and security, commonly via cloud computing interfaces. There are many research questions around how to use the datacenter as a computing platform to architect the “best” applications, all while datacenter hardware is rapidly evolving. This is a graduate-level seminar on cloud and datacenter operating systems. We will study topics such as serverless computing, kernel bypass operating systems, tiered and far memory systems, hardware accelerators, disaggregation and machine learning systems. The goals of the class are to (1) learn about the challenges surrounding cloud and datacenter systems, (2) practice reading, analyzing, and presenting systems research papers on these topics, and (3) perform a semester-long research project and present findings to the class.
The course is structured into the following components:
For each class, I will assign 1-2 papers for reading and a paper reading response assignment. Readings and responses must be completed before class:
Attendance is mandatory, as a large part of the class is an in-person discussion. However, it is fine to miss class ocassionally, especially if you are sick or have other extenuating
circumstances. Frequent absences (including not having read the reading
and not participating in class) will be penalized.
Separately, you will sign up to lead the discussion for at least one class over the entire semester. This specifically involves:
Date | Project Milestone | Link |
---|---|---|
Tues 9/9 | Project Assignment Posted | Project Info |
Mon 9/29 | Project Proposal Due | Submission Info Coming |
Mon 9/29 - Fri 10/3 | Mandatory Initial Check-In | Signup Link Coming |
Mon 10/27 | Mid-semester progress report due | Submission Info Coming |
10/27 - 10/31 | Mandatory Mid-Semester Check-In | Signup Link Coming |
Tues 12/9 (and 12/11 depending on enrollment) | In-class project presentations | Presentation Info Coming |
Fri 12/12 | Final Paper Due (in lieu of a final exam) | Final Paper Info Coming |
Reading papers and writing reviews for them takes time. Students should expect to spend 4-5 hours per week preparing for class meetings, in addition to the 3 hours per week of class meetings themselves. This amounts to approximately 80 hours of class work over the semester. An additional 10 will go towards the optional warmup assignment and extra prep towards being the discussion leader. The remainder of class time, approximately 90 hours, is dedicated to the class research project.
You are allowed (and in fact encouraged) to discuss readings, reading questions, and the warmup assignments with others (including people who might not be in this class). However:
The readings and questionnaires corresponding to a particular lecture date are to be completed before that date.
Date | Topics | Papers | Questionnaire (Due at 4 PM the previous day). | Slides/Notes |
---|---|---|---|---|
Thurs 9/4 | Introduction to the Course | No Assigned Reading | No Assigned Questionnaire | Intro Slides |
Tues 9/9 | Multicore |
Barrelfish Scalability at what Cost |
Submission Link Template for Response (Due 9/8 at 4 PM) |
|
Thurs 9/11 | What abstractions should the OS provide? |
Exokernel
(up to Section 4) Dune |
Submission Link Template for Response (Due 9/10 at 4 PM) |
Topic 2 Slides |
Tues 9/16 | High-Performance I/O |
IX Arrakis (up to section 3.2, and 3.6) |
Submission Link Template for Response (Due 9/15 at 4 PM) |
Topic 3 Slides |
Thurs 9/18 | High Performance I/O cont. |
XDP XRP (up to section 3 and Section 5) |
Submission Link Template for Response (Due 9/17 at 4 PM) |
Background on EBPF |
Tues 9/23 | RDMA | PRISM |
Submission Link Template for Response (Due 9/22 at 4 PM) |
Background on RDMA, PRISM |
Thurs 9/25 | Kernel Bypass & OS Abstractions |
Demikernel |
Submission Link Template for Response (Due 9/24 at 4 PM) |
Topic 6 Slides |
Tues 9/30 | NIC Interfaces | Enso |
Submission Link Template for Response (Due 9/29 at 4 PM) |
|
Thurs 10/2 | CPU Scheduling | Shenango Killer Microseconds |
Submission Link Template for Response (Due 10/1 at 4 PM) |
|
Tues 10/7 | CPU Scheduling Cont. |
Syrup
(optional) ghOSt |
Submission Link Template for Response (Due 10/6 at 4 PM) |
|
Thurs 10/9 | CPU Scheduling & Interference | Caladan |
Submission Link Template for Response (Due 10/8 at 4 PM) |
Topic 10 Slides |
Tues 10/14 | Signals vs. Interrupts |
Aspen |
(Due 10/13 at 4 PM) |
Topic 11 Slides |
Tues 10/16 | Virtualization |
Xen and the Art of Virtualization Are VMMs Microkernels Done Right? |
(Due 10/15 at 4 PM) |
Topic 11 Slides |
Tues 10/22 | Memory Management and Virtualization | VMWare ESX Server |
(due 10/21 at 5 pm) |
Topic 13 Slides |
Thurs 10/24 | Practical Kernel Bypass | Junction Optional: Firecracker |
(Due 10/23 at 4 PM) |
Topic 12 Slides |
Tues 10/28 | Memory Management & Large Pages |
HugePage Aware Allocator
Superpages
(optional) |
(Due 10/27 at 4 PM) |
Topic 14 Slides |
Thurs 10/30 | Warehouse-Scale Memory Management | Software-Defined Far Memory |
(Due 10/29 at 4 PM) |
Topic 15 Slides |
Tues 11/4 | TBD | |||
Thurs 11/6 | Far Memory |
Fastswap
(up to S5; skim S5 and eval) aIFM |
(Due 11/5 at 4 PM) |
Topic 16 Slides |
Tues 11/11 | Cloud Databases |
Delta
Lake |
(Due 11/10 at 4 PM) |
Topic 17 Slides |
Thurs 11/13 | Data Processing Systems |
Distributed Ownership |
(Due 11/12 at 4 PM) |
Topic 18 Slides |
Tues 11/18 | Serverless Programming Models | Apiary |
(Due 11/17 at 4 PM) |
Topic 19 Slides |
Thurs 11/20 | Serverless Programming Models Cont. | gg |
(Due 11/19 at 4 PM) |
Topic 20 Slides |
Tues 11/24 | Sustainability | Carbon Aware Datacenters Reducing Embedded Carbon |
(due 11/23 at 5 pm) |
Topic 21 Slides |
Thurs 11/26 | NO CLASS (Thanksgiving) | |||
Tues 12/2 | Microservices and Service Mesh | Service Meshes at Meta |
(Due 12/1 at 4 PM) |
Topic 22 Slides |
Thurs 12/4 | Sky Computing | Sky Computing HotOS paper Sky Computing Whitepaper |
(Due 12/3 at 4 PM) |
Topic 23 Slides |
Tues 12/9 | Class Project Presentations | |||
Thurs 12/11 | Class Project Presentations | |||