Craig Mustard

PhD Candidate

Electrical and Computer Engineering
University of British Columbia

Last updated: Mon Apr 05 2021 10:16:15 GMT-0700 (Pacific Daylight Time)

About Me

I'm looking for a job! I am graduating in Fall 2020. Reach out!

Hi there! I'm a final-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.



Thesis: Compilation-assisted Performance Acceleration for Data Analytics
Craig Mustard
UBC LIbrary

My PhD thesis presented Jumpgate and KeyChain, two techniques that draw on compilation techniques to improve performance of data analytics.

Parking Packet Payload with P4
Swati Goswami, Nodir Kodirov, Craig Mustard, Ivan Beschastnikh, Margo Seltzer
CoNEXT 2020

Network Function (NF) throughput is bounded by network link capacity, but that capacity is wasted by unexamined packet payload. This paper explores using a programmable switch to temporarily hold unexamined packet data to improve link goodput and improve NF performance.

Processing in Storage Class Memory
Joel Nider, Craig Mustard, Andrada Zoltan, Alexandra Fedorova
HotStorage 2020

The increased storage bandwidth of Storage Class Memories (e.g., NVRAM) means software will become the bottleneck when reading from storage. To help offset this bottleneck, this paper advocates for adding processors to SCM that scale with storage capacity.



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)