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
相关论文
共 23 条
[1]   P(3)L - A STRUCTURED HIGH-LEVEL PARALLEL LANGUAGE, AND ITS STRUCTURED SUPPORT [J].
BACCI, B ;
DANELUTTO, M ;
ORLANDO, S ;
PELAGATTI, S ;
VANNESCHI, M .
CONCURRENCY-PRACTICE AND EXPERIENCE, 1995, 7 (03) :225-255
[2]  
Blelloch Guy E., 1995, CMUCS95170
[3]   Skil: An imperative language with algorithmic skeletons for efficient distributed programming [J].
Botorog, GH ;
Kuchen, H .
PROCEEDINGS OF THE FIFTH IEEE INTERNATIONAL SYMPOSIUM ON HIGH PERFORMANCE DISTRIBUTED COMPUTING, 1996, :243-252
[4]  
BOTOROG GH, 1996, LECT NOTES COMPUTER, V1123, P718
[5]  
BOTOROG GH, 1996, LECT NOTES COMPUTER, V1117, P263, DOI DOI 10.1007/BFB0030116
[6]  
BOTOROG GH, 1997, THESIS AACHEN U TECH
[7]  
Cole M., 1989, DEV CHILDREN
[8]  
DARLINGTON J, 1995, LNCS, V966, P55, DOI DOI 10.1007/BFB0020455
[9]  
Foster Ian, 1992, SCI PROGRAMMING-NETH, V1, P51
[10]  
*HIGH PERF FORTR F, 1993, SCI PROGRAMMING-NETH, V2, P1