Using hardware-transactional-memory support to implement speculative task execution

被引:0
|
作者
Salamanca, Juan [1 ]
Baldassin, Alexandro [2 ]
机构
[1] Univ Campinas UNICAMP, Campinas, Brazil
[2] Sao Paulo State Univ Unesp, Dept Stat Appl Math & Comp DEMAC IGCE, Sao Paulo, Brazil
关键词
Speculative task execution; Hardware transactional memory; Speculative taskloop; LEVEL SPECULATION; PRIVATIZATION;
D O I
10.1016/j.jpdc.2024.104939
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Loops take up most of the time of computer programs, so optimizing them so that they run in the shortest time possible is a continuous task. However, this task is not negligible; on the contrary, it is an open area of research since many irregular loops are hard to parallelize. Generally, these loops have loop-carried (DOACROSS) dependencies and the appearance of dependencies could depend on the context. Many techniques have been studied to be able to parallelize these loops efficiently; however, for example in the OpenMP standard there is no efficient way to parallelize them. This article presents Speculative Task Execution (STE), a technique that enables the execution of OpenMP tasks in a speculative way to accelerate certain hot -code regions (such as loops) marked by OpenMP directives. It also presents a detailed analysis of the application of Hardware Transactional Memory (HTM) support for executing tasks speculatively and describes a careful evaluation of the implementation of STE using HTM on modern machines. In particular, we consider the scenario in which speculative tasks are generated by the OpenMP taskloop construct ( Speculative Taskloop (STL) ). As a result, it provides evidence to support several important claims about the performance of STE over HTM in modern processor architectures. Experimental results reveal that: (a) by implementing STL on top of HTM for hot -code regions, speed-ups of up to 5.39x can be obtained in IBM POWER8 and of up to 2.41x in Intel processors using 4 cores; and (b) STL-ROT, a variant of STL using rollback-only transactions (ROTs), achieves speed-ups of up to 17 .70x in IBM POWER9 processor using 20 cores.
引用
收藏
页数:19
相关论文
共 50 条
  • [1] Using Hardware-Transactional-Memory Support to Implement Thread-Level Speculation
    Salamanca, Juan
    Amaral, Jose Nelson
    Araujo, Guido
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2018, 29 (02) : 466 - 480
  • [2] Using Hardware Transactional Memory to Implement Speculative Privatization in OpenMP
    Salamanca, Juan
    Baldassin, Alexandro
    LANGUAGES AND COMPILERS FOR PARALLEL COMPUTING, LCPC 2020, 2022, 13149 : 57 - 73
  • [3] SeTM: Efficient Execution of Speculative Threads with Hardware Transactional Memory
    Li, Gongming
    An, Hong
    Li, Qi
    Deng, Bobin
    Dai, Wenbo
    PROCEEDINGS OF THE 2012 IEEE 18TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS 2012), 2012, : 522 - 531
  • [4] Efficient execution of speculative threads and transactions with hardware transactional memory
    Li, Gongming
    An, Hong
    Li, Qi
    Deng, Bobin
    Dai, Wenbo
    FUTURE GENERATION COMPUTER SYSTEMS-THE INTERNATIONAL JOURNAL OF ESCIENCE, 2014, 30 : 242 - 253
  • [5] Using Off-the-Shelf Hardware Transactional Memory to Implement Speculative While in OpenMP
    Salamanca, Juan
    Baldassin, Alexandro
    OPENMP IN A MODERN WORLD: FROM MULTI-DEVICE SUPPORT TO META PROGRAMMING, 2022, 13527 : 50 - 64
  • [6] TMbarrier: Speculative Barriers Using Hardware Transactional Memory
    Pedrero, Manuel
    Gutierrez, Eladio
    Plata, Oscar
    2018 26TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP 2018), 2018, : 214 - 221
  • [7] Hardware-Transactional-Memory Based Speculative Parallel Discrete Event Simulation of Very Fine Grain Models
    Santini, Emanuele
    Ianni, Mauro
    Pellegrini, Alessandro
    Quaglia, Francesco
    2015 IEEE 22ND INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING (HIPC), 2015, : 145 - 154
  • [8] Using Hardware Transactional Memory to Enable Speculative Trace Optimization
    Salamanca, Juan
    Amaral, Jose Nelson
    Araujo, Guido
    2015 INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING WORKSHOP (SBAC-PADW), 2015, : 1 - 6
  • [9] Improving Speculative taskloop in Hardware Transactional Memory
    Salamanca, Juan
    Baldassin, Alexandro
    OPENMP: ENABLING MASSIVE NODE-LEVEL PARALLELISM, IWOMP 2021, 2021, 12870 : 3 - 17
  • [10] IBM Blue Gene/Q memory subsystem with speculative execution and transactional memory
    Ohmacht, M.
    Wang, A.
    Gooding, T.
    Nathanson, B.
    Nair, I.
    Janssen, G.
    Schaal, M.
    Steinmacher-Burow, B.
    IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 2013, 57 (1-2)