Issue No. 10 - October (2006 vol. 17)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2006.131
Lawrence Rauchwerger , IEEE
Hao Yu , IEEE
<p><b>Abstract</b>—Irregular and dynamic memory reference patterns can cause performance variations for low level algorithms in general and for parallel algorithms in particular. In this paper, we present an adaptive algorithm selection framework which can collect and interpret the characteristics of a particular instance of parallel reduction algorithms and select the best performing one from an existing library. The framework consists of the following components: 1) an offline systematic process for characterizing the input sensitivity of parallel reduction algorithms and a method for building corresponding predictive performance models, 2) an online input characterization and algorithm selection module, and 3) a small library of parallel reduction algorithms, which represent the algorithmic choices made available at runtime. We also present one possible integration of this framework in a restructuring compiler. We validate our design experimentally and show that our framework 1) selects the most appropriate algorithms in 85 percent of the cases studied, 2) overall, delivers 98 percent of the optimal performance, 3) adaptively selects the best algorithms for dynamic phases of a running program (resulting in performance improvements otherwise not possible), and 4) adapts to the underlying machine architectures (evaluated on IBM Regatta and HP V-Class systems).</p>
Runtime parallelization, adaptive optimization, reduction parallelization, compiler optimization.
Lawrence Rauchwerger, Hao Yu, "An Adaptive Algorithm Selection Framework for Reduction Parallelization", IEEE Transactions on Parallel & Distributed Systems, vol. 17, no. , pp. 1084-1096, October 2006, doi:10.1109/TPDS.2006.131