Introduction

Starting in 1995, there were no parallel versions of MATLAB or similar packages available for practical use. Moler states the major reasons for this fact in [2] which are:

That are serious technical and commercial aspects against a parallelization of a system like MATLAB. Substantially better prerequisites for distributed and parallel processing exist at the application level:

To use multiple MATLAB instances for parallel and distributed processing they must be able to interact among one another. The necessary functionality for that is provided by the DP-Toolbox.

The DP-Toolbox for MATLAB is an example realization of the general Multi-SCE Concept, which is described in detail in [3]. This approach brings together the advantages of SCEs1.1(interactive way of working, array-oriented programming, rapid prototyping) and of parallel and distributed processing. The Multi-SCE Approach and the DP-Toolbox are the results of research activities in the field of parallel and distributed processing based on interactive environments at the Institute of Automatic Control, University of Rostock, the Department of Mechanical Engineering, University of Wismar and the Department of Electrical Engineering/Computer Science, University of Wismar since 1992.

Figure 1.1 shows how the MATLAB architecture is extended by the DP-Toolbox. Due to the added communication module MATLAB instances are able to pass messages among on another and to other programs. The DP-Toolbox by itself does not implement primitives for process communication and control. Instead an external message-passing systems is used. The current toolbox versions use the message-passing system PVM (Parallel Virtual Machine; [1]). Because PVM is available for many different operating systems and hardware platforms, MATLAB instances can be coupled via the DP-Toolbox also on heterogenous computer clusters and parallel computers.

Figure 1.1: Extension of the MATLAB architecture
\includegraphics{abb1.eps}

The DP-Toolbox is realized as toolbox set consisting of DPLOW- and DP(HIGH)-Toolbox (see fig. 1.2). Nevertheless, we still continue to use the term ``DP-Toolbox'' (or short: DP-TB) when we refer the toolbox set as a whole. The parentheses in the name of the individual toolbox DP(HIGH) should indicate, that this toolbox is the real core of the entire toolbox set and often seen as the DP-Toolbox. In that sense the DPLOW-Toolbox is a hidden auxiliary layer.

The DPLOW-Toolbox implements a MATLAB/PVM interface that provides the communication primitives of the PVM system in MATLAB. The major application field of this toolbox are couplings between MATLAB applications and other external programs. Additionally, it is very useful for educational purposes, because the DPLOW-Toolbox can be used as an ``interactive PVM''.

For convenient couplings among MATLAB applications the abstraction level of the PVM routines is too low, because they are designed to meet the requirements of classical C or Fortran programming. For example data have to be packed before sending and unpacked after receiving. If complete MATLAB data objects (matrices, cell arrays etc) should be passed, all components have to be packed and unpacked separately, because PVM supports these operations only for primitive data types.

A suitable interface for developing distributed and parallel MATLAB applications is provided by the DP(HIGH)-Toolbox. Due to this interface MATLAB data objects can be sent and received directly (array-passing). The entire buffer management as well as the data packing and unpacking is done implicitly. Additionally, the DP(HIGH)-Toolbox contains routines for starting up and terminating MATLAB instances.

Figure 1.2: The DP Toolbox Set
\includegraphics{abb2.eps}

Rene Fink 2006-04-24