ABSTRACT
In this paper, we propose a straightforward solution to the problems of compositional parallel programming by using skeletons as the uniform mechanism for structured composition. In our approach parallel programs are constructed by composing procedures in a conventional base language using a set of high-level, pre-defined, functional, parallel computational forms known as skeletons. The ability to compose skeletons provides us with the essential tools for building further and more complex application-oriented skeletons specifying important aspects of parallel computation. Compared with the process network based composition approach, such as PCN, the skeleton approach abstracts away the fine details of connecting communication ports to the higher level mechanism of making data distributions conform, thus avoiding the complexity of using lower level ports as the means of interaction. Thus, the framework provides a natural integration of the compositional programming approach with the data parallel programming paradigm.
- 1.G. E. Blelloch. Vector Models for Data-Parallel Computing. MIT Press, 1990. Google ScholarDigital Library
- 2.G. E',. Blelloch. NESL: A nested data-parallel language (version 3.0). Technical Report CMU-CS-94 (Draft), Carnegie Mellon University, March 1994.Google Scholar
- 3.M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. Pitman/MIT Press, 1989. Google ScholarDigital Library
- 4.M. Danelutto, R. Di Meglio, S. Orlando, S. Palagatti, and M. Vanneschi. The p3L language: An introduction. Technical Report HPL-PSC-91-29, Hewlett-Packard Laboratories, Pisa Science Centre, December 1991.Google Scholar
- 5.J. Darlington, M. Ghanem, and H. W. To. Structured parallel programming. In Programming Models for Masszvely Parallel Computers. IEEE Computer Society Press, September 1993.Google Scholar
- 6.J. {)arlington, Y. Guo, and It. W. To. Structured parallel programming: Theory meets practice. Technical report, Imperial College, 1995. unpublished.Google Scholar
- 7.I. Foster and K. M. Chandy. Fortran M: A language for modular parallel programming. Journal of Parallel and Dzstributed Computzng, 25(1), 1995. Google ScholarDigital Library
- 8.I. Foster, 1#. Olson, and S. Tuecke. Productive parallel programming: The PCN approach. Sczentzfic Programming, 1(1), 1992.Google Scholar
- 9.D. Gelernter and N. Carriero. Coordination languages and their significance. Communzcations of the ACM, 35(2):97-107, February 1992. Google ScholarDigital Library
- 10.High Performance Fortran Forum. Draft High Performance Fortran Language 5pecificat,on, ver.s,on 1.0. Available as technical report CRPC-TR92225, Rice University, January 1993.Google Scholar
- 11.S. Hiranandani, K. Kennedy, and C.-W. Tseng. (',ompiling Fortran D for MIMD distributed memory machines. Communications of the A CM, 35(8):66-80, August 1992. Google ScholarDigital Library
- 12.H. Ishihata, T. Horie, S. Inano, T. Shimizu, S. Kato, and M. Ikesaka. Third generation message passing computer AP1000. In International b#ymposzum on Supercomputzng, pages 46-55, 1991.Google Scholar
- 13.Message Passing Interface Forum. Draft Document for a Standard Message-Passzng Interface. Available from Oak Ridge National Laboratory, November 1993.Google Scholar
- 14.S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, Universita Delgi Studi Di Pisa, 1993.Google Scholar
- 15.M. J. Quinn. Parallel Computing: Theory and Practice. McGraw-Hill, second edition, 1994. Google ScholarDigital Library
- 16.J. R. Rose and G. L. Steele Jr. C*: An extended C language for data parallel programming. Technical Report PL 87-5, Thinking Machine Corporation, 1987.Google Scholar
- 17.J. M. Sipelstein and G. E. Blelloch. Collectionoriented languages. Proceedings of the IEEE, 79(4):504-523, April 1991.Google ScholarCross Ref
Index Terms
- Parallel skeletons for structured composition
Recommendations
Parallel skeletons for structured composition
In this paper, we propose a straightforward solution to the problems of compositional parallel programming by using skeletons as the uniform mechanism for structured composition. In our approach parallel programs are constructed by composing procedures ...
Implementing fusion-equipped parallel skeletons by expression templates
IFL'09: Proceedings of the 21st international conference on Implementation and application of functional languagesDeveloping efficient parallel programs is more difficult and complicated than developing sequential ones. Skeletal parallelism is a promising methodology for easy parallel programming in which users develop parallel programs by composing ready-made ...
Comments