Logo do repositório

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

dc.contributor.authorSalamanca, Juan
dc.contributor.authorBaldassin, Alexandro [UNESP]
dc.contributor.institutionUniversidade Estadual de Campinas (UNICAMP)
dc.contributor.institutionUniversidade Estadual Paulista (UNESP)
dc.date.accessioned2025-04-29T18:48:03Z
dc.date.issued2024-10-01
dc.description.abstractLoops 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.39× can be obtained in IBM POWER8 and of up to 2.41× 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.70× in IBM POWER9 processor using 20 cores.en
dc.description.affiliationUniversity of Campinas (UNICAMP)
dc.description.affiliationDepartment of Statistics Applied Mathematics and Computing (DEMAC/IGCE) Sao Paulo State University (Unesp)
dc.description.affiliationUnespDepartment of Statistics Applied Mathematics and Computing (DEMAC/IGCE) Sao Paulo State University (Unesp)
dc.description.sponsorshipFundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)
dc.description.sponsorshipUniversidade Estadual de Campinas
dc.description.sponsorshipIdFAPESP: 18/07446-8
dc.description.sponsorshipIdFAPESP: 18/15519-5
dc.description.sponsorshipIdFAPESP: 20/01665-0
dc.description.sponsorshipIdUniversidade Estadual de Campinas: GR-033/2023
dc.identifierhttp://dx.doi.org/10.1016/j.jpdc.2024.104939
dc.identifier.citationJournal of Parallel and Distributed Computing, v. 192.
dc.identifier.doi10.1016/j.jpdc.2024.104939
dc.identifier.issn0743-7315
dc.identifier.scopus2-s2.0-85196833896
dc.identifier.urihttps://hdl.handle.net/11449/299901
dc.language.isoeng
dc.relation.ispartofJournal of Parallel and Distributed Computing
dc.sourceScopus
dc.subjectHardware transactional memory
dc.subjectSpeculative task execution
dc.subjectSpeculative taskloop
dc.titleUsing hardware-transactional-memory support to implement speculative task executionen
dc.typeArtigopt
dspace.entity.typePublication
unesp.author.orcid0000-0002-0569-2806[1]
unesp.campusUniversidade Estadual Paulista (UNESP), Instituto de Geociências e Ciências Exatas, Rio Claropt

Arquivos