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.
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