Abstract
In many parallel applications high performance figures are reached at the expenses of software quality. The parallel structure of an application is decided by the programmer and wired in the application code. Resource management is carefully tuned “by hand”, compromising the possibility to reuse the code without substantial re-programming. Software is hard to maintain and to prove correct against specifications as single interactions need to be coded and managed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. Aldinucci, S. Gorlatch, C. Lengauer, and S. Pelagatti. Towards parallel programming by transformation: The FAN skeleton framework. Parallel Algorithms & Applications, 16(2–3):87–121, March 2001.
B. Bacci, B. Cantalupo, M. Danelutto, S. Orlando, D. Pasetto, S. Pelagatti, and M. Vanneschi. An environment for structured parallel programming. In L. Grandinetti, M. Kowalick, and M. Vaitersic, editors, Advances in High Performance Computing, pages 219–234. Kluwier, Dordrecht, The Netherlands, 1997.
B. Bacci, M. Danelutto, S. Orlando, S. Pelagatti, and M. Vanneschi. P3L: A structured high level programming language and its structured support. Concurrency: Practice and Experience, 7(3):225–255, May 1995.
B. Bacci, M. Danelutto, and S. Pelagatti. Resource optimization via structured parallel programming. In K. Decker and R. Rehmann, editors, Programming Environments for Massively Parallel Distributed Systems, pages 13–25. Birkhäuser Verlag, Basel, Switzerland, 1994.
[5]B. Bacci, M. Danelutto, S. Pelagatti, and M. Vanneschi. SkIE: an heterogeneous HPC environment. Parallel Computing, 25(13–14):1827–1852, December 1999.
B. Bacci, S. Gorlatch, C. Lengauer, and S. Pelagatti. Skeletons and transformations in an integrated parallel programming environment. In V. Malyshkin, editor, Proc. of Parallel Computing Technologies (PaCT99), number 1662 in LNCS, pages 13–27. Springer-Verlag, Berlin, September 1999.
H. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6(3):74–84, July 1998.
R. Bird. Algebraic identities for program calculation. The Computer Journal, 32(2):122–126, February 1989.
S. H. Bokhari. Partitioning problems in parallel, pipelined, and distributed computing. IEEE Transactions on Computers, 37(1):48–57, January 1988.
T. Brandes. Exploiting advanced task parallelism in High Performance Fortran via task library. In Proc. of Euro-Par’99, Toulouse, France, volume 1685 of LNCS, pages 833–845. Springer-Verlag, Berlin, September 1999.
S. Ciarpaglini, M. Danelutto, L. Folchi, C. Manconi, and S. Pelagatti. anacleto: a template-based P3L compiler. In Proceedings of the Seventh Parallel Computing Workshop (PCW ’97), pages P2-F-1–7, Australian National University, Canberra, 1997.
S. Ciarpaglini, L. Folchi, S. Orlando, S. Pelagatti, and R. Perego. Integrating task and data parallelism with taskHPF. In Proc. of the Int. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA’2000), Monte Carlo Resort, Las Vegas, Nevada, pages 2485–2491. CSREA Press, June 2000.
S. Ciarpaglini, L. Folchi, and S. Pelagatti. anacleto: Documentation. Technical report, 1998. Dipartimento di Informatica, Università di Pisa.
S. Ciarpaglini, L. Folchi, and S. Pelagatti. anacleto: User manual. Technical report, 1998. Dipartimento di Informatica, Università di Pisa.
M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge MA, 1989.
M. Danelutto. Dynamic run time support for skeletons. In E. D’Hollander, G. Joubert, F. Peters, and H. Sips, editors, Parallel Computing: Fundamentals and Applications (Proc. of ParCo99), Delft, The Netherlands, 17–20 August, 1999.
M. Danelutto, R. D. Cosmo, X. Leroy, and S. Pelagatti. Parallel functional programming with skeletons: the Ocam1P3L experiment. In Proc. of the 1998 ACM SIGPLAN Workshop on ML, Baltimore, Maryland, pages 31–39, September 1998.
M. Danelutto, R. D. Meglio, S. Orlando, S. Pelagatti, and M. Vanneschi. A methodology for the development and the support of massively parallel programs. Future Generation Computer Systems, 8:205–220, August 1992.
M. Danelutto, F. Pasqualetti, and S. Pelagatti. Skeletons for data parallelism in P3L. In C. Lengauer, M. Griebl, and S. Gorlatch, editors, Proc. of EURO-PAR ’97, Passau, Germany, volume 1300 of LNCS, pages 619–628. Springer-Verlag, Berlin, August 1997.
J. Darlington, A. Field, P. Harrison, P. Kelly, R. While, and Q. Wu. Parallel programming using skeleton functions. In A. B. M. Reeve and G. Wolf, editors, Proc. of PARLE’93, Munich, Germany, volume 694 of Lecture Notes in Computer Science, pages 146–160. Springer-Verlag, Berlin, 1993.
J. Darlington, Y. Guo, H. W. To, and Y. Jing. Skeletons for structured parallel composition. In Proc. of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, Santa Barbara, CA, volume 30 of SIGPLAN Notices, pages 19–28, July 1995.
P. Dinda, T. Gross, D. O’Hallaron, E. Segall, J. Stichnoth, J. Subholk, J. Webb, and B. Yang. The CMU task parallel program suite. Technical Report CMU-CS-94–131, School of Computer Science, Carnegie Mellon University, March 1994.
I. Foster and K. Chandy. Fortran M: A language for modular parallel programming. Journal of Parallel and Distributed Computing, 26(1):24–35, April 1995.
I. Foster and C. Kesselman. Globus: A metacomputing infrastructure toolkit. International Journal of Supercomputer Applications, 11(2):115–128, 1997.
I. Foster, D. Kohr, R. Krishnaiyer, and A. Choudhary. Double standards: Bringing task parallelism to HPF via the Message Passing Interface. In Proc. of Supercomputing ’96, November 1996.
M. Frigo. A Fast Fourier Transform Compiler. In Proc. of the ACM SIG-PLAN PLDI’99, Atlanta, Georgia, pages 169–180, May 1999.
N. Furmento, A. Mayer, S. McGough, S. Newhouse, T. Field, and J. Darlington. Optimization of component-based applications within a grid environment. In Proc. of Supercomputing 2001, Denver, Colorado, November 2001.
S. Gorlatch. Systematic efficient parallelization of scan and other list homomorphisms. In L. Bouge, P. Fraigniaud, A. Mignotte, and Y. Robert, editors, Euro-Par’96: Parallel Processing, Vol. II, Lyon, France, volume 1124 of LNCS, pages 401–408. Springer-Verlag, Berlin, August 1996.
S. Gorlatch and S. Pelagatti. A transformational framework for skeletal programs: Overview and case study. In J. Rohlim, editor, Proc. of Parallel and Distributed Processing. Workshops held in Conjunction with IPPS/SPDP’99, volume 1586 of LNCS, pages 123–137. Springer-Verlag, Berlin, 1999.
T. Gross, D. O’Hallaron, and J. Subholk. Task parallelism in High Performance Fortran framework. IEEE Parallel and Distributed Technology, 2(2):16–26, 1994.
P. H. J. Kelly, O. Beckmann, T. Field, and S. Baden. THEMIS: Component dependence metadata in adaptive parallel applications. In Proc. of HLPP’01, Orleans, France, March 2001. To appear on Parallel Processing Letters.
S. Pelagatti. A Methodology for the Development and the Support of Massively Parallel Programs. PhD thesis, TD-11/93, Department of Computer Science, University of Pisa (Italy), March 1993.
S. Pelagatti. Structured development of parallel programs. Taylor&Francis, London, 1997.
S. Pelagatti. Compiling and supporting skeletons on MPP. In J. Darlington, editor, Proc. of the Third Working Conference on Massively Parallel Programming Models, London, UK, pages 140–150. IEEE Computer Society Press, Los Alamitos, CA, 1998.
F. Rabhi. Exploiting parallelism in functional languages: A `paradigm oriented’ approach. In Abstract Machine Models for Highly Parallel Computing, pages 118–139. Oxford Universitary Press, Oxford, 1995.
S. Ramaswamy, S. Sapatnekar, and P. Banerjee. A framework for exploiting task and data parallelism on distributed memory multicomputers. IEEE Transactions on Parallel and Distributed Systems, 8(11):1098–1116, November 1997.
T. Rauber and G. Rünger. A coordination language for mixed task and data parallel programs. In Proc. of 3rd Annual ACM Symposium on Applied Computing (SAC’99), pages 146–155. ACM Press, 1999.
J. Serot. Embodying parallel functional skeletons: an experimental implementation on top of MPI. In C. Lengauer, M. Griebl, and S. Gorlatch, editors, Proc. of EURO-PAR ’97, Passau, Germany, volume 1300 of LNCS, pages 629–633. Springer-Verlag, Berlin, August 1997.
D. Skillicorn, M. Danelutto, S. Pelagatti, and A. Zavanella. Optimizing data-parallel programs using the BSP cost model. In D. Pritchard and J. Reeve, editors, Proc. of Euro-Par ’98, Southampton, UK, volume 1470 of Lecture Notes in Computer Science, pages 698–703. Springer-Verlag, Berlin, September 1998.
D. B. Skillicorn and D. Talia. Models and languages for parallel computation. ACM Computing Surveys, 30(2):123–169, June 1998.
J. Subholk and B. Yang. A new model for integrated nested task and data parallel programming. In Proc. of the 6th ACM Symposium on Principles and Practice of Parallel Programming, pages 1–12. ACM Press, New York, 1997.
A. Zavanella. Skeletons, BSP and performance portability. In Proc. of HLPP’01, Orleans, France, March 2001. To appear on Parallel Processing Letters.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag London
About this chapter
Cite this chapter
Pelagatti, S. (2003). Task and Data Parallelism in P3L. In: Rabhi, F.A., Gorlatch, S. (eds) Patterns and Skeletons for Parallel and Distributed Computing. Springer, London. https://doi.org/10.1007/978-1-4471-0097-3_6
Download citation
DOI: https://doi.org/10.1007/978-1-4471-0097-3_6
Publisher Name: Springer, London
Print ISBN: 978-1-85233-506-9
Online ISBN: 978-1-4471-0097-3
eBook Packages: Springer Book Archive