Musket: A Domain-Specific Language for High-Level Parallel Programming with Algorithmic Skeletons

被引:11
|
作者
Rieger, Christoph [1 ]
Wrede, Fabian [1 ]
Kuchen, Herbert [1 ]
机构
[1] Univ Munster, ERCIS, Munster, Germany
关键词
Domain-Specific Language; Algorithmic Skeletons; High-level Parallel Programming; High Performance Computing;
D O I
10.1145/3297280.3297434
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Parallel programming for an infrastructure of multi-core or many-core clusters is a challenge for developers without experience in this domain. Developers need to use several libraries such as MPI, OpenMP, and CUDA to efficiently use the hardware which may include additional accelerators such as GPUs. Also, performing low-level optimizations is required in order to reach high performance. One approach to overcome these issues is the concept of Algorithmic Skeletons. These are instances of typical patterns for parallel programming, such as map, fold, and zip, which can simply be composed by an application programmer without taking care of low-level programming aspects. We propose a domain-specific language called Musket that includes algorithmic skeletons as domain abstractions which seamlessly integrate with sequential code while aligning with the C++ programming language for fast learnability. For improved usability, the editing component validates the correctness of models and provides solution hints in the integrated development environment. From the naive program specification, automatic transformations are applied in order to optimize the code for parallel execution. Subsequently, low-level C++ programs are generated which are optimized for multi-core parallelism on a cluster infrastructure. We evaluate the language using benchmark models written in our DSL and compare the execution time and speedup achieved through model preprocessing and code generation. Our experimental results show that the performance of Musket programs can be significantly improved through intermediate optimizations. The DSL approach thus simplifies multi-core application development and enables performance optimizations through model transformations.
引用
收藏
页码:1534 / 1543
页数:10
相关论文
共 50 条
  • [41] Distributed Data-Parallel Computing Using a High-Level Programming Language
    Isard, Michael
    Yu, Yuan
    [J]. ACM SIGMOD/PODS 2009 CONFERENCE, 2009, : 987 - 994
  • [42] An integrated synchronization and consistency protocol for the implementation of a high-level parallel programming language
    Rinard, MC
    [J]. 10TH INTERNATIONAL PARALLEL PROCESSING SYMPOSIUM - PROCEEDINGS OF IPPS '96, 1996, : 549 - 553
  • [43] High-level parallel programming in a heterogeneous world
    Daniel Garcia, J.
    Llanos, Diego R.
    [J]. CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2019, 31 (05):
  • [44] The case for high-level parallel programming in ZPL
    Chamberlain, BL
    Choi, SE
    Lewis, EC
    Snyder, L
    Weathersby, WD
    Lin, C
    [J]. IEEE COMPUTATIONAL SCIENCE & ENGINEERING, 1998, 5 (03): : 76 - 86
  • [45] ClusterGOP: A high-level parallel programming environment
    Cao, JN
    [J]. 2004 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS, PROCEEDINGS, 2004, : 158 - 158
  • [46] High-level data parallel programming in promoter
    Besch, M
    Bi, H
    Enskonatus, P
    Heber, G
    Wilhelmi, M
    [J]. SECOND INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS, 1997, : 47 - 54
  • [47] SIPE: A Domain-Specific Language for Specifying Interactive Programming Exercises
    Swacha, Jakub
    [J]. TOWARDS A SYNERGISTIC COMBINATION OF RESEARCH AND PRACTICE IN SOFTWARE ENGINEERING, 2018, 733 : 15 - 29
  • [48] A Domain-Specific Language for Application-Level Checkpointing
    Arora, Ritu
    Mernik, Marjan
    Bangalore, Purushotham
    Roychoudhury, Suman
    Mukkai, Saraswathi
    [J]. DISTRIBUTED COMPUTING AND INTERNET TECHNOLOGY, PROCEEDINGS, 2008, 5375 : 26 - 38
  • [49] Domain-specific high-level modeling and synthesis for ATM switch design using VHDL
    Lee, MTC
    Hsu, YC
    Chen, B
    Fujita, M
    [J]. 33RD DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 1996, 1996, : 585 - 590
  • [50] Domain-specific Optimisation for the High-level Synthesis of CellML-based Simulation Accelerators
    Oppermann, Julian
    Koch, Andreas
    Yu, Ting
    Sinnen, Oliver
    [J]. 2015 25TH INTERNATIONAL CONFERENCE ON FIELD PROGRAMMABLE LOGIC AND APPLICATIONS, 2015,