I am a research scientist at Boston University (BU). My research focuses on building the easily upgradeable or evolvable, multi-party distributed systems needed to support innovation in the cloud ecosystem. A core part of my research involves creating sophisticated diagnosis tools for these systems since the extreme difficulty of diagnosing new problems is a significant barrier to change. At BU, I lead the Diagnosis and Control of Clouds Lab (DOCC Lab) and work with Orran Krieger on the Mass Open Cloud (MOC) project. In the Fall of 2019, I will be joining Tufts University’s CS department as an Assistant Professor.
From 2013 to 2016, I was a postdoctoral researcher in the CS Department at Carnegie Mellon University (CMU). I worked on the XIA project and was advised by Professor Peter Steenkiste. My research focused on creating mechanisms for upgrading inter-domain routing on the Internet (SIGCOMM’17). In the Fall of 2013, I co-developed and co-taught the initial offering of CMU’s graduate class on cloud computing (15-719).
I completed my Ph.D. in the ECE Department at CMU in May 2013. I worked at the Parallel Data Lab (PDL) and was advised by Professor Greg Ganger. My dissertation focused on creating tools to reduce the difficulty of diagnosing problems in distributed systems (NSDI’11, InfoVis’13, SoCC’16). My research on creating workflow-centric tracing infrastructures and diagnosis tools that use the resulting traces has been cited over 200 times. It has also influenced industrial tracing efforts—examples include Jaeger’s trace-comparison visualizations and Uber’s recent efforts to create many-to-many-trace-comparison tools. (Workflow-centric tracing is also called end-to-end tracing.)
In 2007, I appeared in a PhDComics strip encouraging CS grad students to wear lab coats to work. In my spare time, I enjoy playing tennis, running, and photography. I also occasionally blog at Formalized Curiosity.