He received his PhD in Computer Science from Stanford University in 2008, focusing on research in programming models, algorithms, and runtime systems for parallel architectures including GPUs, Cell, multi-core, and clusters. His dissertation includes the Sequoia runtime system, a system for programming hierarchical memory machines. He received his BS in Computer Science from the University of California, San Diego in 2001 and is a recipient of the Intel Graduate Fellowship.