Andrew Quinn [CV]
4929 CSE
2260 Hayward St.
Ann Arbor, MI 48105

About Me

I'm a fourth year ph.d student working with Jason Flinn at the University of Michigan. My research interests are in the area of operating systems and distributed systems. Specifically, I build systems that enable developers to interactively execute complex queries about the behavior of their software. My work accelerates expensive queries by parallelizing them across entire computer clusters; with hundreds or thousands of machines, developer queries take seconds instead of minutes or hours. My work is supported by a Microsoft Research Fellowship (2017) and a National Science Foundation Graduate Research Fellowship (2017).


Sledgehammer was accepted to OSDI '18! Our observation is that today's debugging tools are either interactive (e.g. gdb) or powerful (e.g. detailed logging, invariant checkers). To break this dichotomy, we introduce cluster-fueled debugging which provides power and interactivity by parallelizing debugging queries across thousands of cores in a compute cluster. Realizing cluster-fueled debugging requires introducing scalability as a design constraint, which we follow to build Sledgehammer, the world's first cluster-fueled debugger. Sledgehammer uses cluster-fueled debugging to enable three debugging tools: retro-logging, continuous function evaluation, and retro-timing. Our results show that Sledgehammer scales to 1024 cores and accelerates queries by a factor of 416 on average. Check out our paper here if you want to learn more!

My first research project, JetStream, was published at OSDI '16. JetStream applies cluster computing to parallelize dynamic information flow tracking (DIFT), a tool that helps developers understand causality in software. Prior research has called DIFT ''embarasingly sequential'', so cluster-scale parallelization requires rethinking the approach used to realize DIFT. JetStream leverages two different types of parallelism and shows that a little bit of sequential information can massively improve scalability. JetStream scales to at least 128 cores and attains an order of magnitude speedup over sequential DIFT. In most cases, JetStream is able to calculate the information flow of a program execution faster than program's original execution. Check out the paper here.


Sledgehammer: Cluster-Fueled Debugging
Andrew Quinn, Jason Flinn, and Mike Cafarella
Proceedings of the 2018 USENIX Symposium on Operating Systems Design and Implementation (OSDI), October 2018. [PDF][Slides]

JetStream: Cluster-scale Parallelization of Information Flow Queries
Andrew Quinn, David Devecsery, Peter M Chen and Jason Flinn
Proceedings of the 2016 USENIX Symposium on Operating Systems Design and Implementation (OSDI), November 2016. [PDF][Slides]