Efficient high-level parallel programming

被引:21
|
作者
Botorog, GH
Kuchen, H
机构
[1] Rhein Westfal TH Aachen, Lehrstuhl Informat 2, D-52074 Aachen, Germany
[2] Univ Munster, Inst Wirtschaftsinformat, D-48159 Munster, Germany
关键词
algorithmic skeletons; high-level parallel programming; efficient implementation of functional features; distributed arrays;
D O I
10.1016/S0304-3975(97)00196-5
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Algorithmic skeletons are polymorphic higher-order functions that represent common parallelization patterns and that are implemented in parallel. They can be used as the building blocks of parallel and distributed applications by embedding them into a sequential language. In this paper, we present a new approach to programming with skeletons. We integrate the skeletons into an imperative host language enhanced with higher-order functions and currying, as well as with a polymorphic type system. We thus obtain a high-level programming language, which can be implemented very efficiently. We then present a compile-time technique for the implementation of the functional features which has an important positive impact on the efficiency of the language. After describing a series of skeletons which work with distributed arrays, we give two examples of parallel algorithms implemented in our language, namely matrix multiplication and Gaussian elimination. Run-time measurements for these and other applications show that we approach the efficiency of message-passing C up to a factor between 1 and 1.5. (C) 1998-Elsevier Science B.V. All rights reserved.
引用
收藏
页码:71 / 107
页数:37
相关论文
共 50 条
  • [1] High-level parallel programming in a heterogeneous world
    Daniel Garcia, J.
    Llanos, Diego R.
    CONCURRENCY AND COMPUTATION-PRACTICE & EXPERIENCE, 2019, 31 (05):
  • [2] The case for high-level parallel programming in ZPL
    Chamberlain, BL
    Choi, SE
    Lewis, EC
    Snyder, L
    Weathersby, WD
    Lin, C
    IEEE COMPUTATIONAL SCIENCE & ENGINEERING, 1998, 5 (03): : 76 - 86
  • [3] ClusterGOP: A high-level parallel programming environment
    Cao, JN
    2004 INTERNATIONAL CONFERENCE ON PARALLEL PROCESSING WORKSHOPS, PROCEEDINGS, 2004, : 158 - 158
  • [4] High-level data parallel programming in promoter
    Besch, M
    Bi, H
    Enskonatus, P
    Heber, G
    Wilhelmi, M
    SECOND INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS, 1997, : 47 - 54
  • [5] Efficient High-Level Abstractions for Web Programming
    Richard-Foy, Julien
    Barais, Olivier
    Jezequel, Jean-Marc
    ACM SIGPLAN NOTICES, 2014, 49 (03) : 53 - 60
  • [6] EFFICIENT HIGH-LEVEL PROGRAMMING ON THE AMT DAP
    FLANDERS, PM
    HELLIER, RL
    JENKINS, HD
    PAVELIN, CJ
    VANDENBERGHE, S
    PROCEEDINGS OF THE IEEE, 1991, 79 (04) : 524 - 536
  • [7] Efficient High-Level Programming in Plain Java
    Rui S. Silva
    João L. Sobral
    International Journal of Parallel Programming, 2023, 51 : 22 - 42
  • [8] CuPit-2: Portable and efficient high-level parallel programming of neural networks
    Hopp, Holger
    Prechelt, Lutz
    Systems Analysis Modelling Simulation, 1999, 35 (04): : 379 - 398
  • [9] Guest Editorial: High-Level Parallel Programming and Applications
    Danelutto, Marco
    Pelagatti, Susanna
    Torquati, Massimo
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2017, 45 (02) : 199 - 202
  • [10] Special Issue on High-Level Parallel Programming and Applications
    Loulergue, Frederic
    Tiskin, Alexander
    PARALLEL PROCESSING LETTERS, 2008, 18 (01) : 3 - 5