Resource Optimisation via Structured Parallel Programming

When dealing with massively parallel architectures, many difficult problems have to be solved. In this paper we will show how, by adopting a structured style of programming and a set of template-based compiling tools, most of the burden required in writing massively parallel applications can be moved to the compiler design phase. In particular, we will discuss how the problem of implementing a parallel application onto a machine having a limited number of processing elements can be tackled. By exploiting information on the structure of the parallelism coming from the high level language and the templates in the compiling tools, we are able to devise a polynomial time procedure that achieves efficient implementation of structured parallel programs onto distributed memory, MIMD machines based on a regular interconnection topology and having a limited number of resources.

[1]  David B. Skillicorn Practical Concurrent Programming for Parallel Machines , 1991, Comput. J..

[2]  Anthony J. G. Hey,et al.  Practical Parallelism using Transputer Arrays , 1987, PARLE.

[3]  Marco Vanneschi,et al.  A methodology for the development and the support of massively parallel programs , 1992, Future Gener. Comput. Syst..

[4]  Paul H. J. Kelly Functional programming for loosely-coupled multiprocessors , 1989, Research monographs in parallel and distributed computing.

[5]  Peter G. Harrison,et al.  Parallel Programming Using Skeleton Functions , 1993, PARLE.

[6]  Manfred Broy,et al.  Logic of Programming and Calculi of Discrete Design , 1987, NATO ASI Series.

[7]  G. C. Fox,et al.  Solving Problems on Concurrent Processors , 1988 .

[8]  David B. Skillicorn,et al.  Architecture-independent parallel computation , 1990, Computer.

[9]  Chung-Ta King,et al.  Pipelined Data Parallel Algorithms-I: Concept and Modeling , 1990, IEEE Trans. Parallel Distributed Syst..

[10]  Anthony J. G. Hey,et al.  Reconfigurable transputer networks: practical concurrent computation , 1988, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[11]  Salvatore Orlando,et al.  Efficient Compilation of Structured Parallel Programs for Distributed Memory MIMD Machines , 1993, PARCO.

[12]  Richard S. Bird,et al.  Lectures on Constructive Functional Programming , 1989 .

[13]  H. T. Kung,et al.  Computational models for parallel computers , 1988, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[14]  Richard S. Bird,et al.  An introduction to the theory of lists , 1987 .

[15]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[16]  Salvatore Orlando,et al.  P3 L: A structured high-level parallel language, and its structured support , 1995, Concurr. Pract. Exp..