Georgia Institute of Technology
The authors present parallel prophet, which papers potential parallel speedup from an annotated serial program before actual parallelization. Programmers want to see how much speedup could be obtained prior to investing time and effort to write parallel code. With parallel prophet, programmers simply insert annotations that describe the parallel behavior of the serial program. Parallel prophet then uses lightweight interval profiling and dynamic emulations to predict potential performance benefit. Parallel prophet models many realistic features of parallel programs: unbalanced workload, multiple critical sections, nested and recursive parallelism, and specific thread scheduling and paradigms, which are hard to model in previous approaches.