Craig Mustard

dblp:71/7411 · DBLP profile ↗
← Back
8ranked-venue papers
2as first author
2since 2021 · last 2021
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 4 · 1 first-author · 2 since 2021Software engineering, systems software and programming languages · 2Artificial intelligence and machine learning · 1 · 1 first-authorComputer networks · 1Databases, data management, data science and information retrieval · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Memory systems · 44% Parallel and multicore computing · 22% Distributed systems · 22%
Computer networks
1 paper
Software-defined and programmable networks · 88% Network management and operations · 12%
Software engineering, system software, and programming languages
2 papers
Debugging and program repair · 47% Empirical software engineering · 47% Concurrent programming · 5%

Topics — the 13 heaviest of 13, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Memory systems
processing-in-memory
0.512021
A Case Study of Processing-in-Memory in off-the-Shelf Systems · USENIX ATC 2021
Software-defined and programmable networks › programmable data plane
in-network computation
0.412020
Parking packet payload with P4 · CoNEXT 2020
Software-defined and programmable networks
programmable data plane
0.412020
Parking packet payload with P4 · CoNEXT 2020
Empirical software engineering
developer studies
0.312018
Performance comprehension at WiredTiger · ESEC/SIGSOFT FSE 2018
Debugging and program repair
performance debugging
0.312018
Performance comprehension at WiredTiger · ESEC/SIGSOFT FSE 2018
Performance modeling and evaluation
workload characterization
0.112021
A Case Study of Processing-in-Memory in off-the-Shelf Systems · USENIX ATC 2021
Software-defined and programmable networks
network function
0.112020
Parking packet payload with P4 · CoNEXT 2020
Network management and operations
network function optimization
0.112020
Parking packet payload with P4 · CoNEXT 2020
Distributed systems › workflow management
dependency management
0.112011
Synchronization via scheduling: techniques for efficiently managing shared state · PLDI 2011
Parallel and multicore computing
parallel programming models
0.112011
Synchronization via scheduling: techniques for efficiently managing shared state · PLDI 2011
Distributed systems › distributed coordination
shared state management
0.112011
Synchronization via scheduling: techniques for efficiently managing shared state · PLDI 2011
Parallel and multicore computing › task scheduling
task graph scheduling
0.112011
Synchronization via scheduling: techniques for efficiently managing shared state · PLDI 2011
Concurrent programming
synchronization
0.012011
Synchronization via scheduling: techniques for efficiently managing shared state · PLDI 2011

Methods — techniques the papers use, named apart from their topics

stateful memory · 0.4p4 · 0.4qualitative study · 0.3task graph model · 0.2
YearPublicationVenuePosition
2021 Jumpgate: automating integration of network connected accelerators
abstract
Network-connected accelerators (NCA), such as programmable switches, ASICs, and FPGAs can speed up operations in data analytics. But so far, integration of NCAs into data analytics systems required manual effort.
Craig Mustard, Swati Goswami, Niloofar Gharavi, Joel Nider, Ivan Beschastnikh, Alexandra Fedorova
SYSTOR1
2021 A Case Study of Processing-in-Memory in off-the-Shelf Systems
Joel Nider, Craig Mustard, Andrada Zoltan, John Ramsden, Larry Liu, Jacob Grossbard, Mohammad Dashti 0002, Romaric Jodin, Alexandre Ghiti, Jordi Chauzi, Alexandra Fedorova
USENIX ATC2
2020 Parking packet payload with P4
abstract
Network Function (NF) deployments suffer from poor link goodput, because popular NFs such as firewalls process only packet headers while receiving and transmitting complete packets. As a result, unnecessary packet payloads needlessly consume link bandwidth. We introduce PayloadPark, which improves goodput by temporarily parking packet payloads in the stateful memory of dataplane programmable switches. PayloadPark forwards only packet headers to NF servers, thereby saving bandwidth between the switch and the NF server. PayloadPark is a transparent in-network optimization that complements existing approaches for optimizing NF performance on end-hosts.
Swati Goswami, Nodir Kodirov, Craig Mustard, Ivan Beschastnikh, Margo I. Seltzer
CoNEXT3
2020 Processing in Storage Class Memory
Joel Nider, Craig Mustard, Andrada Zoltan, Alexandra Fedorova
HotStorage2
2018 Practical Cross Program Memoization with KeyChain
abstract
Cross program memoization (CPM) reduces resource utilization and improves response times by enabling data processing systems to re-use previously computed results between programs. An under-explored requirement to implementing CPM in general purpose data processing systems like Apache Spark is computing identifiers for results of user-defined functions that are valid between programs while avoiding degrading system performance when sharing is not possible. In this paper we describe and evaluate a technique, called KeyChain, that computes keys for intermediate and final results of programs with user-defined functions. We use KeyChain to implement CPM in Apache Spark, and show that KeyChain's simple design means it can be easily added to relevant systems, incurs low runtime overheads, and enables heuristic detection of equivalent programs so that CPM can be added to more systems and useful results can be more widely re-used.
Craig Mustard, Alexandra Fedorova
IEEE BigData1
2018 Performance comprehension at WiredTiger
abstract
Software debugging is a time-consuming and challenging process. Supporting debugging has been a focus of the software engineering field since its inception with numerous empirical studies, theories, and tools to support developers in this task. Performance bugs and performance debugging is a sub-genre of debugging that has received less attention.
Alexandra Fedorova, Craig Mustard, Ivan Beschastnikh, Julia Rubin, Augustine Wong, Svetozar Miucin, Louis Ye
ESEC/SIGSOFT FSE2
2011 Synchronization via scheduling: techniques for efficiently managing shared state
abstract
Shared state access conflicts are one of the greatest sources of error for fine grained parallelism in any domain. Notoriously hard to debug, these conflicts reduce reliability and increase development time. The standard task graph model dictates that tasks with potential conflicting accesses to shared state must be linked by a dependency, even if there is no explicit logical ordering on their execution. In cases where it is difficult to understand if such implicit dependencies exist, the programmer often creates more dependencies than needed, which results in constrained graphs with large monolithic tasks and limited parallelism.
Micah J. Best, Shane Mottishaw, Craig Mustard, Mark Roth, Alexandra Fedorova, Andrew Brownsword
PLDI3
2009 Searching for Concurrent Design Patterns in Video Games
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, Andrew Brownsword
Euro-Par6