On the Benefits of Tasking with OpenMP

被引:7
|
作者
Rico, Alejandro [1 ]
Sanchez Barrera, Isaac [2 ,3 ]
Joao, Jose A. [1 ]
Randall, Joshua [1 ]
Casas, Marc [2 ]
Moreto, Miquel [2 ,3 ]
机构
[1] Arm Res, Austin, TX 78735 USA
[2] Barcelona Supercomp Ctr, Barcelona, Spain
[3] Univ Politecn Cataluna, Barcelona, Spain
关键词
Tasking; OpenMP; Parallelism; Scaling; ADAPTIVE MESH REFINEMENT;
D O I
10.1007/978-3-030-28596-8_15
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Tasking promises a model to program parallel applications that provides intuitive semantics. In the case of tasks with dependences, it also promises better load balancing by removing global synchronizations (barriers), and potential for improved locality. Still, the adoption of tasking in production HPC codes has been slow. Despite OpenMP supporting tasks, most codes rely on worksharing-loop constructs alongside MPI primitives. This paper provides insights on the benefits of tasking over the worksharing-loop model by reporting on the experience of taskifying an adaptive mesh refinement proxy application: miniAMR. The performance evaluation shows the taskified implementation being 15-30% faster than the loop-parallel one for certain thread counts across four systems, three architectures and four compilers thanks to better load balancing and system utilization. Dynamic scheduling of loops narrows the gap but still falls short of tasking due to serial sections between loops. Locality improvements are incidental due to the lack of localityaware scheduling. Overall, the introduction of asynchrony with tasking lives up to its promises, provided that programmers parallelize beyond individual loops and across application phases.
引用
收藏
页码:217 / 230
页数:14
相关论文
共 50 条
  • [1] Speeding Up OpenMP Tasking
    Agathos, Spiros N.
    Kallimanis, Nikolaos D.
    Dimakopoulos, Vassilios V.
    EURO-PAR 2012 PARALLEL PROCESSING, 2012, 7484 : 650 - 661
  • [2] Mapping OpenMP to a Distributed Tasking Runtime
    Kemp, Jeremy
    Chapman, Barbara
    EVOLVING OPENMP FOR EVOLVING ARCHITECTURES, 2018, 11128 : 222 - 235
  • [3] A Low Overhead Tasking Model for OpenMP
    Yu, Chenle
    Royuela, Sara
    Quinones, Eduardo
    EURO-PAR 2021: PARALLEL PROCESSING WORKSHOPS, 2022, 13098 : 520 - 524
  • [4] An Extension to Improve OpenMP Tasking Control
    Ayguade, Eduard
    Beyer, James
    Duran, Alejandro
    Ferrer, Roger
    Haab, Grant
    Li, Kelvin
    Massaioli, Federico
    BEYOND LOOP LEVEL PARALLELISM IN OPENMP: ACCELERATORS, TASKING AND MORE, PROCEEDINGS, 2010, 6132 : 56 - +
  • [5] On the Instrumentation of OpenMP and OmpSs Tasking Constructs
    Servat, Harald
    Teruel, Xavier
    Llort, German
    Duran, Alejandro
    Gimenez, Judit
    Martorell, Xavier
    Ayguade, Eduard
    Labarta, Jesus
    EURO-PAR 2012: PARALLEL PROCESSING WORKSHOPS, 2013, 7640 : 414 - 428
  • [6] Taskgraph: A Low Contention OpenMP Tasking Framework
    Yu, Chenle
    Royuela, Sara
    Quinones, Eduardo
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2023, 34 (08) : 2325 - 2336
  • [7] An experimental evaluation of the new OpenMP tasking model
    Ayguade, Eduard
    Duran, Alejandro
    Hoeflinger, Jay
    Massaioli, Federico
    Teruel, Xavier
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, 2008, 5234 : 63 - 77
  • [8] OpenMP Tasking and MPI in a Lattice QCD Benchmark
    Meadows, Larry
    Ishikawa, Ken-ichi
    SCALING OPENMP FOR EXASCALE PERFORMANCE AND PORTABILITY (IWOMP 2017), 2017, 10468 : 77 - 91
  • [9] Enhancing OpenMP Tasking Model: Performance and Portability
    Yu, Chenle
    Royuela, Sara
    Quinones, Eduardo
    OPENMP: ENABLING MASSIVE NODE-LEVEL PARALLELISM, IWOMP 2021, 2021, 12870 : 35 - 49
  • [10] OpenMP Tasking Model for Ada: Safety and Correctness
    Royuela, Sara
    Martorell, Xavier
    Quinones, Eduardo
    Pinho, Luis Miguel
    RELIABLE SOFTWARE TECHNOLOGIES - ADA-EUROPE 2017, 2017, 10300 : 184 - 200