Skip to main content

Functional message passing with OPAL-MPI

  • Conference paper
  • First Online:
Recent Advances in Parallel Virtual Machine and Message Passing Interface (EuroPVM/MPI 1998)

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

Abstract

This paper presents OPAL-MPI, our integration of the message passing interface into the functional programming language OPAL. It describes the problems occurring when the functional style with MPI are combined. One of them is the presence of dynamic data structures which requires the creation of an internal communication buffer where the data is packed.

The resulting programmer interface is more abstract and high-level than in MPI as data types and sizes need not to be passed as parameters to the communication operations. It allows arbitrary data types and even functions to be send quite easily.

However, due to the lack of a request handling in MPI 1.1 non-blocking receives cannot be implemented efficiently with full overlapping of computation and communucation.

The work is being supported by a scholarship from the German Research Foundation (DFG).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Klaus Didrich, Andreas Fett, Carola Gerke, Wolfgang Grieskamp, and Peter Pepper. OPAL: Design and Implementation of an Algebraic Programming Language. In Jürg Gutknecht, editor, Programming Languages and System Architectures, International Conference, Zurich, Switzerland, March 1994, volume 782 of Lecture Notes in Computer Science, pages 228–244. Springer, 1994.

    Google Scholar 

  2. Klaus Didrich, Wolfgang Grieskamp, Christian Maeder, and Peter Pepper. Programming in the Large: the Algebraic-Functional Language Opal 2α. In Proceeding of IFL '97: 9th. International Workshop on Implementation of Functional Languages, St Andrews, Scottland, volume 1497 of Lecture Notes in Computer Science, pages 323–244. Springer, September 1997.

    Google Scholar 

  3. Message Passing Interface Forum. MPI-2: Extensions to the Message-Passing Interface. Technical report, University of Tennessee, Knoxville, Tenn., July 1997. ftp://ftp.mpi-forum.org/pub/docs/mpi-20.ps.

    Google Scholar 

  4. A. Geist, A. Beguelin, J. Dongarra, W. Jaing, R. Mancheck, and V. Sundram. PVM: A Users' Guide and Tutorial for Networked Parallel Computing. MIT Press, 1994.

    Google Scholar 

  5. Wolfgang Grieskamp and Mario Südholt. Handcoder's Guide to OCS Version 2. The Opal Language Group, February 1994.

    Google Scholar 

  6. W. Gropp, E. Lusk, and A. Skellum. Using MPI: Portable Parallel Programming with the Message Passing Interface. MIT Press, 1995.

    Google Scholar 

  7. Simon Peyton Jones and Philip Wadler. Imperative functional programming. In 20'th Symposium on Principles of Programming Languages. ACM Press, Charlotte, North Carolina, January 1993.

    Google Scholar 

  8. Philip J. Mucci. Mpbench version 3.1. a program to measure the performance of some essential operations of implementations of MPI and PVM. http://www.cs.utk.edu/mucci/mpbench.

    Google Scholar 

  9. Mario Südholt. The Transformational Derivation of Parallel Programs using Data Distribution Algebras and Skeletons. PhD thesis, Fachgruppe übersetzerbau, Fachbereich Informatik, Technische Universität Berlin, August 1997.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Vassil Alexandrov Jack Dongarra

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nitsche, T., Webers, W. (1998). Functional message passing with OPAL-MPI. In: Alexandrov, V., Dongarra, J. (eds) Recent Advances in Parallel Virtual Machine and Message Passing Interface. EuroPVM/MPI 1998. Lecture Notes in Computer Science, vol 1497. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056586

Download citation

  • DOI: https://doi.org/10.1007/BFb0056586

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65041-6

  • Online ISBN: 978-3-540-49705-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics