Craig Mustard

PhD Candidate

Electrical and Computer Engineering
University of British Columbia

Last updated: Tue Jul 09 2019 10:18:31 GMT-0700 (Pacific Daylight Time)

About Me

Hi there! I'm a fifth-year PhD student, supervised by Alexandra (Sasha) Fedorova at the University of British Columbia. My research interests revolve around data analytics systems, compilers, and computer architecture, and how they can be made to work together to do useful things for people. But, you might also catch me performing a qualitative study. :)

I transferred to UBC, along with Sasha, in Fall 2016. At UBC, I also work with Ivan Beschastnikh and members of the NSS Lab. Before, I was at Simon Fraser University, where I got my bachelors (2007-2011), and worked on a masters (2011-2013) before transferring to their PhD program.

I have significant experience outside of academia. I worked at Oracle Labs for two years (2015-2016) on the RAPID Project [1,2,3] where I worked on the C/C++ compiler for the DPU instruction set, improved project-wide performance analysis tools, and wrote a highly efficient JSON parser and other workloads. Prior to Oracle, I interned at ST-Microelectronics (Summer 2013) as part of my Master's work, where I developed software for emerging scratchpad memory architectures, such as software caches and map-reduce frameworks. Before starting my bachelors, I co-founded a company that built easy to use content management systems.

In my spare time, when I'm not enjoying the outdoors of British Columbia, I volunteer politically and help with systems and analysis. I work on Dandelion, the most reliable mobile canvassing app out there, exclusively for use by progressive campaigns.



Jumpgate: In-Network Processing as a Service for Data Analytics
Craig Mustard, Fabian Ruffy, Anny Gakhokidze, Alexandra Fedorova, Ivan Beschastnikh
HotCloud 2019

To enable data analytics systems to benefit from in-network processing, this paper proposes to offer in-network processing as a service.

Paper Slides


(Poster) JumpGate: Towards In-Network Data Processing
Craig Mustard, Alexandra Fedorova, Ivan Beschastnikh
OSDI 2018

A proposal to apply computation along the network path from storage to compute nodes.

Paper Poster
Practical Cross Program Memoization with KeyChain Awarded Best Paper!
Craig Mustard, Alexandra Fedorova
IEEE BigData 2018 (Acceptance rate: 18.9%)

A low overhead and effective technique to identify equivalent computations in user-defined functions of data processing systems. Awarded Best Paper.

Paper Slides
Performance Comprehension at WiredTiger
Alexandra Fedorova, Craig Mustard, Ivan Beschastnikh, Julia Rubin, Augustine Wong, Svetozar Miucin, Louis Ye
FSE 2018 (Acceptance rate 19%)

How do programmers approach the task of understanding performance in request-driven programs?

Paper Slides Publisher


Access Declarations: Revealing Data Access Patterns to Hardware
Craig Mustard, Svetozar Miucin, Yuan Liu, Karol Swietlicki, Yuxuan Li, Alexandra Fedorova, and Arrvindh Shriraman
HotPar 2013


Deconstructing the Overhead in Parallel Applications
Mark Roth, Micah J. Best, Craig Mustard, Alexandra Fedorova


Synchronization via Scheduling: Techniques For Efficiently Managing Shared State
Micah J Best, Shane Mottishaw, Mark Roth, Craig Mustard, Alexandra Fedorova, Andrew Brownsword
PLDI 2011

Paper Publisher
(Poster) Schedule Data, Not Code
Micah J Best, Shane Mottishaw, Craig Mustard, Mark Roth, Parsiad Azimzadeh,Alexandra Fedorova and Andrew Brownsword
HotPar 2011


Synchronization via Scheduling: Managing Shared State in Video Games
Micah J Best, Shane Mottishaw, Craig Mustard, Mark Roth, Alexandra Fedorova and Andrew Brownsword
HotPar 2010


Exploring Practical Benefits of Asymmetric Multicore Processors
Jon Hourd, Chaofei Fan, Jiasi Zeng, Qiang (Scott) Zhang, Micah J Best, Alexandra Fedorova and Craig Mustard
Workshop on Parallel Execution of Sequential Programs on Multi-core Architectures, in conjunction with ISCA-36

Searching for Concurrent Design Patterns in Video Games: Practical lessons in achieving parallelism in a video game engine
Micah J Best, Alexandra Fedorova, Ryan Dickie, Andrea Tagliasacchi, Alex Couture-Beil, {Craig Mustard}, Shane Mottishaw, Aron Brown, Zhi Feng Huang, Xiaoyuan Xu, Nasser Ghazali and Andrew Brownsword
Euro-Par 2009 (33% acceptance rate)