Main memory has emerged as a critical bottleneck resource in modern datacenters. Memory capacity and bandwidth bottlenecks have resulted in unsustainable costs for datacenter operators and severe performance impact for modern applications (e.g., key-value stores, data analytics, graph processing). Memory bottlenecks are even more acute for AI applications running on GPUs (e.g., LLM inference). In this course, we will explore approaches to mitigate and manage datacenter memory bottlenecks across the hardware and software stack spanning operating systems, distributed systems and computer architecture.
This seminar-style course will cover a wide range of topics, including but not limited to: OS memory management, memory offloading, tiering and disaggregation, address translation optimizations, memory bandwidth management, LLM inference memory management, and new memory technologies. Topic discussions will primarily be guided by recent research papers in top-tier OS, distributed systems and computer architecture conferences.
This course is primarily intended for PhD students in computer science who are interested in pursuing research in one or more of the operating systems, distributed systems and computer architecture areas.
MS students and undergraduates interested in the course material are also welcome to join. The following prerequisites are required for undergrads: a grade of B or higher in CS 35400.
Note that the below schedule and reading list is subject to change. Please keep an eye on the course website and Brightspace/email announcements for updates.
| Date | Topic | Readings |
|---|---|---|
| Warmup | ||
| Aug 25 | No class | |
| Aug 27 | No class | |
| Sep 1 | Course introduction and preliminaries [slides] | |
| Sep 3 | Memory technology trends |
Required
Memory Wall
Optional
AI and Memory Wall
|
| Classical OS memory management | ||
| Sep 8 | Linux memory management | |
| Sep 10 | NUMA memory management [slides] |
Required
Verghese
Optional
AutoNUMA
|
| Sep 15 | VM memory management [slides] | |
| Memory offloading, tiering and disaggregation | ||
| Sep 17 | Saving memory capacity by offloading [slides] |
Required
TMO
|
| Sep 22 | Offloading policies |
Required
MDK
|
| Sep 24 | Memory disaggregation or pooling |
Optional
Mage
|
| Sep 29 | OS memory tiering [slides] |
Optional
Colloid
|
| Oct 1 | Hardware-managed memory tiering |
Required
JohnnyCache
Optional
Memstrata
|
| Oct 6 | Interconnects for memory disaggregation |
Required
Octopus
|
| Virtual to physical address translation | ||
| Oct 8 | Pages vs. hugepages |
Required
Ingens
Optional
MEMTIS
|
| Oct 9 | Initial project proposal due | |
| Oct 13 | Fall break | |
| Oct 15 | TLB compression |
Required
Mosaic pages
|
| Oct 20 | Mid-term exam | |
| Oct 22 | Address translation for VMs |
Required
DMT
|
| Memory bandwidth problems | ||
| Oct 27 | Industry observations on memory bandwidth bottlenecks | |
| Oct 29 | Interplay between host interconnects |
Required
Understanding the Host Network
Optional
hostCC
|
| Nov 3 | DDR and DRAM architecture | |
| Nov 5 | Memory controller scheduling |
Required
STFM
|
| GPU/AI memory bottlenecks | ||
| Nov 10 | Memory capacity and bandwidth limits for LLM inference | |
| Nov 12 | Inference memory management: Paged attention |
Optional
vLLM anatomy
|
| Nov 13 | Mid-term report due | |
| Nov 17 | Inference memory management: Long context |
Required
Strata
Optional
ECHO
|
| Nov 19 | Inference memory management: Heterogeneous models |
Required
Jenga
|
| Nov 24 | Project feedback (optional class) | |
| Nov 26 | Thanksgiving break | |
| Final project presentations | ||
| Dec 1 | Project presentations | |
| Dec 3 | Project presentations | |
| Looking into the future | ||
| Dec 8 | Processing in memory for inference |
Required
CENT
|
| Dec 10 | New memory technologies | |
| Dec 15 | Final report due | |
The course is structured around student-led presentations and discussion held during weekly sessions, with the instructor providing guidance and facilitating exploration of the material. Course evaluation is based on in-class presentations, one assignment, one midterm exam, and a research project.
Each student is required to select a single class during which they will present the paper(s) listed as required readings for that class. Presenting for more than one class is welcome, but not required.
The exact assignments and their details will be announced during the course of the class. Below is a tentative description to give students a high-level idea.
Students can select one of three options
The midterm will be an in-class oral examination. Please see the Brightspace announcement for details.
Students can choose one of two options, described below. In both cases, a proposal, a mid-term report, a presentation, and a final report are required.
Option A: Research project. Motivate a research problem, identify limitations of related work, propose a solution or approach, and make progress toward implementing and evaluating the proposed solution or approach. This option can be done individually or in groups of two.
Option B: Survey. Identify a topic of interest relevant to the course, do a literature search for papers related to the topic, create a taxonomy or categorization of the existing literature, identify limitations of existing literature and discuss remaining open problems. This option is done individually.
Checkpoints. All the following checkpoints are required for both research project and survey. The proposal, mid-term report and final report will be submitted via Brightspace.
| Due | Checkpoint | Research project | Survey |
|---|---|---|---|
| Oct 9 | Proposal1 page |
|
|
| Nov 13 | Mid-term report2-3 pages |
|
|
| Dec 1, 3 | Presentation15-20 minutes |
|
|
| Dec 15 | Final report5-6 pages |
|
|