I am interested in computer systems, computer architecture, and performance modeling. My current projects cover hardware, software, and theory. I am currently working on how to build intelligent edge devices, how to make parallel systems more efficient (particularly by making it less expensive to access data), and using theory to address the huge practical problems still posed by caches.
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 introduced a new abstraction to manage data placement in large multicores, the software-defined cache. By exposing physical cache banks to software, the operating system can schedule applications' working sets in nearby cache banks to minimize overall data movement. A common theme is the use of analytical models in software to control simple, efficient, but "dumb" hardware.
My PhD (2012-2015) was advised by Daniel Sanchez at MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL). I stayed for a one-year postdoc with Daniel (2015-2016).
Before that, I worked in Anant Agarwal's group on fos, a distributed operating system for multicore and clouds (2008-2011). After Anant joined edX full-time, I briefly worked with Frans Kaashoek and Nickolai Zeldovich in the PDOS group (2011-2012). A long time ago, I also worked on Graphite, a distributed multicore simulator. My other interests include math and cryptography.
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. 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.