Declarative Data Flow in a Graph-Based Distributed Memory Runtime System

被引:4
作者
Knorr, Fabian [1 ]
Thoman, Peter [1 ]
Fahringer, Thomas [1 ]
机构
[1] Univ Innsbruck, Innsbruck, Austria
关键词
Runtime system; DAG; Accelerator; Data flow; API; ALGORITHMS;
D O I
10.1007/s10766-022-00743-4
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:150 / 171
页数:22
相关论文
共 17 条
  • [1] Alpay A., 2020, P INT WORKSHOP OPENC, P1, DOI 10.1145/3388333.3388658
  • [2] Mutual exclusion scheduling
    Baker, BS
    Coffman, EG
    [J]. THEORETICAL COMPUTER SCIENCE, 1996, 162 (02) : 225 - 243
  • [3] Bauer M, 2012, INT CONF HIGH PERFOR
  • [4] Bodlaender H. L., 1993, Mathematical Foundations of Computer Science 1993. 18th International Symposium, MFCS '93 Proceedings, P291
  • [5] Kokkos: Enabling manycore performance portability through polymorphic memory access patterns
    Edwards, H. Carter
    Trott, Christian R.
    Sunderland, Daniel
    [J]. JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2014, 74 (12) : 3202 - 3216
  • [6] SkePU 2: Flexible and Type-Safe Skeleton Programming for Heterogeneous Parallel Systems
    Ernstsson, August
    Li, Lu
    Kessler, Christoph
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2018, 46 (01) : 62 - 80
  • [7] SkePU 3: Portable High-Level Programming of Heterogeneous Systems and HPC Clusters
    Ernstsson, August
    Ahlqvist, Johan
    Zouzoula, Stavroula
    Kessler, Christoph
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2021, 49 (06) : 846 - 866
  • [8] BACKTRACK PROGRAMMING
    GOLOMB, SW
    BAUMERT, LD
    [J]. JOURNAL OF THE ACM, 1965, 12 (04) : 516 - &
  • [9] Gschwandtner Philipp, 2021, 2021 IEEE 17th International Conference on eScience (eScience), P90, DOI 10.1109/eScience51609.2021.00019
  • [10] Keryell R., 2018, P INT WORKSHOP OPENC, P1