Skip to main content
  • 135 Accesses

Abstract

After experiencing a considerable growth in the early 1980s, it is now recognised that parallel processing has yet to reach a stage where it delivers stable, efficient and portable software. For this reason, the design of programming models for parallel processing and the tools to support them is still an active research area [22]. Most models and tools are designed around basic communication primitives such as shared memory, message-passing or Remote Procedure Call (RPC). This chapter advocates the use of algorithmic skeletons as basic design primitives around which a complete development environment can be built. It starts by presenting the author’s classification of parallel algorithms, which is the basis for identifying the skeletons that are most relevant in practice. Then it describes experiences in building three programming environments based around the same skeleton (Static Iterative Transformation).

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. B. Benatallah, M. Dumas, M.C. Fauvet and F.A. Rabbi. Towards Patterns of Web Services Composition, Internal Report TR0111, School of Computer Science and Engineering, The University of New South Wales, Sydney, Australia, November 2001 (an improved version appears as Chapter 10 of this book).

    Google Scholar 

  2. J.H. Bramble. Multigrid Methods. Number 294 in Pitman Research Notes in Mathematics. Longman Scientific & Technical, 1993.

    Google Scholar 

  3. M. Cole. Algorithmic skeletons: a structured approach to the management of parallel computation, Research Monographs in Parallel and Distributed Computing, (Pitman 1989).

    Google Scholar 

  4. A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. PVM: Parallel Virtual Machine, MIT Press, 1994.

    Google Scholar 

  5. M. W. Goudreau, J.M.D. Hill, K. Lang, W.F. McColl, S. B. Rao, D.C. Stefanescu, T. Suel, and T. Tsantilas. A proposal for the BSP worldwide standard library, July 1996, available on http://www.bsp-worldwide.org/

  6. J.M.D. Hill. BSP cost parameters for the Oxford BSP toolset, September 1998, University of Oxford, available by anonymous FTP from ftp://ftp.comlab.ox.ac.uk/pub/Packages/BSP/papers/BSPparam.ps.gz

  7. Intel Corporation, iPSC/2 and iPSC/860 User’s guide, 1991.

    Google Scholar 

  8. W.F. McColl. Bulk Synchronous Parallel Computing. In J.R. Davy and P.M. Dew, editors, Abstract Machine Models for Highly Parallel Computers, pages 41–63. Oxford University Press, 1995 (also see http://www.bsp-worldwide.org)

  9. B.O. Osoba. A Parallel Programming Environment for Multigrid using BSP, PhD thesis, Dept. of Computer Science, The University of Hull, June 1999.

    Google Scholar 

  10. B.O. Osoba and F.A. Rabhi. A Parallel Multigrid Skeleton using BSP In EuroPar’98: Parallel Processing, D. Pritchard and J. Reeve editors, Lecture Notes in Computer Science 1470, pages 704–708, Springer-Verlag, 1998.

    Google Scholar 

  11. M.E. Outram and F.A. Rabhi, A Skeleton for the Design of Parallel Fault-Tolerant Systems, Proc. DCCS’2000: 16th IFAC Workshop on Distributed Control Systems, Sydney, November/December 2000.

    Google Scholar 

  12. P.J. Parsons and F.A. Rabhi. Specifying Problems in a Paradigm Based Parallel Programming System. In E.H. D’Hollander, G.R. Joubert, F.J. Peters, and D. Trystram, editors, Parallel Computing: State-of-the-Art and Perspectives, pages 215–222, Gent, Belgium, 1996. North Holland.

    Google Scholar 

  13. P.J. Parsons and F.A. Rabbi. Generating Parallel Programs from Skeleton Based Specifications. Journal of Systems Architecture, 45(4):261–283, Dec. 1998.

    Article  Google Scholar 

  14. W. Partain The Glasgow Haskell Compiler, The GRASP Project. Technical report, Department of Computer Science, University of Glasgow, 1992.

    Google Scholar 

  15. F.A. Rabhi. Exploiting Parallelism in Functional Languages: a Paradigm-Oriented Approach. In J.R. Davy and P.M. Dew editors, Abstract Machine Models for Highly Parallel Computers, pages 118–139, Oxford University Press, 1995.

    Google Scholar 

  16. F.A. Rabbi, A Parallel Programming Methodology Based on Paradigms, In P. Nixon editor, Transputer and Occam Developments, pages 239–252, IOS Press, 1995.

    Google Scholar 

  17. F.A. Rabhi and J. Schwarz. POPE: A “Paradigm-Oriented” parallel programming environment for SIT algorithms. In J. Glauert, editor, Proceedings of the 6th International Workshop on the Implementation of Functional Languages, Norwich, September 1994. University of East Anglia.

    Google Scholar 

  18. F.A. Rabhi and G. Lapalme. Algorithms: a Functional Programming Approach, Addison-Wesley, 1999.

    Google Scholar 

  19. F.A. Rabhi, H. Cai and B.C. Tompsett. A Skeleton-Based Approach for the Design and Implementation of Distributed Virtual Environments, Proc. 5th International Symposium on Software Engineering for Parallel and Distributed Systems, Limerick, June 2000, pages 13–20, IEEE Computer Society Press.

    Google Scholar 

  20. P. Ramanathan and S. Chalasani. Parallel multigrid algorithms on CM-5, in: IEE Proc. Computers and Digital Techniques, (vol. 142, no 3, May 1995).

    Google Scholar 

  21. J. Schwarz and F.A. Rabhi. A Skeleton-Based Implementation of Iterative Transformation Algorithms using Functional Languages. In M. Kara et al. editors, Abstract Machine Models for Parallel and Distributed Computing, pages 119–133, IOS Press, April 1996.

    Google Scholar 

  22. D.B. Skillicorn and D. Talia, Models and Languages for Parallel Computation, ACM Computing Surveys, 30(2), pages 123–169, June 1998.

    Article  Google Scholar 

  23. Transtech Parallel Systems, Paramid User’s Guide, 1993.

    Google Scholar 

  24. I. Uthus and H. Dybdahl, Simulation of the BSP Model on Different Computer Architectures, Department of Computer and Information, Norwegian University of Science and Technology, (1997).

    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

Rabhi, F.A. (2003). Skeleton-based Programming Environments. 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_7

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-0097-3_7

  • 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