Note: I am recruiting PhD students at Tufts! If you are interested, please apply to the Tufts’ Computer Science Department here. Also, drop me an email telling me: (1) that you applied and (2) what interests you about systems and networking research. The deadline is January 15th, 2020.
I am an assistant professor in the Computer Science Department at Tufts University. My research focuses on supporting innovation in the cloud ecosystem. This involves addressing three broad research questions: (1) How can we build cloud-based distributed systems that are easily upgradeable or evolvable to support new use cases? (2) How can we sophisticated tools to help engineers diagnose problems in cloud-based systems? (3) How can we build systems that are simpler and easier to observe and understand? The latter two research questions are crticially important because engineers’ ability to diagnose problems in cloud systems is an upper bound on the amount of complexity (innovation) that they can support. To make progress on these questions, I combine systems/networking domain knowledge with ideas from other fields, such as machine learning and visualization.
In my previous life, I was a Red Hat Visiting Research Scientist at Boston University (BU). I led a research group that focused on building diagnosis tools for cloud systems and I worked with Orran Krieger on the Mass Open Cloud (MOC) project. 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 Peter Steenkiste. My research focused on creating mechanisms for upgrading inter-domain routing on the Internet (SIGCOMM’17).
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 (poorly), running (poorly), and reading sci-fi novels. I also occasionally blog at Formalized Curiosity.