BabelFlow: An Embedded Domain Specific Language for Parallel Analysis and Visualization

被引:4
|
作者
Petruzza, Steve [1 ]
Treichler, Sean [2 ]
Pascucci, Valerio [1 ]
Bremer, Peer-Timo [3 ]
机构
[1] Univ Utah, Salt Lake City, UT 84112 USA
[2] Stanford Univ, Stanford, CA 94305 USA
[3] Lawrence Livermore Natl Lab, Livermore, CA USA
关键词
Embedded DSL; User productivity; In-situ analysis; Simulation runtime systems; Programming models;
D O I
10.1109/IPDPS.2018.00056
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
The rapid growth in simulation data requires large-scale parallel implementations of scientific analysis and visualization algorithms, both to produce results within an acceptable timeframe and to enable in situ deployment. However, efficient and scalable implementations, especially of more complex analysis approaches, require not only advanced algorithms, but also an in-depth knowledge of the underlying runtime. Furthermore, different machine configurations and different applications may favor different runtimes, i.e., MPI vs Charm++ vs Legion, etc., and different hardware architectures. This diversity makes developing and maintaining a broadly applicable analysis software infrastructure challenging. We address some of these problems by explicitly separating the implementation of individual tasks of an algorithm from the dataflow connecting these tasks. In particular, we present an embedded domain specific language (EDSL) to describe algorithms using a new task graph abstraction. This task graph is then executed on top of one of several available runtimes (MPI, Charm++, Legion) using a thin layer of library calls. We demonstrate the flexibility and performance of this approach using three different large scale analysis and visualization use cases, i.e., topological analysis, rendering and compositing dataflow, and image registration of large microscopy scans. Despite the unavoidable overheads of a generic solution, our approach demonstrates performance portability at scale, and, in some cases, outperforms hand-optimized implementations.
引用
收藏
页码:463 / 473
页数:11
相关论文
共 50 条
  • [41] RASCAL: a Domain Specific Language for Source Code Analysis and Manipulation
    Klint, Paul
    van der Storm, Tijs
    Vinju, Jurgen
    2009 NINTH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2009, : 168 - +
  • [42] A Domain Specific Language Approach for Genetic Regulatory Mechanisms Analysis
    Sedlmajer, Nicolas
    Buchs, Didier
    Hostettler, Steve
    TRANSACTIONS ON PETRI NETS AND OTHER MODELS OF CONCURRENCY VI, 2012, 7400 : 123 - 145
  • [43] ALBERTI, a Multilingual Domain Specific Language Model for Poetry Analysis
    de la Rosa, Javier
    Perez Pozo, Alvaro
    Ros, Salvador
    Gonzalez Blanco, Elena
    PROCESAMIENTO DEL LENGUAJE NATURAL, 2023, (71): : 215 - 225
  • [44] A Domain Specific Language for Clustering
    Islam, Saiyedul
    Balasubramaniam, Sundar
    Goyal, Poonam
    Sati, Mohit
    Goyal, Navneet
    DISTRIBUTED COMPUTING AND INTERNET TECHNOLOGY, (ICDCIT 2017), 2017, 10109 : 231 - 234
  • [45] AutoModel: A Domain-specific Language for Automatic Modeling of Real-time Embedded Systems
    Kahani, Nafiseh
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 515 - 517
  • [46] Automatic Task-Based Code Generation for High Performance Domain Specific Embedded Language
    Antoine Tran Tan
    Joel Falcou
    Daniel Etiemble
    Hartmut Kaiser
    International Journal of Parallel Programming, 2016, 44 : 449 - 465
  • [47] Automatic Task-Based Code Generation for High Performance Domain Specific Embedded Language
    Tan, Antoine Tran
    Falcou, Joel
    Etiemble, Daniel
    Kaiser, Hartmut
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2016, 44 (03) : 449 - 465
  • [48] PERFLOW: A Domain Specific Framework for Automatic Performance Analysis of Parallel Applications
    Jin, Yuyang
    Wang, Haojie
    Zhong, Runxin
    Zhang, Chen
    Zhai, Jidong
    PPOPP'22: PROCEEDINGS OF THE 27TH ACM SIGPLAN SYMPOSIUM ON PRINCIPLES AND PRACTICE OF PARALLEL PROGRAMMING, 2022, : 177 - 191
  • [49] Musket: A Domain-Specific Language for High-Level Parallel Programming with Algorithmic Skeletons
    Rieger, Christoph
    Wrede, Fabian
    Kuchen, Herbert
    SAC '19: PROCEEDINGS OF THE 34TH ACM/SIGAPP SYMPOSIUM ON APPLIED COMPUTING, 2019, : 1534 - 1543
  • [50] RPL: A Domain-Specific Language for Designing and Implementing Parallel C plus plus Applications
    Janjic, V.
    Brown, C.
    MacKenzie, K.
    Hammond, K.
    Danelutto, M.
    Aldinucci, M.
    Daniel Garcia, J.
    2016 24TH EUROMICRO INTERNATIONAL CONFERENCE ON PARALLEL, DISTRIBUTED, AND NETWORK-BASED PROCESSING (PDP), 2016, : 288 - 295