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.
    [J]. 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
    [J]. IEEE COMPUTATIONAL SCIENCE & ENGINEERING, 1998, 5 (03): : 76 - 86
  • [3] ClusterGOP: A high-level parallel programming environment
    Cao, JN
    [J]. 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
    [J]. 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
    [J]. 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
    [J]. PROCEEDINGS OF THE IEEE, 1991, 79 (04) : 524 - 536
  • [7] Efficient High-Level Programming in Plain Java
    Rui S. Silva
    João L. Sobral
    [J]. 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
    [J]. Systems Analysis Modelling Simulation, 1999, 35 (04): : 379 - 398
  • [9] Guest Editorial for High-level Parallel Programming and Applications
    Hains, Gaetan
    Khmelevsky, Youry
    [J]. INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2014, 42 (04) : 525 - 528
  • [10] Special Issue on High-Level Parallel Programming and Applications
    Loulergue, Frederic
    Tiskin, Alexander
    [J]. PARALLEL PROCESSING LETTERS, 2008, 18 (01) : 3 - 5