Enabling performance portability of data-parallel OpenMP applications on asymmetric multicore processors
<|reference_start|>Enabling performance portability of data-parallel OpenMP applications on asymmetric multicore processors: Asymmetric multicore processors (AMPs) couple high-performance big cores and low-power small cores with the same instruction-set architecture but different features, such as clock frequency or microarchitecture. Previous work has shown that asymmetric designs may deliver higher energy efficiency than symmetric multicores for diverse workloads. Despite their benefits, AMPs pose significant challenges to runtime systems of parallel programming models. While previous work has mainly explored how to efficiently execute task-based parallel applications on AMPs, via enhancements in the runtime system, improving the performance of unmodified data-parallel applications on these architectures is still a big challenge. In this work we analyze the particular case of loop-based OpenMP applications, which are widely used today in scientific and engineering domains, and constitute the dominant application type in many parallel benchmark suites used for performance evaluation on multicore systems. We observed that conventional loop-scheduling OpenMP approaches are unable to efficiently cope with the load imbalance that naturally stems from the different performance delivered by big and small cores.   To address this shortcoming, we propose \textit{Asymmetric Iteration Distribution} (AID), a set of novel loop-scheduling methods for AMPs that distribute iterations unevenly across worker threads to efficiently deal with performance asymmetry. We implemented AID in \textit{libgomp} --the GNU OpenMP runtime system--, and evaluated it on two different asymmetric multicore platforms. Our analysis reveals that the AID methods constitute effective replacements of the \texttt{static} and \texttt{dynamic} methods on AMPs, and are capable of improving performance over these conventional strategies by up to 56\% and 16.8\%, respectively.<|reference_end|>
@article{saez2024enabling,
    title={Enabling performance portability of data-parallel OpenMP applications on
  asymmetric multicore processors},
    author={Juan Carlos Saez, Fernando Castro and Manuel Prieto-Matias},
    journal={Proceedings of the 49th International Conference on Parallel
  Processing (ICPP 2020). ACM, Article 51, 1-11},
    year={2024},
    doi={10.1145/3404397.3404441},
    archivePrefix={arXiv},
    eprint={2402.07664},
    primaryClass={cs.DC cs.OS}
}