Mapping Parallelism to Multi-cores: A Machine Learning Based Approach

被引:89
|
作者
Wang, Zheng [1 ]
O'Boyle, Michael F. P. [1 ]
机构
[1] Univ Edinburgh, Sch Informat, Edinburgh EH8 9YL, Midlothian, Scotland
关键词
Experimentation; Languages; Performance; Compiler optimization; Performance modeling; Machine learning; Artificial neural networks; Support vector machine; SCHEDULING ALGORITHMS;
D O I
10.1145/1594835.1504189
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:75 / 84
页数:10
相关论文
共 50 条
  • [1] Mapping parallelism to multi-cores: A machine learning based approach
    Member of HiPEAC, School of Informatics, University of Edinburgh, United Kingdom
    ACM SIGPLAN Not., 2009, 4 (75-84):
  • [2] Partitioning Streaming Parallelism for Multi-cores: A Machine Learning Based Approach
    Wang, Zheng
    O'Boyle, Michael F. P.
    PACT 2010: PROCEEDINGS OF THE NINETEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2010, : 307 - 318
  • [3] Online Power Management for Multi-Cores: A Reinforcement Learning Based Approach
    Wang, Yiming
    Zhang, Weizhe
    Hao, Meng
    Wang, Zheng
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2022, 33 (04) : 751 - 764
  • [4] Combining stream with data parallelism abstractions for multi-cores
    Loff, Junior
    Hoffmann, Renato B.
    Griebler, Dalvan
    Fernandes, Luiz G.
    JOURNAL OF COMPUTER LANGUAGES, 2022, 73
  • [5] Using Machine Learning Techniques for Performance Prediction on Multi-Cores
    Rai, Jitendra Kumar
    Negi, Atul
    Wankar, Rajeev
    INTERNATIONAL JOURNAL OF GRID AND HIGH PERFORMANCE COMPUTING, 2011, 3 (04) : 14 - 28
  • [6] Seamless Parallelism Management for Video Stream Processing on Multi-Cores
    Vogel, Adriano
    Griebler, Dalvan
    Fernandes, Luiz Gustavo
    Danelutto, Marco
    PARALLEL COMPUTING: TECHNOLOGY TRENDS, 2020, 36 : 533 - 542
  • [7] Stream Parallelism on the LZSS Data Compression Application for Multi-Cores with GPUs
    Stein, Charles Michael
    Griebler, Dalvan
    Danelutto, Marco
    Fernandes, Luiz Gustavo
    2019 27TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED AND NETWORK-BASED PROCESSING (PDP), 2019, : 247 - 251
  • [8] High-level and efficient structured stream parallelism for rust on multi-cores
    Pieper, Ricardo
    Loff, Junior
    Hoffmann, Renato B.
    Griebler, Dalvan
    Fernandes, Luiz G.
    JOURNAL OF COMPUTER LANGUAGES, 2021, 65
  • [9] OpenMP as runtime for providing high-level stream parallelism on multi-cores
    Hoffmann, Renato B.
    Loff, Junior
    Griebler, Dalvan
    Fernandes, Luiz G.
    JOURNAL OF SUPERCOMPUTING, 2022, 78 (06): : 7655 - 7676
  • [10] OpenMP as runtime for providing high-level stream parallelism on multi-cores
    Renato B. Hoffmann
    Júnior Löff
    Dalvan Griebler
    Luiz G. Fernandes
    The Journal of Supercomputing, 2022, 78 : 7655 - 7676