I develop novel distributed systems for large-scale data processing. In this field, I focus on two areas: increasing the expressiveness and performance over existing systems.

I am currently an architect on the AI Frameworks team within Microsoft Azure, focused on training support in the ONNX Runtime.

Before that at Google, I was a core member of the TensorFlow team, in Google Brain. At Microsoft Research, I developed Naiad, which is the first system to support incremental, iterative, and interactive computations on a distributed cluster.

Previously, I received a PhD from the University of Cambridge for my work on the CIEL distributed execution engine. For CIEL, I developed a new programming language (Skywriting) and a runtime that could execute imperative and functional code in a distributed system. Skywriting makes it simple to express iteration and recursion in a distributed workflow, and CIEL executes these programs reliably and efficiently.