I am a Post Doctoral researcher working with Daniel Sanchez at MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL). In January 2017, I will be joining Carnegie Mellon University as an assistant professor in the Computer Science Department.
I work in computer architecture, with experience in distributed operating systems. Currently I'm focused on reducing data movement in multicores, which takes over half of energy in current chips, by redesigning caches so they dynamically adopt an application-specific organization.
My PhD thesis, Design and Analysis of Spatially-Partitioned Shared Caches, received the 2015 Sprowls Doctoral Thesis Prize for the "best PhD thesis in computer science at MIT". This work exposes physical cache banks to software, letting the operating system schedule applications' working sets in nearby cache banks. This work spans cache partitioning, dynamic NUCA, heterogeneous memories, replacement policies, etc. to reduce overall data movement. A common theme is the use of analytical models in software to control simple, efficient, but "dumb" hardware. This analytical approach yields robust performance and deep insights into computer systems.
I have formerly worked in Anant Agarwal's group on fos, a distributed operating system for multicore and clouds. After Anant joined edX full-time, I briefly worked with Frans Kaashoek and Nickolai Zeldovich in the PDOS group. A long time ago, I also worked on Graphite, a distributed multicore simulator. My other interests include math, cryptography, and analytical modeling.
I got my Bachelors of Science from the University of California, Los Angeles. I graduated summa cum laude in Computer Science and Mathematics of Computation and was honored as the Bachelor of the Year (2008) in Computer Science.
I received my masters degree in 2010 from MIT. My thesis, "Distributed Naming in a Factored Operating System", won the William A. Martin Memorial Thesis Award for an outstanding Master's thesis.
Cache Calculus: Modeling Caches through Differential Equations
Nathan Beckmann and Daniel Sanchez. CAL'16.
Whirlpool: Improving Cache Management with Application-Level Data Classification
Anurag Mukkara, Nathan Beckmann, and Daniel Sanchez. ASPLOS'16.
Modeling Cache Performance Beyond LRU
Nathan Beckmann and Daniel Sanchez. HPCA'16.
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.
I used to compete in local powerlifting meets. Since late 2009 I have been on hiatus, but I still do powerlifting-style training. For about one month I held the USPF California Junior (up to 23 yo) deadlift record in the 198 lb class at 569 lbs. My best meet total is 1295 lbs in the 220 weight class.
I'm an avid gamer. For a time I was very into MMORPGs as the main tank and officer of my guild. Since that kind of schedule can't be maintained while getting research done, I've moved on to other games.
These days, I mostly play modern board games (think Catan, not Monopoly). You can find my collection here. I have also recently gotten interested in miniature painting.
I posted an analysis of different competitive tournaments in Starcraft II on the most popular community site. This was my first foray into Go. I wrote a simple combat parser for Rift. This was my first project in Scala.