Pushing the Boundaries of Small Tasks: Scalable Low-Overhead Data-Flow Programming in TTG

TitlePushing the Boundaries of Small Tasks: Scalable Low-Overhead Data-Flow Programming in TTG
Publication TypeConference Paper
Year of Publication2022
AuthorsSchuchart, J., P. Nookala, T. Herault, E. F. Valeev, and G. Bosilca
Conference Name2022 IEEE International Conference on Cluster Computing (CLUSTER)
Date Published2022-09
Conference LocationHeidelberg, Germany
KeywordsDataflow 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.

Project Tags: 
External Publication Flag: