I am interested in the theory, design, implementation, evaluation, and deployment of large-scale distributed systems. Keywords like big data, storage, consistency, geo-replication, consensus, concurrency control, and fault tolerance pique my interest.
One of my research directions looks at the tradeoffs between the power and performance properties of distributed systems. Power properties like consistency and transactional abilities make systems easier to reason about and program against. Performance properties like latency and throughput affect end user experience and the capital cost of systems. We're exploring what combinations of power and performance are and aren't possible. The SNOW Theorem and Janus is our most recent work in this area, which also includes Existential Consistency, Consistency Challenges, Rococo, Eiger, and COPS.
Another of my research directions looks at understanding and improving media processing, storage, and delivery at massive scale. RIPQ and extensions from deploying it in practice at Facebook described in this blog post are our most recent published work in this area, which also includes f4 and a study of the Facebook photo caching stack. Most of this work focused on photos, and we're currently exploring the new challenges posed by videos.
All of this research is made possible by my fantastic students: