Abstract
Encapsulating parallelism and synchronization code within object-oriented software components is a promising avenue towards mastering the complexity of the distributed memory supercomputer programming. However, in trying to give application programmers benefit of supercomputer power, the library designer generally resorts to low level parallel constructs, a time consuming and error prone process. To solve this problem we introduce a new abstraction called Parallel Operators. A Parallel Operator exists simultaneously on all processors involved in a distributed computation: it acts as a single ubiquitous entity capable of processing shared or distributed data in parallel. In this paper we reify this concept in our Eiffel Parallel Execution Environment (EPEE) context, and we show that it is both natural and efficient to express computations over large shared or distributed data structures using Parallel Operators. We illustrate our approach with a Parallel Operator based solution for the well-known N-body problem.
Keywords
IRISA/CNRS, currently visiting Dept. of Info. Science, Tokyo University, Japan, under a JSPS grant
IRISA/INRIA
Preview
Unable to display preview. Download preview PDF.
References
Grady Booch. Object-Oriented Analysis and Design with Applications. Benjamin Cummings, 2nd edition, 1994.
J. Dongarra and al. An Object-Oriented Design for High-Performance Linear Algebra on Distributed Memory Architectures. In Proceedings of the Object-Oriented Numerics Conference (OON-SKI'93), 1993.
F. Guidec and Y. Mahéo. POM: a Virtual Parallel Machine Featuring Observation Mechanisms. PI 902, IRISA, January 1995.
F. Hamelin, J.-M. Jézéquel, and T. Priol. A Multi-paradigm Object Oriented Parallel Environment. In H. J. Siegel, editor, Int. Parallel Processing Symposium IPPS'94 proceedings, pages 182–186. IEEE Computer Society Press, April 1994.
J.-M. Jézéquel. EPEE: an Eiffel Environment to Program Distributed Memory Parallel Computers. In ECOOP'92 proceedings, number 611. Lecture Notes in Computer Science, Springer Verlag, (also published in the Journal of Object Oriented Programming, 1993), July 1992.
J.-M. Jézéquel. Transparent Parallelisation Through Reuse: Between a Compiler and a Library Approach. In O. M. Nierstrasz, editor, ECOOP'93 proceedings, number 707, pages 384–405. Lecture Notes in Computer Science, Springer Verlag, July 1993.
J.-M. Jézéquel. Object Oriented Software Engineering with Eiffel. Addison-Wesley, March 1996. ISBN 1-201-63381-7.
J.-M. Jézéquel and J.-L. Pacherie. Shared Objects in KOOPE. Technical Report 2.3, Irisa-Intel ERDP, June 1995.
Michael F. Kilian. Object-oriented programming for massively parallel machines. In 1991 International Conference on Parallel Processing, 1991.
H. Konaka, T. Tomokiyo, M. Maeda, Y. Ishikawa, and A. Hori. Data parallel programming in the parallel object-oriented language OCore. In Proc. of the Workshop on Object-Based Parallel and Distributed Computation (OBPDC'95), Tokyo, June 1995. Springer-Verlag, LNCS, to be published.
Y. Mahéo. Environnements pour la compilation dirigée par les données: supports d'exécution et expérimentations. PhD thesis, IFSIC / Université de Rennes I, juillet 1995.
M. Makpangou, Y. Gourhant, J. Le Narzul, and M. Shapiro. Fragmented objects for distributed abstractions. IEEE Software, May 1991.
B. Meyer. Object-Oriented Software Construction. Prentice-Hall, 1988.
John W. Romein and Henri E. Bal. Parallel n-body simulation on a large-scale homegeneous distributed system. In Peter Magnusson Seif Haridi, Khayri Ali, editor, EURO-PAR'95 Parallel Processing, volume 966 of Lecture Notes in Computer Science, pages 473–484. Springer, August 1995.
John K. Salmon and Michael S. Warren. Skeletons from the treecode closet. Journal of Computational Physics, page 24, July 1993.
Leslie G. Valiant. A bridging model for parallel computation. CACM, 33(8), Aug 1990.
Youfeng Wu. Parallelism encapsulation in C++. In International Conference on Parallel Processing, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1996 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jézéquel, JM., Pacherie, JL. (1996). Parallel operators. In: Cointe, P. (eds) ECOOP ’96 — Object-Oriented Programming. ECOOP 1996. Lecture Notes in Computer Science, vol 1098. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053066
Download citation
DOI: https://doi.org/10.1007/BFb0053066
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-61439-5
Online ISBN: 978-3-540-68570-8
eBook Packages: Springer Book Archive