arrow
返回

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

delete2024-10-01
delete0
PRE
AI
J
Juan Salamanca *
A
Alexandro Baldassin
DOI:10.1016/j.jpdc.2024.104939delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
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.
Keyword:
Speculative task execution
Hardware transactional memory
Speculative taskloop

期刊

Journal of Parallel and Distributed Computing 封面图
Journal of Parallel and Distributed Computing
IF:
4
论文数:
3.8K
被引数:
4.8K

机构

U
Universidade Estadual Paulista
学者数:
3.2W
论文数: 2.1W
被引数: 24
U
universidade estadual de campinas
学者数:
3.3W
论文数: 2.3W
被引数: 19
引用论文

引用论文

Time-Based Software Transactional Memory基于时间的软件事务内存
err2010-12-01
err93
errOAAI
errFelber, Pascal; Fetzer, Christof; Marlier, Patrick; Riegel, Torvald
err分享
err收藏
The Design of OpenMP TasksOpenMP任务设计
err2009-03-01
err250
PREAI
errAyguade, Eduard; Copty, Nawal; Duran, Alejandro; Hoeflinger, Jay; Lin, Yuan; Massaioli, Federico; Teruel, Xavier; Unnikrishnan, Priya; Zhang, Guansong
err分享
err收藏
没有更多内容