|Pushing the Boundaries of Small Tasks: Scalable Low-Overhead Data-Flow Programming in TTG
|Year of Publication
|Schuchart, J., P. Nookala, T. Herault, E. F. Valeev, and G. Bosilca
|2022 IEEE International Conference on Cluster Computing (CLUSTER)
|Dataflow graph, Hardware, Instruction sets, Memory management, PaR-SEC, parallel programming, runtime, scalability, Task analysis, task-based programming, Template Task Graph, TTG
Shared memory parallel programming models strive to provide low-overhead execution environments. Task-based programming models, in particular, are well-suited to cope with the ubiquitous multi- and many-core systems since they allow applications to express all available concurrency to a scheduler, which is tasked with exploiting the available hardware resources. It is general consensus that atomic operations should be preferred over locks and mutexes to avoid inter-thread serialization and the resulting loss in efficiency. However, even atomic operations may serialize threads if not used judiciously. In this work, we will discuss several optimizations applied to TTG and the underlying PaRSEC runtime system aiming at removing contentious atomic operations to reduce the overhead of task management to a few hundred clock cycles. The result is an optimized data-flow programming system that seamlessly scales from a single node to distributed execution and which is able to compete with OpenMP in shared memory.
Pushing the Boundaries of Small Tasks: Scalable Low-Overhead Data-Flow Programming in TTG
External Publication Flag: