I'm a Research Assistant Professor in Computer Science and Engineering at the University of Washington.
I take a broad view of systems research — my past projects range from operating systems and distributed systems to networking, databases, architecture, and security. I'm particularly interested in projects that involve two or more of these areas.
Most of my ongoing work focuses on building distributed systems for the data center environment. We are investigating the co-design of distributed algorithms with the data center network fabric, as well as cross-protocol optimizations in distributed systems.
A major theme in both my current and past work has been building practical systems that offer strong consistency guarantees at minimal cost. TxCache is an application-level cache for web applications that guarantees transactional consistency and provides a simple programming model. PostgreSQL 9.1 offers serializable isolation without blocking using our optimized version of Serializable Snapshot Isolation.
Before arriving at UW, I received a Ph.D. from MIT in June 2012, where I was advised by Barbara Liskov in the Programming Methodology Group at CSAIL. Earlier, I received a M.Eng. (Feb 2007) and S.B. degrees in Computer Science and Mathematics (both 2005) from MIT. I also consulted for VMware, primarily on the Overshadow research system for for defending applications from compromised operating systems, and on cache-aware scheduling algorithms for multiprocessors.
Selected current projects
- Speculative Paxos: building more efficient replication using approximate synchrony in data center networks
- TAPIR: cross-protocol optimizations for high-performance distributed transactional storage
- Predictable tail latency for networked services
- Arrakis: the operating system as control plane
- Agate: user-controlled privacy for mobile-cloud systems
- Persistent process containers for non-volatile main memory systems