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 条
  • [1] A Domain-Specific Embedded Language for Programming Parallel Architectures
    McGuiness, Jason
    Egan, Colin
    2013 12TH INTERNATIONAL SYMPOSIUM ON DISTRIBUTED COMPUTING AND APPLICATIONS TO BUSINESS, ENGINEERING & SCIENCE (DCABES), 2013, : 83 - 88
  • [2] Diderot: a Domain-Specific Language for Portable Parallel Scientific Visualization and Image Analysis
    Kindlmann, Gordon
    Chiw, Charisee
    Seltzer, Nicholas
    Samuels, Lamont
    Reppy, John
    IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, 2016, 22 (01) : 867 - 876
  • [3] Embedded Domain-Specific Language and Runtime System for Progressive Spatiotemporal Data Analysis and Visualization
    Christensen, Cameron
    Liu, Shusen
    Scorzelli, Giorgio
    Lee, Ji-Woo
    Bremer, Peer-Timo
    Pascucci, Valerio
    2016 IEEE 6TH SYMPOSIUM ON LARGE DATA ANALYSIS AND VISUALIZATION (LDAV), 2016, : 1 - 10
  • [4] Obsidian: A Domain Specific Embedded Language for Parallel Programming of Graphics Processors
    Svensson, Joel
    Sheeran, Mary
    Claessen, Koen
    IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES, 2011, 5836 : 156 - 173
  • [5] EriLex: An Embedded Domain Specific Language Generator
    Xu, Hao
    OBJECTS, MODELS, COMPONENTS, PATTERNS, 2010, 6141 : 192 - 212
  • [6] A Domain-Specific Language for Exploratory Data Visualization
    Smeltzer, Karl
    Erwig, Martin
    PROCEEDINGS OF THE 17TH ACM SIGPLAN INTERNATIONAL CONFERENCE ON GENERATIVE PROGRAMMING: CONCEPTS AND EXPERIENCES (GPCE'18), 2018, : 1 - 13
  • [7] Natural semantics visualization for domain-specific language
    Steingartner, William
    Zsiga, Richard
    Radakovie, Davorka
    IPSI BGD TRANSACTIONS ON INTERNET RESEARCH, 2023, 19 (01): : 52 - 57
  • [8] MELT a Translated Domain Specific Language Embedded in the GCC Compiler
    Starynkevitch, Basile
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2011, (66): : 118 - 142
  • [9] Finite Element Assembly Using an Embedded Domain Specific Language
    Janssens, Bart
    Banyai, Tamas
    Limam, Karim
    Bosschaerts, Walter
    SCIENTIFIC PROGRAMMING, 2015, 2015
  • [10] A Domain Specific Language in Dependability Analysis
    Kowalski, Marcin
    Wilkosz, Kazimierz
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DEPENDABILITY OF COMPUTER SYSTEMS, 2009, : 324 - 331