Skip to main content

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Article  MathSciNet  MATH  Google Scholar 

  2. 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.

    Chapter  Google Scholar 

  3. 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.

    Article  Google Scholar 

  4. 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.

    Google Scholar 

  5. [5]B. Bacci, M. Danelutto, S. Pelagatti, and M. Vanneschi. SkIE: an heterogeneous HPC environment. Parallel Computing, 25(13–14):1827–1852, December 1999.

    Article  Google Scholar 

  6. 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.

    Google Scholar 

  7. H. Bal and M. Haines. Approaches for integrating task and data parallelism. IEEE Concurrency, 6(3):74–84, July 1998.

    Article  Google Scholar 

  8. R. Bird. Algebraic identities for program calculation. The Computer Journal, 32(2):122–126, February 1989.

    Article  MathSciNet  Google Scholar 

  9. S. H. Bokhari. Partitioning problems in parallel, pipelined, and distributed computing. IEEE Transactions on Computers, 37(1):48–57, January 1988.

    Article  MathSciNet  Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. S. Ciarpaglini, L. Folchi, and S. Pelagatti. anacleto: Documentation. Technical report, 1998. Dipartimento di Informatica, Università di Pisa.

    Google Scholar 

  14. S. Ciarpaglini, L. Folchi, and S. Pelagatti. anacleto: User manual. Technical report, 1998. Dipartimento di Informatica, Università di Pisa.

    Google Scholar 

  15. M. Cole. Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge MA, 1989.

    MATH  Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Article  Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

    Google Scholar 

  22. 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.

    Google Scholar 

  23. 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.

    Article  MATH  Google Scholar 

  24. I. Foster and C. Kesselman. Globus: A metacomputing infrastructure toolkit. International Journal of Supercomputer Applications, 11(2):115–128, 1997.

    Article  Google Scholar 

  25. 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.

    Google Scholar 

  26. M. Frigo. A Fast Fourier Transform Compiler. In Proc. of the ACM SIG-PLAN PLDI’99, Atlanta, Georgia, pages 169–180, May 1999.

    Google Scholar 

  27. 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.

    Google Scholar 

  28. 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.

    Google Scholar 

  29. 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.

    Google Scholar 

  30. 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.

    Google Scholar 

  31. 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.

    Google Scholar 

  32. 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.

    Google Scholar 

  33. S. Pelagatti. Structured development of parallel programs. Taylor&Francis, London, 1997.

    Google Scholar 

  34. 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.

    Google Scholar 

  35. 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.

    Google Scholar 

  36. 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.

    Article  Google Scholar 

  37. 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.

    Google Scholar 

  38. 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.

    Google Scholar 

  39. 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.

    Google Scholar 

  40. D. B. Skillicorn and D. Talia. Models and languages for parallel computation. ACM Computing Surveys, 30(2):123–169, June 1998.

    Article  Google Scholar 

  41. 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.

    Google Scholar 

  42. A. Zavanella. Skeletons, BSP and performance portability. In Proc. of HLPP’01, Orleans, France, March 2001. To appear on Parallel Processing Letters.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics