Nathan Beckmann

Assistant Professor in the
Computer Science Department and
ECE Department (by Courtesy)
at Carnegie Mellon University

9021 Gates-Hillman Center
my last

Curriculum Vitae
Google Scholar


For a complete list of publications in chronological order, as well as other useful information, please see my curriculum vitae.
Intermittent neural network inference

This project aims to enable a new class of intelligent, energy-harvesting computers. Future IoT applications will demand intelligence at the edge, and battery-less systems that harvest ambient energy from their environment are a promising technology. But energy-harvesting devices introduce new problems, since their intermittent power means that the devices suffer frequent power failures, where forward progress is lost. We are exploring the limits of these devices, developing novel software and hardware techniques to enable ubiquitous machine learning on energy-harvesting systems.

Intermittent Deep Neural Network Inference
Graham Gobieski, Nathan Beckmann, and Brandon Lucia. SysML'18.

Software-defined caches & dynamic data placement

Multicore has turned processors into miniature distributed systems, where data placement is a prime determinant of system performance and energy efficiency. Processors already spend a significant fraction, often more than half, of their time and energy waiting for data. This project introduces a new operating-system-level abstraction: the software-defined cache. Software-defined caches help manage data placement to satisfy application objectives, transparently specializing the memory system to each application. This project develops new hardware mechanisms to support software-defined caches and the software systems needed lto configure them.

Nexus: A New Approach to Replication in Distributed Shared Caches
Po-An Tsai, Nathan Beckmann, and Daniel Sanchez. PACT'17.
[paper] [talk]

Jenga: Software-Defined Cache Hierarchies
Po-An Tsai, Nathan Beckmann, and Daniel Sanchez. ISCA'17.
[paper] [talk]

Whirlpool: Improving Cache Management with Application-Level Data Classification
Anurag Mukkara, Nathan Beckmann, and Daniel Sanchez. ASPLOS'16.
[paper] [talk]

CDCS: Scaling Distributed Cache Hierarchies through Computation and Data Co-Scheduling
Nathan Beckmann, Po-An Tsai, and Daniel Sanchez. HPCA'15. (Best paper nominee)
[paper] [talk]

Jigsaw: Scalable Software-defined Caches
Nathan Beckmann and Daniel Sanchez. PACT'13.
[paper] [extended version] [talk]

Cache analysis and modeling

Caches are pervasive in computer systems and critical to their end-to-end performance. Traditionally, cache analysis has focused on object popularity, assuming that cache requests are largely independent. This is not true of many important workloads, making much of this theory inapplicable in practice. I am interested in theoretically-grounded analysis of caching problems seen in practice, leading to new results on the limits of current systems as well as policies that outperform the best heuristics used in practice.

LHD: Improving Cache Hit Rate by Maximizing Hit Density
Nathan Beckmann, Haoxian Chen, and Asaf Cidon. NSDI'18.
[paper] [talk] [code]

Maximizing Cache Performance Under Uncertainty
Nathan Beckmann and Daniel Sanchez. HPCA'17.
[paper] [talk] [code]

Cache Calculus: Modeling Caches through Differential Equations
Nathan Beckmann and Daniel Sanchez. CAL'16.

Modeling Cache Performance Beyond LRU
Nathan Beckmann and Daniel Sanchez. HPCA'16.
[paper] [talk]

Talus: A Simple Way to Remove Cliffs in Cache Performance
Nathan Beckmann and Daniel Sanchez. HPCA'15.
[paper] [talk]

Other work

I am also interested in many other areas of computer systems. In past and ongoing work, my research has addressed how to ensure quality-of-service (QoS) at minimal energy in datacenters, operating systems for highly parallel systems (e.g., manycores or datacenters), and efficient but accurate architectural simulation.

Improving Datacenter Efficiency through Partitioning-Aware Scheduling
Harshad Kasture, Xu Ji, Nosayba El-Sayed, Nathan Beckmann, Xiaosong Ma, Daniel Sanchez. PACT'17 (short paper).

Cache-Guided Scheduling: Exploiting Caches to Maximize Locality in Graph Processing
Anurag Mukkara, Nathan Beckmann, Daniel Sanchez. AGP Workshop at ISCA'17.

Rubik: Fast Analytical Power Management for Latency-Critical Systems
Harshad Kasture, Davide B. Bartolini, Nathan Beckmann, and Daniel Sanchez. MICRO'15.
[paper] [talk]

Design and Analysis of Spatially-Partitioned Shared Caches
Nathan Beckmann. PhD thesis, MIT EECS, Sep 2015. George M. Sprowls Doctoral Thesis Prize.
[thesis] [defense] (Defense content differs slightly from thesis.)

PIKA: A Network Service for Multikernel Operating Systems
Nathan Beckmann, Charles Gruenwald III, Christopher R. Johnson, Harshad Kasture, Filippo Sironi, Anant Agarwal, M. Frans Kaashoek, and Nickolai Zeldovich. CSAIL Technical Report.

An Operating System for Multicores and Clouds
David Wentzlaff, Charles Gruendwald III, Nathan Beckmann, Kevin Modzelewski, Adam Belay, Lamia Youseff, Jason Miller, and Anant Agarwal. SOCC'10.

Graphite: A Distributed Parallel Simulator for Multicores
Jason Miller, Harshad Kasture, George Kurian, Charles Gruenwald, Nathan Beckmann, Christopher Celio, Jonathan Eastep, and Anant Agarwal. HPCA'10.