University of Pennsylvania · Fall 2026

CIS 7000: Operating Systems for Datacenters

MeetingsTuesdays & Thursdays, 12:00–1:30 pm, AGH 214
InstructorJosh Fried — [email protected]
Office hoursTuesdays 2–3 pm, Levine 604
PiazzaPiazza — announcements, logistics, and paper questions before each session
CanvasCanvas — lecture slides, project guidelines, submissions (warm-up, proposal, report), and grades
TestbedCloudLab

Overview

This graduate-level seminar explores recent research in operating systems, focusing on the software infrastructure of the datacenter. The course provides a technical tour of how modern datacenter stacks are architected and examines the challenges inherent in managing resources at warehouse scale. We read, present, and discuss research papers spanning multicore OS architecture, kernel-bypass I/O, OS abstractions, microsecond-scale scheduling, hardware offload, memory management, virtualization and isolation, cluster management, datacenter storage, and machine-learning systems. Students complete a semester-long systems project.

Course Structure

Most sessions cover two related papers. Read the assigned paper(s) and post to Piazza, by 9:00 am on the day of class, a short take on each plus a few questions — things you found unclear, surprising, or worth arguing about. These are ungraded; they exist so the session starts from your questions. They count toward participation and can earn up to 2 bonus points. Most sessions begin with a short in-class quiz on the assigned reading (the lowest seven quiz scores are dropped). Each student signs up to lead roughly two sessions (a ~15–20 minute overview of each paper, then guided discussion); sign-ups open Thu Aug 27 and the first student-led session is Thu Sep 10. On most paper sessions two other students take short rotating roles — Skeptic (three minutes making the case against the paper, including at least one objection about the evaluation) and Historian (three minutes on what this replaced and what happened next). There will be an early warm-up assignment on CloudLab to get you familiar with the computing resources available to you there (assigned Thu Sep 3, due Thu Sep 17).

Prerequisites

A graduate operating systems course (or equivalent), comfort with systems programming in C/C++ and Linux, and networking basics (e.g., an undergraduate networking course). Familiarity with computer architecture is helpful but not required.

Research project

Open-ended and semester-long. Work individually or in pairs; groups are capped at two, and a pair is expected to deliver a correspondingly more substantial project. Strong projects identify a real inefficiency or limitation in a proposed research system, prototype a change, and evaluate it experimentally; reproducing and extending a recent result is also welcome. Using your own graduate research is fine, provided it is related to the material in this course; please discuss scope with the instructor early. Project guidelines are posted Tue Sep 1 — a separate document describing the kinds of project that work in this course, what each has to deliver, and a list of seed ideas you are free to take, adapt, or ignore. The seeds are a starting point for brainstorming, not well-defined projects. Read it before you write your proposal. Class time on Tue Sep 1 covers CloudLab and previews several research systems Josh has built — Shenango/Caladan, Junction, Spice — that might make good substrates for a semester's work. Milestones: proposal (~1–2 pages) due Fri Sep 25; mid-semester checkpoint the week of Oct 19–23; final presentations Tue Dec 1 & Thu Dec 3; a required 20-minute final check-in per group on the reading days, Tue Dec 8 or Wed Dec 9, to walk through your results before submitting; final report (~6 pages, workshop-paper style) due Tue Dec 15. The report is submitted together with your code and a script that regenerates every figure in it from your raw data.

Grading

Research project40%
Quizzes (in class, on the readings)20%
Class participation20%
Discussion leadership & presentation15%
Warm-up assignment (CloudLab)5%
Piazza paper questionsungraded — up to +2 bonus

Schedule

The schedule below is subject to change — topics and readings may shift as the semester progresses; check back for updates.
Paper questions and comments are posted to Piazza by 9:00 am on the day of class; most sessions begin with a short quiz on the reading. Papers tagged industry describe deployed production systems; academic papers are research proposals.

