Skip to main content

Transparent parallelisation through reuse: between a compiler and a library approach

  • Conference paper
  • First Online:
ECOOP’ 93 — Object-Oriented Programming (ECOOP 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 707))

Included in the following conference series:

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.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. 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.

    Google Scholar 

  2. Birger Andersen. Ellie language definition report. Sigplan Notices, 25(11):45–64, November 1990.

    Article  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  5. Andrew P. Black et al. Emerald: a general-purpose programming language. Software-Practice and Experience, 21(1):91–118, January 1991.

    Article  MathSciNet  Google Scholar 

  6. D. Caromel. Concurrency and reusability: from sequential to parallel. Journal of Object-Oriented Programming, 3(3):34–42, September 1990.

    Google Scholar 

  7. Rohit Chandra, Anoop Gupta, and John L Hennessy. COOL: a Language for Parallel Programming, chapter 8. MIT Press, 1990.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  14. B. Meyer. Reusability: the case for object-oriented design. IEEE SOFTWARE, (3):50–64, March 1987.

    Article  Google Scholar 

  15. Bertrand Meyer. Eiffel: The Language. Prentice-Hall, 1992.

    Google Scholar 

  16. Bertrand Meyer. Object-Oriented Software Construction. Prentice-Hall, 1988.

    Google Scholar 

  17. MIMDizer user’s guide. Version 7.02. Technical Report, Pacific Sierra Research Corporation, 1991.

    Google Scholar 

  18. Leslie G. Valiant. A bridging model for parallel computation. CACM, 33(8), Aug 1990.

    Google Scholar 

  19. P. Weis, M.V. Aponte, A. Laville, M. Mauny, and A. Suárez. The CAML reference manual. Rapport Technique 121, INRIA, septembre 1990.

    Google Scholar 

  20. Akinori Yonezawa, Jean-Pierre Briot, and Etsuya Shibayama. Object-oriented concurrent programming in ABCL/1. In OOPSLA’ 86 Proceedings, September 1986.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics