Summarising an experiment in parallel programming language design
Just before the skeleton/template concepts come into fashion in the parallel processing community, we started designing a new parallel programming language. This language (P3L) sports skeletons at the statement level and it has been implemented by writing a template-based compiler. With language, we performed a set of tests aimed at verifying different results: the suitability of P3L for massively parallel programming, its efficiency in generating “good” parallel code and the performance achieved with respect to traditional parallel programming languages. This paper aims at summarising the experience gained by our group with the “P3L experiment”, and, in particular, at pointing out the main results achieved in one year of intensive experimentation with the P3L compiling tools.
Key wordsMPP structured programming languages skeletons templates
Unable to display preview. Download preview PDF.
- [BDCW91]E. A. Brewer, C. N. Dellarocas, A. Colbrook, and W. E. Weihl. PROTEUS: A High Performance Parallel Architecture Simulator. Technical Report MIT/LCS/TR-516, Massachusetts Institute of Technology, 1991.Google Scholar
- [BDO+93]B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, and M. Vanneschi. P3L: a structured high level parallel language and its structured support. Technical Report TR-36/93, Dept. of Comp. Science-Univ. of Pisa, 1993. Available by fpt anonymous at ftp.di.unipi.it. To appear on Concurrency, Practice and Experience.Google Scholar
- [BDP93]B. Bacci, M. Danelutto, and S. Pelagatti. Automatic Balancing of Stream-Parallel Computations in P3L. Technical Report TR-35/93, Department of Computer Science, University of Pisa (Italy), 1993.Google Scholar
- [BDP94]B. Bacci, M. Danelutto, and S. Pelagatti. Resource Optimization via Structured Parallel Programming. In K. M. Decker and R. M. Rehmann, editors, Programming Environments for Massively Parallel Distributed Systems, pages 13–25. Birkhauser, April 1994.Google Scholar
- [Col89]M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computations. Research Monographs in Parallel and Distributed Computing. Pitman, 1989.Google Scholar
- [DFH+93]J. Darlington, A. J. Field, P.G. Harrison, P. H. J. Kelly, D. W. N. Sharp, Q. Wu, and R. L. While. Parallel Programming Using Skeleton Functions. In M. Reeve A. Bode and G. Wolf, editors, PARLE'93 Parallel Architectures and Langauges Europe. Springer Verlag, June 1993. LNCS No. 694.Google Scholar
- [DMO+92]M. Danelutto, R. Di Meglio, S. Orlando, S. Pelagatti, and M. Vanneschi. A methodology for the development and support of massively parallel programs. Future Generation Computer Systems, 8(1–3), July 1992.Google Scholar
- [DMO+94]M. Danelutto, R. Di Meglio, S. Orlando, S. Pelagatti, and M. Vanneschi. A Methodology for the Development and Support of Massively Parallel Programs. In D. B. Skilliconr and D. Talia, editors, Programming Languages for Parallel Processing, chapter 7, pages 319–334. IEEE Computer Society Press, 1994.Google Scholar
- [Hey89]A. J. G. Hey. Experiments in MIMD parallelism. In PARLE 1989. LNCS 365, Springer-Verlag, 1989.Google Scholar
- [Mei91]Meiko. CS Tools programming manual. Technical report, Meiko, 1991.Google Scholar
- [Ski91]D. B. Skillicorn. Models for Practical Parallel Computation. International Journal of Parallel Programming, 20(2), April 1991.Google Scholar
- [Sun90]V. Sunderam. PVM: A Framework for Parallel Distributed Computing. Concurrency: Practice and Experience, 2(4), 1990.Google Scholar