Home > Research > Publications & Outputs > Towards a holistic approach to auto-paralleliza...
View graph of relations

Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Published

Standard

Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping. / Tournavitis, Georgios; Wang, Zheng; Franke, Björn et al.
Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009). New York, NY, USA: ACM, 2009. p. 177-187.

Research output: Contribution in Book/Report/Proceedings - With ISBN/ISSNConference contribution/Paperpeer-review

Harvard

Tournavitis, G, Wang, Z, Franke, B & O'Boyle, MFP 2009, Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping. in Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009). ACM, New York, NY, USA, pp. 177-187, PLDI 2009 2009 ACM SIGPLAN conference on Programming language design and implementation, Dublin, Ireland, 15/06/09. https://doi.org/10.1145/1542476.1542496

APA

Tournavitis, G., Wang, Z., Franke, B., & O'Boyle, M. F. P. (2009). Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009) (pp. 177-187). ACM. https://doi.org/10.1145/1542476.1542496

Vancouver

Tournavitis G, Wang Z, Franke B, O'Boyle MFP. Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009). New York, NY, USA: ACM. 2009. p. 177-187 doi: 10.1145/1542476.1542496

Author

Tournavitis, Georgios ; Wang, Zheng ; Franke, Björn et al. / Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009). New York, NY, USA : ACM, 2009. pp. 177-187

Bibtex

@inproceedings{ed0cf33bbb2a4bbfa24b9b5120e29960,
title = "Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping",
abstract = "Compiler-based auto-parallelization is a much studied area, yet has still not found wide-spread application. This is largely due to the poor exploitation of application parallelism, subsequently resulting in performance levels far below those which a skilled expert programmer could achieve. We have identified two weaknesses in traditional parallelizing compilers and propose a novel, integrated approach, resulting in significant performance improvements of the generated parallel code. Using profile-driven parallelism detection we overcome the limitations of static analysis, enabling us to identify more application parallelism and only rely on the user for final approval. In addition, we replace the traditional target-specific and inflexible mapping heuristics with a machine-learning based prediction mechanism, resulting in better mapping decisions while providing more scope for adaptation to different target architectures. We have evaluated our parallelization strategy against the NAS and SPEC OMP benchmarks and two different multi-core platforms (dual quad-core Intel Xeon SMP and dual-socket QS20 Cell blade). We demonstrate that our approach not only yields significant improvements when compared with state-of-the-art parallelizing compilers, but comes close to and sometimes exceeds the performance of manually parallelized codes. On average, our methodology achieves 96% of the performance of the hand-tuned OpenMP NAS and SPEC parallel benchmarks on the Intel Xeon platform and gains a significant speedup for the IBM Cell platform, demonstrating the potential of profile-guided and machine-learning based parallelization for complex multi-core platforms.",
keywords = "auto-parallelization, machine-learning based parallelism mapping , openmp, profile-driven parallelism detection",
author = "Georgios Tournavitis and Zheng Wang and Bj{\"o}rn Franke and O'Boyle, {Michael F.P.}",
year = "2009",
doi = "10.1145/1542476.1542496",
language = "English",
isbn = "978-1-60558-392-1",
pages = "177--187",
booktitle = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009)",
publisher = "ACM",
note = "PLDI 2009 2009 ACM SIGPLAN conference on Programming language design and implementation ; Conference date: 15-06-2009 Through 20-06-2009",

}

RIS

TY - GEN

T1 - Towards a holistic approach to auto-parallelization: integrating profile-driven parallelism detection and machine-learning based mapping

AU - Tournavitis, Georgios

AU - Wang, Zheng

AU - Franke, Björn

AU - O'Boyle, Michael F.P.

PY - 2009

Y1 - 2009

N2 - Compiler-based auto-parallelization is a much studied area, yet has still not found wide-spread application. This is largely due to the poor exploitation of application parallelism, subsequently resulting in performance levels far below those which a skilled expert programmer could achieve. We have identified two weaknesses in traditional parallelizing compilers and propose a novel, integrated approach, resulting in significant performance improvements of the generated parallel code. Using profile-driven parallelism detection we overcome the limitations of static analysis, enabling us to identify more application parallelism and only rely on the user for final approval. In addition, we replace the traditional target-specific and inflexible mapping heuristics with a machine-learning based prediction mechanism, resulting in better mapping decisions while providing more scope for adaptation to different target architectures. We have evaluated our parallelization strategy against the NAS and SPEC OMP benchmarks and two different multi-core platforms (dual quad-core Intel Xeon SMP and dual-socket QS20 Cell blade). We demonstrate that our approach not only yields significant improvements when compared with state-of-the-art parallelizing compilers, but comes close to and sometimes exceeds the performance of manually parallelized codes. On average, our methodology achieves 96% of the performance of the hand-tuned OpenMP NAS and SPEC parallel benchmarks on the Intel Xeon platform and gains a significant speedup for the IBM Cell platform, demonstrating the potential of profile-guided and machine-learning based parallelization for complex multi-core platforms.

AB - Compiler-based auto-parallelization is a much studied area, yet has still not found wide-spread application. This is largely due to the poor exploitation of application parallelism, subsequently resulting in performance levels far below those which a skilled expert programmer could achieve. We have identified two weaknesses in traditional parallelizing compilers and propose a novel, integrated approach, resulting in significant performance improvements of the generated parallel code. Using profile-driven parallelism detection we overcome the limitations of static analysis, enabling us to identify more application parallelism and only rely on the user for final approval. In addition, we replace the traditional target-specific and inflexible mapping heuristics with a machine-learning based prediction mechanism, resulting in better mapping decisions while providing more scope for adaptation to different target architectures. We have evaluated our parallelization strategy against the NAS and SPEC OMP benchmarks and two different multi-core platforms (dual quad-core Intel Xeon SMP and dual-socket QS20 Cell blade). We demonstrate that our approach not only yields significant improvements when compared with state-of-the-art parallelizing compilers, but comes close to and sometimes exceeds the performance of manually parallelized codes. On average, our methodology achieves 96% of the performance of the hand-tuned OpenMP NAS and SPEC parallel benchmarks on the Intel Xeon platform and gains a significant speedup for the IBM Cell platform, demonstrating the potential of profile-guided and machine-learning based parallelization for complex multi-core platforms.

KW - auto-parallelization

KW - machine-learning based parallelism mapping

KW - openmp

KW - profile-driven parallelism detection

UR - http://www.scopus.com/inward/record.url?scp=70450278773&partnerID=8YFLogxK

U2 - 10.1145/1542476.1542496

DO - 10.1145/1542476.1542496

M3 - Conference contribution/Paper

SN - 978-1-60558-392-1

SP - 177

EP - 187

BT - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2009)

PB - ACM

CY - New York, NY, USA

T2 - PLDI 2009 2009 ACM SIGPLAN conference on Programming language design and implementation

Y2 - 15 June 2009 through 20 June 2009

ER -