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.
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.
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.
Cache Calculus: Modeling Caches through Differential Equations
Nathan Beckmann and Daniel Sanchez. CAL'16.
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.
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.