Increasing the Degree of Parallelism Using Speculative Execution in Task-based Runtime Systems
B\'erenger Bramas

TL;DR
This paper introduces a speculative execution approach in task-based runtime systems to increase parallelism, demonstrated through a new C++ runtime called SPETABARU applied to Monte Carlo simulations.
Contribution
It proposes a novel methodology for speculative execution in task graphs and implements it in a new runtime system to improve parallelism in scientific applications.
Findings
Enhanced parallelism in Monte Carlo simulations
Effective speculative execution reduces idle time
SPETABARU outperforms traditional runtimes in scalability
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
