Abstract
Heterogeneous parallel systems integrate machines with different architectural characteristics, such as endianess and word size. To use message-passing in these environments, the data must be translated by the communication layer. Message-passing standards like the Message Passing Interface (MPI) require the user to specify the type of the data sent, such that the communication layer can effect the necessary conversions.
We present an object-oriented message-passing library for C++, TPO++, which is capable to communicate in heterogeneous environments. Its functionality includes the MPI 1.2 standard, but it allows the user to communicate any data like objects or Standard Template Library (STL) containers in a type-safe way. It does not require the user to build a type representation explicitly.
We compare the performance of heterogeneous TPO++ with Boost.MPI and the C interface of OpenMPI. Our findings are that heterogeneous communication in TPO++ is possible with a very small overhead in latency compared to pure MPI. The performance of TPO++ is considerably better than that of other object-oriented communication libraries.
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
Message Passing Interface Forum: MPI: A message passing interface standard. Technical Report UT-CS-94-230, Computer Science Department, University of Tennessee, Knoxville, TN (1994)
Message Passing Interface Forum: MPI-2: Extensions to the Message Passing Interface (1997)
Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Mancheck, R., Sunderam, V.: PVM: Parallel Virtual Machine. A user’s guide and tutorial for networked parallel computing. Scientific and Engineering Computation. MIT Press, Cambridge (1994)
Skjellum, A., Lu, Z., Bangalore, P.V., Doss, N.: Mpi++. In: Wilson, G.V., Lu, P. (eds.) Parallel programming using C++, pp. 465–506. MIT Press, Cambridge (1996)
Kafura, D.G., Huang, L.: Collective communication and communicators in mpi++. In: Proceedings of the MPI Developer’s Conference, pp. 79–86 (1996)
Coulaud, O., Dillon, E.: Para++: A high level C++ interface for message passing. Journal of Parallel and Distributed Computing, 46–62 (1998)
Squyres, J.M., McCandless, B.C., Lumsdaine, A.: Object Oriented MPI: A class library for the Message Passing Interface. In: Proceedings of the POOMA conference (1996)
Grundmann, T., Ritt, M., Rosenstiel, W.: TPO++: An object-oriented message-passing library in C++, pp. 43–50. IEEE Computer society, Los Alamitos (2000)
Grundmann, T., Ritt, M., Rosenstiel, W.: Object-oriented message-passing with TPO++. In: Bode, A., Ludwig, T., Karl, W., Wissmüller, R. (eds.) Lecture notes in computer science, pp. 1081–1084. Springer, Heidelberg (2000)
Yao, Z., long Zheng, Q., liang Chen, G.: GOOMPI: A Generic Object Oriented Message Passing Interface. In: Jin, H., Gao, G.R., Xu, Z., Chen, H. (eds.) NPC 2004. LNCS, vol. 3222, pp. 261–271. Springer, Heidelberg (2004)
Kambadur, P., Gregor, D., Lumsdaine, A., Dharurkar, A.: Modernizing the C++ interface to MPI. In: Proceedings of the 13th European PVM/MPI Users’ Group Meeting, pp. 266–274 (2006)
Pinkenburg, S., Ritt, M., Rosenstiel, W.: Parallelization of an object-oriented particle-in-cell simulation. In: Workshop Parallel Object-Oriented Scientific Computing, OOPSLA (2001)
Pinkenburg, S., Rosenstiel, W.: Parallel I/O in an object-oriented message-passing library. In: Kranzlmüller, D., Kacsuk, P., Dongarra, J. (eds.) EuroPVM/MPI 2004. LNCS, vol. 3241, pp. 251–258. Springer, Heidelberg (2004)
International Standards Organization: Programming languages – C++. ISO/IEC publication 14882:2003 (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Heckeler, P., Ritt, M., Behrend, J., Rosenstiel, W. (2008). Object-Oriented Message-Passing in Heterogeneous Environments. In: Lastovetsky, A., Kechadi, T., Dongarra, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 2008. Lecture Notes in Computer Science, vol 5205. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87475-1_23
Download citation
DOI: https://doi.org/10.1007/978-3-540-87475-1_23
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-87474-4
Online ISBN: 978-3-540-87475-1
eBook Packages: Computer ScienceComputer Science (R0)