A new thread-level speculative automatic parallelization model and library based on duplicate code execution
![Thumbnail](/dspace/bitstream/handle/2183/36240/AlvarezMartinez_Millan_2024_New_thread-level_speculative_parallel_model.pdf.jpg?sequence=5&isAllowed=y)
Use this link to cite
http://hdl.handle.net/2183/36240Collections
- GI-GAC - Artigos [189]
Metadata
Show full item recordTitle
A new thread-level speculative automatic parallelization model and library based on duplicate code executionDate
2024-03-11Citation
Martínez, M.A., Fraguela, B.B., Cabaleiro, J.C. et al. A new thread-level speculative automatic parallelization model and library based on duplicate code execution. J Supercomput (2024). https://doi.org/10.1007/s11227-024-05987-0
Abstract
Loop-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.
Keywords
Speculative parallelism
Automatic parallelization
Thread-level speculation
Template metaprogramming
Automatic parallelization
Thread-level speculation
Template metaprogramming
Description
Funding for open access charge: Universidade da Coruña/CISUG
Editor version
Rights
Atribución 3.0 España
ISSN
1573-0484
0920-8542
0920-8542