Brown CSCI 2690: Cloud and Datacenter Operating Systems

Fall 2025

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).

Resources: Canvas, EdStem


Google Datacenter

Course Description

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.


Course Structure

The course is structured into the following components:


Class Reading, Reading Responses (30%)

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:


Class Discussion Lead & Class Participation (30%)

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:


Warmup Assignment (Optional)

The goal of the warmup assignment is to familiarize students with Cloudlab, so students may use it as an experimentation platform for their projects. We will try to post it by the second class; due to machine availability, it may be difficult to reserve the machines needed.

Semester-Long Project (40%)

More details about the project are here. An ideal project could later become a strong submission to a systems conference such as OSDI, SOSP, ATC, Eurosys, or NSDI. Some administrative notes about the project:

Project Dates:

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

Time Breakdown

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.


Collaboration Policy

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:

A word about citing: as you can see we require you to cite any external sources you use for the class. External sources here include but are not limited to previously published articles, blog posts, Stackoverflow or similar sites, conversations with other people, etc. This policy is not meant to discourage the use of external sources, instead it just codifies a standard academic practice. You should be generous with your citations.

Finally, by taking this class, you agree to never post any solutions for the warmup assignment publicly.


Course Readings Calendar

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