Introduction

The DPLOW-Toolbox provides a set of interface functions to PVM routines. All these functions are prefixed with pvm_ (i. e. they have the names of the original Libpvm3 routines). The design goal for these interface functions was to keep syntactical and semantical changes against the original Libpvm3 routines as small as possible. Consequently, their usage and behaviour are more like C functions than typical MATLAB commands(e. g. returning status codes instead of terminating immediately in case of errors, no variable input signature etc.).

The major application fields of the DPLOW-Toolbox are:

  1. Courses for parallel programming:
    The DPLOW-Toolbox can be seen as an ``interactive PVM''. The interactive/interpretative way of working speeds up learning parallel programming significantly compared with traditional compiler based approaches (C or Fortran).

  2. Rapid prototyping of PVM based applications:
    With the DPLOW-Toolbox applications can be developed and tested interactively in the MATLAB environment with a comparable minimal effort. After that, a verified application can be recoded strait forward in C or Fortran, because of the almost one-by-one semantics of the DPLOW-Toolbox functions to the original Libpvm3 and Libpvm3e routines.

  3. Parallel and distributed applications containing MATLAB, C and Fortran based components:
    With DPLOW-Toolbox and Libpvm3, interfaces to PVM for MATLAB, C and Fortran are provided. Through these interfaces components coded in different languages can work together via the PVM system.

  4. Platform for building tools, which support parallel and distributed applications based on MATLAB components exclusively:
    One example of such tool is the DP(HIGH)-Toolbox. The DPLOW-Toolbox by itself is not the right tool for developing pure MATLAB based parallel and distributed applications, because its abstraction level is too low to meet the productivity requirements of a ``real'' MATLAB user.

When we started to compile this user's guide the question arose: Should it be a guide without redundancy, which is understandable only for the experienced PVM user or only together with the original PVM documentation, respectively? Or should it be a complete, self-explanatory guide? We think the current guide is in between. for the beginner (without PVM knowledge) it should be possible to start with this guide, exclusively. The PVM expert will find a lot of redundant informations to the PVM documentation, but also the probably more interesting differences and extensions to the Libpvm3. Nevertheless, for understanding PVM in detail and for solving sophisticated problems you have to consult the original PVM documentation [1] and/or the PVM manual pages.

The typesetting conventions follow the usual standards known from MATLAB related documentations. We use a typewriter font to emphasize C or MATLAB functions. C function prototypes are preceded by C:, MATLAB function prototypes are preceded by M:.

Because parts of this user's guide are based on or derived from the original PVM documentation respectively, the following PVM copyright notice is stated:

         PVM version 3.4:  Parallel Virtual Machine System
               University of Tennessee, Knoxville TN.
           Oak Ridge National Laboratory, Oak Ridge TN.
                   Emory University, Atlanta GA.
      Authors:  J. J. Dongarra, G. E. Fagg, G. A. Geist,
                 J. A. Kohl, R. J. Manchek, P. Mucci,
         P. M. Papadopoulos, S. L. Scott, and V. S. Sunderam
                   (C) 1997 All Rights Reserved

                              NOTICE

 Permission to use, copy, modify, and distribute this software and
 its documentation for any purpose and without fee is hereby granted
 provided that the above copyright notice appear in all copies and
 that both the copyright notice and this permission notice appear in
 supporting documentation.

 Neither the Institutions (Emory University, Oak Ridge National
 Laboratory, and University of Tennessee) nor the Authors make any
 representations about the suitability of this software for any
 purpose.  This software is provided ``as is'' without express or
 implied warranty.

 PVM version 3 was funded in part by the U.S. Department of Energy,
 the National Science Foundation and the State of Tennessee.

Rene Fink 2006-04-24