Cargando…

Increasing the degree of parallelism using speculative execution in task-based runtime systems

Task-based programming models have demonstrated their efficiency in the development of scientific applications on modern high-performance platforms. They allow delegation of the management of parallelization to the runtime system (RS), which is in charge of the data coherency, the scheduling, and th...

Descripción completa

Detalles Bibliográficos
Autor principal: Bramas, Bérenger
Formato: Online Artículo Texto
Lenguaje:English
Publicado: PeerJ Inc. 2019
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7924448/
https://www.ncbi.nlm.nih.gov/pubmed/33816836
http://dx.doi.org/10.7717/peerj-cs.183
_version_ 1783659091956072448
author Bramas, Bérenger
author_facet Bramas, Bérenger
author_sort Bramas, Bérenger
collection PubMed
description Task-based programming models have demonstrated their efficiency in the development of scientific applications on modern high-performance platforms. They allow delegation of the management of parallelization to the runtime system (RS), which is in charge of the data coherency, the scheduling, and the assignment of the work to the computational units. However, some applications have a limited degree of parallelism such that no matter how efficient the RS implementation, they may not scale on modern multicore CPUs. In this paper, we propose using speculation to unleash the parallelism when it is uncertain if some tasks will modify data, and we formalize a new methodology to enable speculative execution in a graph of tasks. This description is partially implemented in our new C++ RS called SPETABARU, which is capable of executing tasks in advance if some others are not certain to modify the data. We study the behavior of our approach to compute Monte Carlo and replica exchange Monte Carlo simulations.
format Online
Article
Text
id pubmed-7924448
institution National Center for Biotechnology Information
language English
publishDate 2019
publisher PeerJ Inc.
record_format MEDLINE/PubMed
spelling pubmed-79244482021-04-02 Increasing the degree of parallelism using speculative execution in task-based runtime systems Bramas, Bérenger PeerJ Comput Sci Distributed and Parallel Computing Task-based programming models have demonstrated their efficiency in the development of scientific applications on modern high-performance platforms. They allow delegation of the management of parallelization to the runtime system (RS), which is in charge of the data coherency, the scheduling, and the assignment of the work to the computational units. However, some applications have a limited degree of parallelism such that no matter how efficient the RS implementation, they may not scale on modern multicore CPUs. In this paper, we propose using speculation to unleash the parallelism when it is uncertain if some tasks will modify data, and we formalize a new methodology to enable speculative execution in a graph of tasks. This description is partially implemented in our new C++ RS called SPETABARU, which is capable of executing tasks in advance if some others are not certain to modify the data. We study the behavior of our approach to compute Monte Carlo and replica exchange Monte Carlo simulations. PeerJ Inc. 2019-03-18 /pmc/articles/PMC7924448/ /pubmed/33816836 http://dx.doi.org/10.7717/peerj-cs.183 Text en ©2019 Bramas http://creativecommons.org/licenses/by/4.0/ This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0/) , which permits unrestricted use, distribution, reproduction and adaptation in any medium and for any purpose provided that it is properly attributed. For attribution, the original author(s), title, publication source (PeerJ Computer Science) and either DOI or URL of the article must be cited.
spellingShingle Distributed and Parallel Computing
Bramas, Bérenger
Increasing the degree of parallelism using speculative execution in task-based runtime systems
title Increasing the degree of parallelism using speculative execution in task-based runtime systems
title_full Increasing the degree of parallelism using speculative execution in task-based runtime systems
title_fullStr Increasing the degree of parallelism using speculative execution in task-based runtime systems
title_full_unstemmed Increasing the degree of parallelism using speculative execution in task-based runtime systems
title_short Increasing the degree of parallelism using speculative execution in task-based runtime systems
title_sort increasing the degree of parallelism using speculative execution in task-based runtime systems
topic Distributed and Parallel Computing
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7924448/
https://www.ncbi.nlm.nih.gov/pubmed/33816836
http://dx.doi.org/10.7717/peerj-cs.183
work_keys_str_mv AT bramasberenger increasingthedegreeofparallelismusingspeculativeexecutionintaskbasedruntimesystems