Abstract
Software environments for commercially available Distributed Memory Parallel Computers (DMPCs) mainly consist of libraries of routines to handle communications between processes written in sequential languages such as C or Fortran. This approach makes it difficult to program massively parallel systems in both an easy and efficient way. Another approach relies on (semi-)automatic parallelizing compilers but it has its own drawbacks. We propose to tackle this problem at an intermediate level (i.e. between high level parallelizing compilers and raw libraries), using Object Oriented (OO) technologies. We show that existing OO techniques based on the reuse of carefully designed software components can be applied with satisfactory results to the large scale scientific computation field. We propose to use a form of parallelism, known as data parallelism, and to embed it in a pure sequential OOL (Eiffel). We illustrate on several examples how sequential components and frameworks can be modified for parallel execution on DMPCs to allow for transparent parallelisation of classes using these components and frameworks.
Keywords
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
P. America. Pool-t: a parallel object-oriented programming. In A. Yonezawa, editor, Object-Oriented Concurrent Programming, pages 199–220, The MITI Press, Yonezawa A. Tokoro M., “Object-Oriented Concurrent Programming”, Cambridge, MA, 1987.
Birger Andersen. Ellie language definition report. Sigplan Notices, 25(11):45–64, November 1990.
Françoise André, Jean-Louis Pazat, and Henry Thomas. Pandore: A system to manage Data Distribution. In International Conference on Supercomputing, ACM, June 11–15 1990.
Briand N. Bershad, Edward D. Lazowska, and Henry M. Levy. Presto: a system for object-oriented parallel programming. In Software-Practice and Experience, February 1988.
Andrew P. Black et al. Emerald: a general-purpose programming language. Software-Practice and Experience, 21(1):91–118, January 1991.
D. Caromel. Concurrency and reusability: from sequential to parallel. Journal of Object-Oriented Programming, 3(3):34–42, September 1990.
Rohit Chandra, Anoop Gupta, and John L Hennessy. COOL: a Language for Parallel Programming, chapter 8. MIT Press, 1990.
A. A. Chien and W. J. Dally. Concurrent aggregates (ca). In Proc. of the Second ACM Sigplan Symposium on Principles and Practice of Parallel Programming, March 1991.
J.-F. Colin and J.-M. Geib. Eiffel classes for concurrent programming. In J. Bezivin et al. (eds.), editor, TOOLS 4, pages 23–34, Prentice Hall, 1991.
C. Jard and J.-M. Jézéquel. A multi-processor Estelle to C compiler to experiment distributed algorithms on parallel machines. In Proc. of the 9th IFIP International Workshop on Protocol Specification, Testing and Verification, University of Twente, The Netherlands, North Holland, 1989.
J.-M. Jézéquel. EPEE: an Eiffel environment to program distributed memory parallel computers. In ECOOP’92 proceedings, Lecture Notes in Computer Science, Springer Verlag, (also to appear in the Journal of Object Oriented Programming, 1993), July 1992.
J.-M. Jézéquel, F. Andre, and F. Bergheul. A parallel execution environment for a sequential object oriented language. In ICS’92 proceedings, ACM, July 1992.
M. D. McIlroy. Mass-produced software components. In P. Naur J.M. Buxton and B. Randell, editors, Software Engineering Concepts and techniques (1968 NATO conference of Software Engineering), 1976.
B. Meyer. Reusability: the case for object-oriented design. IEEE SOFTWARE, (3):50–64, March 1987.
Bertrand Meyer. Eiffel: The Language. Prentice-Hall, 1992.
Bertrand Meyer. Object-Oriented Software Construction. Prentice-Hall, 1988.
MIMDizer user’s guide. Version 7.02. Technical Report, Pacific Sierra Research Corporation, 1991.
Leslie G. Valiant. A bridging model for parallel computation. CACM, 33(8), Aug 1990.
P. Weis, M.V. Aponte, A. Laville, M. Mauny, and A. Suárez. The CAML reference manual. Rapport Technique 121, INRIA, septembre 1990.
Akinori Yonezawa, Jean-Pierre Briot, and Etsuya Shibayama. Object-oriented concurrent programming in ABCL/1. In OOPSLA’ 86 Proceedings, September 1986.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jézéquel, J.M. (1993). Transparent parallelisation through reuse: between a compiler and a library approach. In: Nierstrasz, O.M. (eds) ECOOP’ 93 — Object-Oriented Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 707. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47910-4_20
Download citation
DOI: https://doi.org/10.1007/3-540-47910-4_20
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57120-9
Online ISBN: 978-3-540-47910-9
eBook Packages: Springer Book Archive