A new thread-level speculative automatic parallelization model and library based on duplicate code execution

dc.contributor.affiliationUniversidade de Santiago de Compostela. Departamento de Electrónica e Computación
dc.contributor.affiliationUniversidade de Santiago de Compostela. Centro de Investigación en Tecnoloxías Intelixentes da USC (CiTIUS)
dc.contributor.authorMartínez, Millan A.
dc.contributor.authorFraguela, Basilio B.
dc.contributor.authorCabaleiro Domínguez, José Carlos
dc.contributor.authorFernández Rivera, Francisco
dc.date.accessioned2025-04-23T07:56:24Z
dc.date.available2025-04-23T07:56:24Z
dc.date.issued2024-03-11
dc.description.abstractLoop-efficient automatic parallelization has become increasingly relevant due to the growing number of cores in current processors and the programming effort needed to parallelize codes in these systems efficiently. However, automatic tools fail to extract all the available parallelism in irregular loops with indirections, race conditions or potential data dependency violations, among many other possible causes. One of the successful ways to automatically parallelize these loops is the use of speculative parallelization techniques. This paper presents a new model and the corresponding C++ library that supports the speculative automatic parallelization of loops in shared memory systems, seeking competitive performance and scalability while keeping user effort to a minimum. The primary speculative strategy consists of redundantly executing chunks of loop iterations in a duplicate fashion. Namely, each chunk is executed speculatively in parallel to obtain results as soon as possible and sequentially in a different thread to validate the speculative results. The implementation uses C++11 threads and it makes intensive use of templates and advanced multithreading techniques. An evaluation based on various benchmarks confirms that our proposal provides a competitive level of performance and scalability.
dc.description.peerreviewedSI
dc.description.sponsorshipOpen Access funding provided thanks to the CRUE-CSIC agreement with Springer Nature. This research was supported by Grants PID2019-104184RB-I00, PID2019-104834GB-I00, PID2022-141623NB-I00, and PID2022-136435NB-I00, funded by MCIN/AEI/ 10.13039/501100011033, PID2022 also funded by "ERDF A way of making Europe", EU, and the predoctoral Grant of Millán Álvarez Ref. BES-2017-081320, and by the Xunta de Galicia co-founded by the European Regional Development Fund (ERDF) under the Consolidation Programme of Competitive Reference Groups (ED431C 2021/30 and ED431C 2022/16). Funding for open access charge: Universidade da Coruña/CISUG. We also acknowledge the support from the Centro Singular de Investigación de Galicia "CITIC" and the Centro Singular de Investigación en Tecnoloxías Intelixentes "CiTIUS", funded by Xunta de Galicia and the European Union (European Regional Development Fund- Galicia 2014-2020 Program), by grants ED431G 2019/01 and ED431G 2019/04. We also acknowledge the Centro de Supercomputación de Galicia (CESGA).
dc.identifier.citationMartínez, M. A., Fraguela, B. B., Cabaleiro, J. C., & Rivera, F. F. (2024). A new thread-level speculative automatic parallelization model and library based on duplicate code execution. The Journal of Supercomputing, 80(10), 13714–13737. doi:10.1007/s11227-024-05987-0
dc.identifier.doi10.1007/s11227-024-05987-0
dc.identifier.essn1573-0484
dc.identifier.issn0920-8542
dc.identifier.urihttps://hdl.handle.net/10347/40975
dc.journal.titleThe Journal of Supercomputing
dc.language.isoeng
dc.page.final13737
dc.page.initial13714
dc.publisherSpringer
dc.relation.projectIDinfo:eu-repo/grantAgreement/AEI/Plan Estatal de Investigación Científica y Técnica y de Innovación 2017-2020/PID2019-104184RB-I00/ES/DESAFIOS ACTUALES EN HPC: ARQUITECTURAS, SOFTWARE Y APLICACIONES
dc.relation.projectIDinfo:eu-repo/grantAgreement/AEI/Plan Estatal de Investigación Científica y Técnica y de Innovación 2017-2020/PID2019-104834GB-I00/ES
dc.relation.projectIDinfo:eu-repo/grantAgreement/AEI/Plan Estatal de Investigación Científica y Técnica y de Innovación 2021-2023/PID2022-141623NB-I00/ES/COMPUTACION DE ALTAS PRESTACIONES, HETEROGENEA Y EN LA NUBE PARA APLICACIONES DE ALTA DEMANDA/
dc.relation.projectIDinfo:eu-repo/grantAgreement/AEI/Plan Estatal de Investigación Científica y Técnica y de Innovación 2017-2020/PID2019-104184RB-I00/ES/DESAFÍOS ACTUALES EN HPC: ARQUITECTURAS, SOFTWARE Y APLICACIONES
dc.relation.publisherversionhttps://doi.org/10.1007/s11227-024-05987-0
dc.rightsOpen Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
dc.rightsAttribution 4.0 Internationalen
dc.rights.accessRightsopen access
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/
dc.subjectSpeculative parallelism
dc.subjectAutomatic parallelization
dc.subjectThread-level speculation
dc.subjectTemplate metaprogramming
dc.subject.classificationInvestigación
dc.titleA new thread-level speculative automatic parallelization model and library based on duplicate code execution
dc.typejournal article
dc.type.hasVersionVoR
dc.volume.number80
dspace.entity.typePublication
relation.isAuthorOfPublication1959c3e1-552e-4a0b-bc17-a5f9f687ad38
relation.isAuthorOfPublicationf905807b-c6bd-4e37-97d1-2e644fc5af62
relation.isAuthorOfPublication.latestForDiscovery1959c3e1-552e-4a0b-bc17-a5f9f687ad38

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
2024_js_Martinez_NewThreadLevel.pdf
Size:
1.65 MB
Format:
Adobe Portable Document Format