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 条
  • [41] NoT: a high-level no-threading parallel programming method for heterogeneous systems
    Shusen Wu
    Xiaoshe Dong
    Xingjun Zhang
    Zhengdong Zhu
    The Journal of Supercomputing, 2019, 75 : 3810 - 3841
  • [42] NoT: a high-level no-threading parallel programming method for heterogeneous systems
    Wu, Shusen
    Dong, Xiaoshe
    Zhang, Xingjun
    Zhu, Zhengdong
    JOURNAL OF SUPERCOMPUTING, 2019, 75 (07): : 3810 - 3841
  • [43] GLU: A high-level system for granular data-parallel programming
    Jagannathan, R
    Dodd, C
    Agi, I
    CONCURRENCY-PRACTICE AND EXPERIENCE, 1997, 9 (01): : 63 - 83
  • [44] Daino: A High-level Framework for Parallel and Efficient AMR on GPUs
    Wahib, Mohamed
    Maruyama, Naoya
    Aoki, Takayuki
    SC '16: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE FOR HIGH PERFORMANCE COMPUTING, NETWORKING, STORAGE AND ANALYSIS, 2016, : 621 - 632
  • [45] Teaching parallel programming using both high-level and low-level languages
    Pan, Y
    COMPUTATIONAL SCIENCE-ICCS 2002, PT III, PROCEEDINGS, 2002, 2331 : 888 - 897
  • [46] High-level programming in MPI
    Gropp, WD
    Lusk, E
    RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, 2003, 2840 : 27 - 27
  • [47] High-Level Logic Programming
    Osorio, M
    Zacarias, F
    FOUNDATIONS OF INFORMATION AND KNOWLEDGE SYSTEMS, 2000, 1762 : 226 - 240
  • [48] HIGH-LEVEL PROGRAMMING LANGUAGES
    BARNETT, GO
    GREENES, RA
    COMPUTERS AND BIOMEDICAL RESEARCH, 1970, 3 (05): : 488 - &
  • [49] Programming the Web with high-level programming languages
    Graunke, P
    Krishnamurthi, S
    Van der Hoeven, S
    Felleisen, M
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2001, 2028 : 122 - 136
  • [50] Parallel quantum chemistry computation in a high-level data-parallel programming environment PROMISE
    Jiang, ZY
    PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-V, 2000, : 2749 - 2755