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 条
  • [21] Hume: A domain-specific language for real-time embedded systems
    Hammond, K
    Michaelson, G
    GENERATIVE PROGRAMMING AND COMPONENT ENGINEERING 2003, PROCEEDINGS, 2003, 2830 : 37 - 56
  • [22] The IDRIS Programming Language Implementing Embedded Domain Specific Languages with Dependent Types
    Brady, Edwin
    CENTRAL EUROPEAN FUNCTIONAL PROGRAMMING SCHOOL, CEFP 2013, 2015, 8606 : 115 - 186
  • [23] Materia: A Data Quality Control Embedded Domain Specific Language in Python']Python
    Scully-Allison, Connor
    BUSINESS INFORMATION SYSTEMS WORKSHOPS (BIS 2020), 2020, 394 : 285 - 296
  • [24] An Embedded C plus plus Domain-Specific Language for Stream Parallelism
    Griebler, Dalvan
    Danelutto, Marco
    Torquati, Massimo
    Fernandes, Luiz Gustavo
    PARALLEL COMPUTING: ON THE ROAD TO EXASCALE, 2016, 27 : 317 - 326
  • [25] Domain specific embedded compilers
    Leijen, D
    Meijer, E
    USENIX ASSOCIATION PROCEEDINGS OF THE 2ND CONFERENCE ON DOMAIN-SPECIFIC LANGUAGES (DSL'99), 1999, : 109 - 122
  • [26] Domain specific embedded compilers
    Leijen, D
    Meijer, E
    ACM SIGPLAN NOTICES, 2000, 35 (01) : 109 - 122
  • [27] ParDSL: a domain-specific language framework for supporting deployment of parallel algorithms
    Tekinerdogan, Bedir
    Arkin, Ethem
    SOFTWARE AND SYSTEMS MODELING, 2019, 18 (05): : 2907 - 2935
  • [28] Towards a Domain-Specific Language for Patterns-Oriented Parallel Programming
    Griebler, Dalvan
    Fernandes, Luiz Gustavo
    PROGRAMMING LANGUAGES, SBLP 2013, 2013, 8129 : 105 - 119
  • [29] Portable Parallel Performance from Sequential, Productive, Embedded Domain-Specific Languages
    Kamil, Shoaib
    Coetzee, Derrick
    Beamer, Scott
    Cook, Henry
    Gonina, Ekaterina
    Harper, Jonathan
    Morlan, Jeffrey
    Fox, Armando
    ACM SIGPLAN NOTICES, 2012, 47 (08) : 303 - 304
  • [30] ParDSL: a domain-specific language framework for supporting deployment of parallel algorithms
    Bedir Tekinerdogan
    Ethem Arkin
    Software & Systems Modeling, 2019, 18 : 2907 - 2935