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).
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
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.
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.
Wolfgang Grieskamp and Mario Südholt. Handcoder's Guide to OCS Version 2. The Opal Language Group, February 1994.
W. Gropp, E. Lusk, and A. Skellum. Using MPI: Portable Parallel Programming with the Message Passing Interface. MIT Press, 1995.
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.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights 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