Improving Parallel Programmability with Determinism

Nondeterminism is a key complication in programming multicore systems. Previous approaches to coping with it have focused on replay or required the adoption of new languages, but my research has shown how to provide deterministic execution for arbitrary parallel programs written in existing languages. My work has examined how to build deterministic platforms using novel hardware, compilers, runtimes, and type systems. I will also discuss the many uses of determinism, from debugging, testing, and replicating multithreaded programs to using determinism to accelerate dynamic safety and security checks.

Speaker Details

I am a 5th-year PhD student at the University of Washington. I work with my advisers Luis Ceze and Dan Grossman on making multiprocessors easier to program by leveraging changes in computer architecture, compilers, runtime systems and languages. I was awarded an Intel PhD Fellowship for 2011-12 to fund my final year of graduate study.

Joseph Devietti
University of Washington