Title :
MaSiF: Machine learning guided auto-tuning of parallel skeletons
Author :
Collins, Andrew ; Fensch, Christian ; Leather, Hugh ; Cole, Marty
Author_Institution :
Sch. of Inf., Univ. of Edinburgh, Edinburgh, UK
Abstract :
Parallel skeletons provide a predefined set of parallel templates that can be combined, nested and parameterized with sequential code to produce complex parallel programs. The implementation of each skeleton includes parameters that have a significant effect on performance; so carefully tuning them is vital. The optimization space formed by these parameters is complex, non-linear, exhibits multiple local optima and is program dependent. This makes manual tuning impractical. Effective automatic tuning is therefore essential for the performance of parallel skeleton programs. In this paper we present MaSiF, a novel tool to auto-tune the parallelization parameters of skeleton parallel programs. It reduces the size of the parameter space using a combination of machine learning, via nearest neighbor classification, and linear dimensionality reduction using Principal Components Analysis. To auto-tune a new program, a set of program features is determined statically and used to compute k nearest neighbors from a set of training programs. Previously collected performance data for the nearest neighbors is used to reduce the size of the search space using Principal Components Analysis. Good parallelization parameters are found quickly by searching this smaller search space. We evaluate MaSiF for two existing parallel frameworks: Threading Building Blocks and FastFlow. MaSiF achieves 89% of the performance of the oracle on average. This exploration requires just 45 parameters values on average, which is ~0.05% of the optimization space. In contrast, a state-of-the-art machine learning approach achieves 51%. MaSiF achieves an average speedup of 1.32× over parallelization parameters chosen by human experts.
Keywords :
learning (artificial intelligence); parallel programming; pattern classification; principal component analysis; FastFlow; MaSiF tool; Threading Building Blocks; linear dimensionality reduction; machine learning; nearest neighbor classification; parallel skeletons auto-tuning; parallel templates; parallelization parameters; parameter optimization space; principal component analysis; program features; sequential code; skeleton parallel programs; Feature extraction; Optimization; Principal component analysis; Skeleton; Training; Tuning; Vectors;
Conference_Titel :
High Performance Computing (HiPC), 2013 20th International Conference on
Conference_Location :
Bangalore
DOI :
10.1109/HiPC.2013.6799098