DateTopicReadingPresenterNotes
Part 0 — Introduction
Tue Aug 25Introduction, course overview, and how to read a paper
How to Read a Paper (Keshav, SIGCOMM CCR 2007) academic
optional: The Datacenter as a Computer (ch. 1–2, skim) (Barroso, Hölzle & Ranganathan, 4th ed. 2025) industry
optional: Twenty Five Years of Warehouse-Scale Computing (in memory of Luiz Barroso) (Ranganathan & Hölzle, IEEE Micro 2024) industry
Josh Fried
Thu Aug 27The hardware–OS gap
Attack of the Killer Microseconds (Barroso et al., CACM 2017) industry
Tales of the Tail: Past and Future (Delimitrou & Marty, IEEE Micro 2024) academic
Josh Fried
Leader sign-ups open
Tue Sep 1Sources of tail latency + Platforms for research projects (second half)
The Tail at Scale (Dean & Barroso, CACM 2013) industry
Josh Fried
Project guidelines posted
Thu Sep 3Multi-tenancy and oversubscription
Memory Resource Management in VMware ESX Server (Waldspurger, OSDI 2002) industry
optional: PerfIso: Performance Isolation for Commercial Latency-Sensitive Services (Iorgulescu et al., ATC 2018) industry
Josh Fried
Warm-up assigned
Part 1 — The OS and Modern Hardware
Tue Sep 8Multicore OS scalability
An Analysis of Linux Scalability to Many Cores (Boyd-Wickizer et al., OSDI 2010) academic
optional: An Analysis of Performance Evolution of Linux's Core Operations (Ren et al., SOSP 2019) academic
Josh Fried
Thu Sep 10Kernel-bypass I/O
Arrakis: The Operating System Is the Control Plane (Peter et al., OSDI 2014) academic
Tue Sep 15The kernel storage stack and fast SSDs
XRP: In-Kernel Storage Functions with eBPF (Zhong et al., OSDI 2022) academic
Thu Sep 17Host networking in production
Snap: A Microkernel Approach to Host Networking (Marty et al., SOSP 2019) industry
Warm-up due
Tue Sep 22RPCs and RDMA
Datacenter RPCs Can Be General and Fast (eRPC) (Kalia et al., NSDI 2019) academic
optional: The Tail at Amazon Web Services Scale (Shalev et al., IEEE Micro 2024) industry
Part 2 — Interfaces and Abstractions
Thu Sep 24Datapath abstractions
The Demikernel Datapath OS Architecture (Zhang et al., SOSP 2021) academic
optional: A fork() in the road (Baumann et al., HotOS 2019) industry
Project proposal due Fri Sep 25
Part 3 — Scheduling & Resource Sharing
Tue Sep 29Core scheduling
optional: Syrup: User-Defined Scheduling Across the Stack (Kaffes et al., SOSP 2021) academic
Thu Oct 1No class — Fall Term Break
Tue Oct 6Preemption and time slicing
Mid-semester feedback survey (in class)
Thu Oct 8Datacenter transport
Part 4 — The Datacenter Tax & Hardware Offload
Tue Oct 13The datacenter tax
Profiling a Warehouse-Scale Computer (Kanev et al., ISCA 2015) industry
optional: Retrospective: Profiling a Warehouse-Scale Computer (2 pp.) (Kanev et al., ISCA@50, 2023) industry
optional: Profiling Hyperscale Big Data Processing (Spanner, BigTable, BigQuery) (Gonzalez et al., ISCA 2023) industry
Thu Oct 15Network offload
Tue Oct 20Offloading infrastructure to DPUs
High-density Multi-tenant Bare-metal Cloud (Zhang et al., ASPLOS 2020) industry
Checkpoint this week
Part 5 — Isolation
Thu Oct 22Performance isolation
ResQ: Enabling SLOs in Network Function Virtualization (Tootoonchian et al., NSDI 2018) academic
Tue Oct 27MicroVMs and containers
optional: The True Cost of Containing: A gVisor Case Study (Young et al., HotCloud 2019) academic
Thu Oct 29Guest lecture: serverless cold startsBen Holmes (MIT CSAIL)
Part 6 — Memory
Tue Nov 3Project hacking day (Election Day) — in-class project work and office hours
Thu Nov 5Memory offloading and pooling
TMO: Transparent Memory Offloading in Datacenters (Weiner et al., ASPLOS 2022) industry
optional: AIFM: High-Performance, Application-Integrated Far Memory (Ruan et al., OSDI 2020) academic
Part 7 — The Cluster
Tue Nov 10Cluster management
Large-scale Cluster Management at Google with Borg (Verma et al., EuroSys 2015) industry
Dirigent: Lightweight Serverless Orchestration (Cvetković et al., SOSP 2024) academic
Thu Nov 12Datacenter storage
The Google File System (Ghemawat et al., SOSP 2003) industry
Part 8 — Machine Learning Systems
Tue Nov 17LLM serving
Thu Nov 19GPU networking
Part 9 — Project Presentations
Tue Nov 24Project hacking day — in-class project work and office hours (meets on Penn's Thursday schedule)
Thu Nov 26No class — Thanksgiving Break
Tue Dec 1Project presentationsproject teams
Thu Dec 3Project presentationsproject teams
Final check-in Dec 8–9 · Final report + code due Tue Dec 15

Policies

Further Reading

Additional papers for context and to browse for project ideas.

Workloads & measurement

Storage datapath

Abstractions

Performance isolation & colocation

Scheduling & dataplanes

Transport & load balancing

RDMA & RPCs

NICs, DPUs & accelerators

Memory

Virtualization & isolation

Cluster management & operations

Storage systems

LLM systems

Sustainability & power