TaskTorrent: a Lightweight Distributed Task-Based Runtime System in C++
- Resource Type
- Conference
- Authors
- Cambier, Leopold; Qian, Yizhou; Darve, Eric
- Source
- 2020 IEEE/ACM 3rd Annual Parallel Applications Workshop: Alternatives To MPI+X (PAW-ATM) PAW-ATM Parallel Applications Workshop: Alternatives To MPI+X (PAW-ATM), 2020 IEEE/ACM 3rd Annual. :16-26 Nov, 2020
- Subject
- Computing and Processing
Task analysis
Message systems
Runtime
Payloads
Receivers
Libraries
C++ languages
- Language
We present TaskTorrent, a lightweight distributed task-based runtime in C++.TaskTorrent uses a parametrized task graph to express the task DAG, and one-sided active messages to trigger remote tasks asynchronously. As a result the task DAG is completely distributed and discovered in parallel. It is a C++14 library and only depends on MPI. We explain the API and the implementation. We perform a series of benchmarks against StarPU and ScaLAPACK. Micro benchmarks show it has a minimal overhead compared to other solutions. We then apply it to two large linear algebra problems. TaskTorrent scales very well to thousands of cores, exhibiting good weak and strong scalings.