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

Bérenger Bramas 1
1 CAMUS - Compilation pour les Architectures MUlti-coeurS
Inria Nancy - Grand Est, ICube - Laboratoire des sciences de l'ingénieur, de l'informatique et de l'imagerie
Abstract : 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. Subjects Distributed and Parallel Computing
Complete list of metadatas

Cited literature [15 references]  Display  Hide  Download

https://hal.inria.fr/hal-02070576
Contributor : Bérenger Bramas <>
Submitted on : Monday, March 18, 2019 - 10:17:42 AM
Last modification on : Tuesday, April 2, 2019 - 1:38:48 AM
Long-term archiving on : Wednesday, June 19, 2019 - 1:04:25 PM

File

peerj-cs-183-comp.pdf
Files produced by the author(s)

Identifiers

Citation

Bérenger Bramas. Increasing the degree of parallelism using speculative execution in task-based runtime systems. PeerJ Computer Science, PeerJ, 2019, 5, pp.e183. ⟨10.7717/peerj-cs.183⟩. ⟨hal-02070576⟩

Share

Metrics

Record views

68

Files downloads

109