Assessing Task-to-Data Affinity in the LLVM OpenMP Runtime

被引:4
|
作者
Klinkenberg, Jannis [1 ]
Samfass, Philipp [2 ]
Terboven, Christian [1 ]
Duran, Alejandro [3 ]
Klemm, Michael [3 ]
Teruel, Xavier [4 ]
Mateo, Sergi [4 ]
Olivier, Stephen L. [5 ]
Mueller, Matthias S. [1 ]
机构
[1] Rhein Westfal TH Aachen, IT Ctr, Chair High Performance Comp, Aachen, Germany
[2] Tech Univ Munich, Dept Informat, Garching, Germany
[3] Intel Corp, Santa Clara, CA USA
[4] Barcelona Supercomp Ctr, Barcelona, Spain
[5] Sandia Natl Labs, Ctr Res Comp, POB 5800, Albuquerque, NM 87185 USA
来源
关键词
OpenMP; OpenMP tasks; Task affinity; Task scheduling; Work stealing;
D O I
10.1007/978-3-319-98521-3_16
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In modern shared-memory NUMA systems which typically consist of two or more multi-core processor packages with local memory, affinity of data to computation is crucial for achieving high performance with an OpenMP program. OpenMP* 3.0 introduced support for task-parallel programs in 2008 and has continued to extend its applicability and expressiveness. However, the ability to support data affinity of tasks is missing. In this paper, we investigate several approaches for task-to-data affinity that combine locality-aware task distribution and task stealing. We introduce the task affinity clause that will be part of OpenMP 5.0 and provide the reasoning behind its design. Evaluation with our experimental implementation in the LLVM OpenMP runtime shows that task affinity improves execution performance up to 4.5x on an 8-socket NUMA machine and significantly reduces runtime variability of OpenMP tasks. Our results demonstrate that a variety of applications can benefit from task affinity and that the presented clause is closing the gap of task-to-data affinity in OpenMP 5.0.
引用
收藏
页码:236 / 251
页数:16
相关论文
共 47 条
  • [1] Vectorized Barrier and Reduction in LLVM OpenMP Runtime
    Farooqi, Muhammad Nufail
    Pericas, Miquel
    OPENMP: ENABLING MASSIVE NODE-LEVEL PARALLELISM, IWOMP 2021, 2021, 12870 : 18 - 32
  • [2] Implementing OpenMP's SIMD Directive in LLVM's GPU Runtime
    Wright, Eric
    Doerfert, Johannes
    Tian, Shilei
    Chapman, Barbara
    Chandrasekaran, Sunita
    PROCEEDINGS OF THE 52ND INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING, ICPP 2023, 2023, : 173 - 182
  • [3] Approaches for Task Affinity in OpenMP
    Terboven, Christian
    Hahnfeld, Jonas
    Teruel, Xavier
    Mateo, Sergi
    Duran, Alejandro
    Klemm, Michael
    Olivier, Stephen L.
    de Supinski, Bronis R.
    OPENMP: MEMORY, DEVICES, AND TASKS, 2016, 9903 : 102 - 115
  • [4] Dynamic Task and Data Placement over NUMA Architectures: An OpenMP Runtime Perspective
    Broquedis, Francois
    Furmento, Nathalie
    Goglin, Brice
    Namyst, Raymond
    Wacrenier, Pierre-Andre
    EVOLVING OPENMP IN AN AGE OF EXTREME PARALLELISM, 2009, 5568 : 79 - +
  • [5] OpenMP Task Scheduling Analysis via OpenMP Runtime API and Tool Visualization
    Qawasmeh, Ahmad
    Malik, Abid
    Chapman, Barbara
    PROCEEDINGS OF 2014 IEEE INTERNATIONAL PARALLEL & DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2014, : 1050 - 1059
  • [6] A transparent runtime data distribution engine for OpenMP
    Nikolopoulos, D.S.
    Papatheodorou, T.S.
    Polychronopoulos, C.D.
    Labarta, J.
    Ayguade, E.
    Scientific Programming, 2000, 8 (03) : 143 - 162
  • [7] Opera: Similarity Analysis on Data Access Patterns of OpenMP Tasks to Optimize Task Affinity
    Ren, Jie
    Liao, Chunhua
    Li, Dong
    2019 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS (IPDPSW), 2019, : 382 - 386
  • [8] Adaptive OpenMP Task Scheduling Using Runtime APIs and Machine Learning
    Qawasmeh, Ahmad R.
    Malik, Abid M.
    Chapman, Barbara M.
    2015 IEEE 14TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS (ICMLA), 2015, : 889 - 895
  • [9] Improvement of Memory Bandwidth Utilization Using OpenMP Task with Processor Affinity
    Arul, Joseph M.
    Huang, Chun-Chih
    2015 INTERNATIONAL SYMPOSIUM ON NEXT-GENERATION ELECTRONICS (ISNE), 2015,
  • [10] Exploiting Thread-Data Affinity in OpenMP with Data Access Patterns
    Di Biagio, Andrea
    Speziale, Ettore
    Agosta, Giovanni
    EURO-PAR 2011 PARALLEL PROCESSING, PT 1, 2011, 6852 : 230 - 241