Skip to main content

Object-Oriented Message-Passing in Heterogeneous Environments

  • Conference paper
Recent Advances in Parallel Virtual Machine and Message Passing Interface (EuroPVM/MPI 2008)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5205))

  • 889 Accesses

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.

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

    Google Scholar 

  2. Message Passing Interface Forum: MPI-2: Extensions to the Message Passing Interface (1997)

    Google Scholar 

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

    MATH  Google Scholar 

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

    Google Scholar 

  5. Kafura, D.G., Huang, L.: Collective communication and communicators in mpi++. In: Proceedings of the MPI Developer’s Conference, pp. 79–86 (1996)

    Google Scholar 

  6. Coulaud, O., Dillon, E.: Para++: A high level C++ interface for message passing. Journal of Parallel and Distributed Computing, 46–62 (1998)

    Google Scholar 

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

    Google Scholar 

  8. Grundmann, T., Ritt, M., Rosenstiel, W.: TPO++: An object-oriented message-passing library in C++, pp. 43–50. IEEE Computer society, Los Alamitos (2000)

    Google Scholar 

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

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

  12. Pinkenburg, S., Ritt, M., Rosenstiel, W.: Parallelization of an object-oriented particle-in-cell simulation. In: Workshop Parallel Object-Oriented Scientific Computing, OOPSLA (2001)

    Google Scholar 

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

    Chapter  Google Scholar 

  14. International Standards Organization: Programming languages – C++. ISO/IEC publication 14882:2003 (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alexey Lastovetsky Tahar Kechadi Jack Dongarra

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics