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...

Full description

Bibliographic Details
Main Author: Bérenger Bramas
Format: Article
Language:English
Published: PeerJ Inc. 2019-03-01
Series:PeerJ Computer Science
Subjects:
Online Access:https://peerj.com/articles/cs-183.pdf
_version_ 1818893674370564096
author Bérenger Bramas
author_facet Bérenger Bramas
author_sort Bérenger Bramas
collection DOAJ
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.
first_indexed 2024-12-19T18:16:21Z
format Article
id doaj.art-3b9ce9d2e64d416983bbe2a846d35ff7
institution Directory Open Access Journal
issn 2376-5992
language English
last_indexed 2024-12-19T18:16:21Z
publishDate 2019-03-01
publisher PeerJ Inc.
record_format Article
series PeerJ Computer Science
spelling doaj.art-3b9ce9d2e64d416983bbe2a846d35ff72022-12-21T20:11:05ZengPeerJ Inc.PeerJ Computer Science2376-59922019-03-015e18310.7717/peerj-cs.183Increasing the degree of parallelism using speculative execution in task-based runtime systemsBérenger Bramas0CAMUS Team, Inria Nancy—Grand Est, Illkirch-Graffenstaden, FranceTask-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.https://peerj.com/articles/cs-183.pdfSTFMonte-CarloSpeculationTask-based
spellingShingle Bérenger Bramas
Increasing the degree of parallelism using speculative execution in task-based runtime systems
PeerJ Computer Science
STF
Monte-Carlo
Speculation
Task-based
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 STF
Monte-Carlo
Speculation
Task-based
url https://peerj.com/articles/cs-183.pdf
work_keys_str_mv AT berengerbramas increasingthedegreeofparallelismusingspeculativeexecutionintaskbasedruntimesystems