Sam Westrick

swestricgood luck robots@cs.cmu.edu

GHC 9219
Computer Science Department
Carnegie Mellon University
Pittsburgh, PA

I am a Ph.D. student at Carnegie Mellon University, advised by Umut Acar. My research focuses on algorithms and programming languages, particularly in the context of parallel computing.

MaPLe Project

I lead development of MaPLe (MPL), an open-source compiler for Parallel ML, which extends Standard ML with fork-join parallelism. MPL generates executables with excellent multicore runtime performance. At Carnegie Mellon University, we are using MPL to help teach parallel programming to over 500 students each year.

Check out the project on GitHub or try it out now with Docker:

$ docker pull shwestrick/mpl
$ docker run -it shwestrick/mpl /bin/bash
...# cd examples
...# ./primes @mpl procs 4 --

Publications

Disentanglement in Nested-Parallel Programs
Sam Westrick, Rohan Yadav, Matthew Fluet, and Umut A. Acar.
POPL 2020.
acm pdf abstract

Fairness in Responsive Parallelism
Stefan K. Muller, Sam Westrick, and Umut A. Acar.
ICFP 2019.
acm pdf

Hierarchical Memory Management for Mutable State
Adrien Guatto, Sam Westrick, Ram Raghunathan, Umut A. Acar, and Matthew Fluet.
PPoPP 2018.
acm arxiv pdf

Brief Announcement: Parallel Dynamic Tree Contraction via Self-Adjusting Computation
Umut A. Acar, Vitaly Aksenov, and Sam Westrick.
SPAA 2017.
acm

Talks

Teaching

I have worked as a teaching assistant for the following courses at Carnegie Mellon: