Automatic Trace-Based Parallelization of Recursive Programs

We explore the use of traces, i.e. hot paths of execution, as units of parallel work. This approach has many advantages, including not requiring source code, subsuming loops and methods as units of parallel work, and allowing for efficient collection of runtime information. In previous work, we have demonstrated these benefits and addressed the challenges of using traces for data-parallel applications in an offline feedback directed system. In this talk, we will describe the progress made towards automatically parallelizing recursive applications. In particular, we will present the execution model that we use, describe how applications are transformed, and show some preliminary results.
Greg Steffan
Last modified: Tue Aug 26 09:28:55 EDT 2008