Generalized Flow-Graph Programming Using Template Task-Graphs: Initial Implementation and Assessment
Generalized Flow-Graph Programming Using Template Task-Graphs: Initial Implementation and Assessment
复制标题
DOI:
10.1109/ipdps53621.2022.00086
复制
发表时间:
2022-05
期刊:
影响因子:
--
通讯作者:
J. Schuchart;Poornima Nookala;M. Javanmard;T. Hérault;Edward F. Valeev;G. Bosilca;R. Harrison
中科院分区:
文献类型:
--
作者:
J. Schuchart;Poornima Nookala;M. Javanmard;T. Hérault;Edward F. Valeev;G. Bosilca;R. Harrison
We present and evaluate TTG, a novel programming model and its C++ implementation that by marrying the ideas of control and data flowgraph programming supports compact specification and efficient distributed execution of dynamic and irregular applications. Programming interfaces that support task-based execution often only support shared memory parallel environments; a few support distributed memory environments, either by discovering the entire DAG of tasks on all processes, or by introducing explicit communications. The first approach limits scalability, while the second increases the complexity of programming. We demonstrate how TTG can address these issues without sacrificing scalability or programmability by providing higher-level abstractions than conventionally provided by task-centric programming systems, without impeding the ability of these runtimes to manage task creation and execution as well as data and resource management efficiently. TTG supports distributed memory execution over 2 different task runtimes, PaRSEC and MADNESS. Performance of four paradigmatic applications (in graph analytics, dense and block-sparse linear algebra, and numerical integrodifferential calculus) with various degrees of irregularity implemented in TTG is illustrated on large distributed-memory platforms and compared to the state-of-the-art implementations.