当前位置: X-MOL 学术Int. J. Parallel. Program › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Declarative Data Flow in a Graph-Based Distributed Memory Runtime System
International Journal of Parallel Programming ( IF 1.5 ) Pub Date : 2022-12-26 , DOI: 10.1007/s10766-022-00743-4
Fabian Knorr , Peter Thoman , Thomas Fahringer

Runtime systems can significantly reduce the cognitive complexity of scientific applications, narrowing the gap between systems engineering and domain science in HPC. One of the most important angles in this is automating data migration in a cluster. Traditional approaches require the application developer to model communication explicitly, for example through MPI primitives. Celerity, a runtime system for accelerator clusters heavily inspired by the SYCL programming model, instead provides a purely declarative approach focused around access patterns. In addition to eliminating the need for explicit data transfer operations, it provides a basis for efficient and dynamic scheduling at runtime. However, it is currently only suitable for accessing array-like data from runtime-controlled tasks, while real programs often need to interact with opaque data local to each host, such as handles or database connections, and also need a defined way of transporting data into and out of the virtualised buffers of the runtime. In this paper, we introduce a graph-based approach and declarative API for expressing side-effect dependencies between tasks and moving data from the runtime context to the application space.



中文翻译:

基于图形的分布式内存运行时系统中的声明性数据流

运行时系统可以显着降低科学应用的认知复杂性,缩小 HPC 中系统工程与领域科学之间的差距。其中最重要的角度之一是在集群中自动化数据迁移。传统方法要求应用程序开发人员显式地对通信进行建模,例如通过 MPI 原语。Celerity 是一个受 SYCL 编程模型启发的加速器集群运行时系统,它提供了一种专注于访问模式的纯声明性方法。除了消除显式数据传输操作的需要外,它还为运行时的高效动态调度提供了基础。但是,它目前仅适用于从运行时控制的任务中访问类似数组的数据,而真实的程序通常需要与每个主机本地的不透明数据进行交互,例如句柄或数据库连接,并且还需要一种定义的方式将数据传输到运行时的虚拟化缓冲区中和从中传输出来。在本文中,我们介绍了一种基于图形的方法和声明式 API,用于表达任务之间的副作用依赖关系并将数据从运行时上下文移动到应用程序空间。

更新日期:2022-12-27
down
wechat
bug