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 条
  • [21] Guest Editorial: High-Level Parallel Programming and the Road to High Performance
    J. Daniel García
    Arturo Gonzalez-Escribano
    International Journal of Parallel Programming, 2019, 47 : 161 - 163
  • [22] Guest Editorial: High-Level Parallel Programming and the Road to High Performance
    Daniel Garcia, J.
    Gonzalez-Escribano, Arturo
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2019, 47 (02) : 161 - 163
  • [23] Experiences using high-level programming for parallel cellular computation
    Spezzano, G
    Talia, D
    HIGH PERFORMANCE COMPUTING SYSTEMS AND APPLICATIONS, 2000, 541 : 515 - 528
  • [24] ParSoDA: high-level parallel programming for social data mining
    Belcastro L.
    Marozzo F.
    Talia D.
    Trunfio P.
    Social Network Analysis and Mining, 2019, 9 (01)
  • [25] Towards High-Level Parallel Programming Models for Multicore Systems
    Marowka, Ami
    PROCEEDINGS OF THE 2008 ADVANCED SOFTWARE ENGINEERING & ITS APPLICATIONS, 2008, : 226 - 229
  • [26] Guest Editorial: High-Level Parallel Programming with Algorithmic Skeletons
    Gorlatch, Sergei
    Kuchen, Herbert
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2018, 46 (01) : 1 - 3
  • [27] A high-level cellular programming model for massively parallel processing
    Spezzano, G
    Talia, D
    SECOND INTERNATIONAL WORKSHOP ON HIGH-LEVEL PARALLEL PROGRAMMING MODELS AND SUPPORTIVE ENVIRONMENTS, PROCEEDINGS, 1997, : 55 - 63
  • [28] Guest Editorial: High-Level Parallel Programming with Algorithmic Skeletons
    Sergei Gorlatch
    Herbert Kuchen
    International Journal of Parallel Programming, 2018, 46 : 1 - 3
  • [29] Practical Aspects of High-Level Parallel Programming PAPP 2010
    Benoit, Anne
    Gava, Frederic
    ICCS 2010 - INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, PROCEEDINGS, 2010, 1 (01): : 2047 - +
  • [30] High-level abstractions for message-passing parallel programming
    Chan, F
    Cao, JN
    Sun, YD
    PARALLEL COMPUTING, 2003, 29 (11-12) : 1589 - 1621