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).
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
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).
J.H. Bramble. Multigrid Methods. Number 294 in Pitman Research Notes in Mathematics. Longman Scientific & Technical, 1993.
M. Cole. Algorithmic skeletons: a structured approach to the management of parallel computation, Research Monographs in Parallel and Distributed Computing, (Pitman 1989).
A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam. PVM: Parallel Virtual Machine, MIT Press, 1994.
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/
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
Intel Corporation, iPSC/2 and iPSC/860 User’s guide, 1991.
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)
B.O. Osoba. A Parallel Programming Environment for Multigrid using BSP, PhD thesis, Dept. of Computer Science, The University of Hull, June 1999.
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.
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.
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.
P.J. Parsons and F.A. Rabbi. Generating Parallel Programs from Skeleton Based Specifications. Journal of Systems Architecture, 45(4):261–283, Dec. 1998.
W. Partain The Glasgow Haskell Compiler, The GRASP Project. Technical report, Department of Computer Science, University of Glasgow, 1992.
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.
F.A. Rabbi, A Parallel Programming Methodology Based on Paradigms, In P. Nixon editor, Transputer and Occam Developments, pages 239–252, IOS Press, 1995.
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.
F.A. Rabhi and G. Lapalme. Algorithms: a Functional Programming Approach, Addison-Wesley, 1999.
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.
P. Ramanathan and S. Chalasani. Parallel multigrid algorithms on CM-5, in: IEE Proc. Computers and Digital Techniques, (vol. 142, no 3, May 1995).
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.
D.B. Skillicorn and D. Talia, Models and Languages for Parallel Computation, ACM Computing Surveys, 30(2), pages 123–169, June 1998.
Transtech Parallel Systems, Paramid User’s Guide, 1993.
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).
Editor information
Editors and Affiliations
Rights 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