Mapping parallelism to multi-cores: a machine learning based approach
Zheng Wang and Michael F.P. O'Boyle

Abstract:

The efficient mapping of program parallelism to multi-core processors is highly dependent on the underlying architecture. This paper proposes a portable and automatic compiler-based approach to mapping such parallelism using machine learning. It develops two predictors: a data sensitive and a data insensitive predictor to select the best mapping for parallel programs. They predict the number of threads and the scheduling policy for any given program using a model learnt off-line. By using low-cost profiling runs, they predict the mapping for a new unseen program across multiple input data sets. We evaluate our approach by selecting parallelism mapping configurations for OpenMP programs on two representative but different multi-core platforms (the Intel Xeon and the Cell processors). Performance of our technique is stable across programs and architectures. On average, it delivers above 96% performance of the maximum available on both platforms. It achieve, on average, a 37% (up to 17.5 times) performance improvement over the OpenMP runtime default scheme on the Cell platform. Compared to two recent prediction models, our predictors achieve better performance with a significant lower profiling cost.

Published:

"Mapping parallelism to multi-cores: a machine learning based approach"
Zheng Wang and Michael F.P. O'Boyle.
Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP'09) , Raleigh, NC, USA, February 2009.

Download:

Paper:

BibTeX Entry:

@inproceedings{1504189,
 author = {Wang, Zheng and O'Boyle, Michael F.P.},
 title = {Mapping parallelism to multi-cores: a machine learning based approach},
 booktitle = {PPoPP '09: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming},
 year = {2009},
 isbn = {978-1-60558-397-6},
 pages = {75--84},
 location = {Raleigh, NC, USA},
 doi = {http://doi.acm.org/10.1145/1504176.1504189},
 publisher = {ACM},
 address = {New York, NY, USA},
 }

Valid CSS! Valid HTML 4.01!