Issue No. 02 - February (2002 vol. 13)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/71.983944
<p><b>Abstract</b>—Programs whose parallelism stems from multiple recursion form an interesting subclass of parallel programs with many practical applications. The highly irregular shape of many recursion trees makes it difficult to obtain good load balancing with small overhead. We present a system, called REAPAR, that executes recursive C programs in parallel on SMP machines. Based on data from a single profiling run of the program, REAPAR selects a load-balancing strategy that is both effective and efficient and it generates parallel code implementing that strategy. The performance obtained by REAPAR on a diverse set of benchmarks matches that published for much more complex systems requiring high-level problem-oriented explicitly parallel constructs. A case study even found REAPAR to be competitive to handwritten (low-level, machine-oriented) thread-parallel code.</p>
Granularity control, irregular problems, recursion, instrumentation, profiling, SMP, benchmarks.
L. Prechelt and S. U. Hänßgen, "Efficient Parallel Execution of Irregular Recursive Programs," in IEEE Transactions on Parallel & Distributed Systems, vol. 13, no. , pp. 167-178, 2002.