Generalized Flow-Graph Programming Using Template Task-Graphs: Initial Implementation and Assessment

J. Schuchart, Poornima Nookala, M. Javanmard, T. Hérault, Edward F. Valeev, G. Bosilca, R. Harrison
{"title":"Generalized Flow-Graph Programming Using Template Task-Graphs: Initial Implementation and Assessment","authors":"J. Schuchart, Poornima Nookala, M. Javanmard, T. Hérault, Edward F. Valeev, G. Bosilca, R. Harrison","doi":"10.1109/ipdps53621.2022.00086","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":321801,"journal":{"name":"2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS)","volume":"108 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ipdps53621.2022.00086","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

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.
使用模板任务图的广义流程图编程:初步实现与评估
我们提出并评价了TTG,一种新颖的编程模型及其c++实现,它结合了控制和数据流程图编程的思想,支持紧凑的规范和高效的动态和不规则应用程序的分布式执行。支持基于任务执行的编程接口通常只支持共享内存并行环境;一些支持分布式内存环境,或者通过发现所有进程上的任务的整个DAG,或者通过引入显式通信。第一种方法限制了可伸缩性,而第二种方法增加了编程的复杂性。我们将演示TTG如何在不牺牲可伸缩性或可编程性的情况下解决这些问题,方法是提供比以任务为中心的编程系统通常提供的更高级别的抽象,而不会妨碍这些运行时有效地管理任务创建和执行以及数据和资源管理的能力。TTG支持在2个不同的任务运行时(PaRSEC和MADNESS)上执行分布式内存。在TTG中实现的具有不同程度不规则性的四种典型应用程序(图分析、密集和块稀疏线性代数以及数值积分微分)的性能在大型分布式内存平台上进行了说明,并与最先进的实现进行了比较。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信