The use of a beowulf - Parallel Mat
William Comisky
bcomisky@endgate.com
Tue, 22 Jun 1999 21:15:33 -0400
----------
From: Putchong Uthayopas
Sent: Tuesday, June 22, 1999 6:00 PM
To: Huntress, Gary B.
Cc: 'Szwedyk, Peter'; beowulf
Subject: RE: The use of a beowulf - Parallel Mat
..
2. There is several efforts to use Beowulf as a Backend for MATLAB.
One that I know of and people really using it is NASA/CALTECH JPL
Mathpar which use mathlab extension
on unix to offload matrix computation to beowulf backend. Please search
JPL HPC group web.
http://olympic.jpl.nasa.gov/Reports/Highlights96/matpar.html
Look promising!
Putchong U.
The following is post from comp.sys.matlab by Sven Pawletta which is a
good summary of parallelization techniques involving Matlab:
Hi,
you should be aware that parallel processing and MATLAB based working is
not only one subject. We can distinguish four general aproaches:
a) Translating (sequential) MATLAB code for parallel platforms
b) Coupling MATLAB with parallel platforms
c) Parallel processing inside MATLAB
d) Parallel applications using multiple MATLAB processes
Furthermore, these aproaches are not limited to MATLAB. They are
applicable to all SCEs (Scientific and technical Computing Environments -
that means: interactive/interpretative systems like Matlab, Octave,
Scilab, etc.).
Currently, all aproaches are more or less topics of research.
Nevertheless there are some software and solutions (sometimes
combining two or more of the above approaches) available.
Software already mentioned in this thread (by Bill Comisky):
-> http://www-at.e-technik.uni-rostock.de/dp/
This is the so-called DP-Toolbox (Distributed and Parallel
Application Toolbox for Use with Matlab). This toolbox
realizes approach d). Several MATLAB processes on networked
or parallel machines are connected via a message passing
system (currently PVM). Application programming is done explicitly
parallel. The user/programming interface provides different
levels of abstraction:
low: PVM routines, but interactive; message passing
paradigm
high: routines for managing MATLAB processes and for
passing arrays
higher: an ''interactive parallel MATLAB machine'';
(experimental design and implementation)
The software is public domain and fully documented. Known
application fields in industry and academia are optimizations
(especially evolutionary algorithms), simulations, control
theory, distributed control.
-> http://www.ai.mit.edu/projects/ppserver/
One part of this project is a MATLAB extension (a set of
MEX-functions) which connects a single MATLAB process with
a parallel platform - the PPServer. The PPServer provides
facilities for parallel matrix computations (parallel numeric
libraries). In this way MATLAB serves as interactive front end
to a parallel system. This work belongs to approach b).
The project seems to be in an early stage. I don't know
whether the software is portable and available.
-> http://www.tc.cornell.edu/~anne/projects/MM.html
The project is called MultiMATLAB. In fact it is a MATLAB
toolbox similar to the DP-Toolbox. Therefore it belongs to
aproach d) too. In contrast to the DP-Toolbox, MPI is used
as message passing system and the user/programming interface
is more focused to group operations and the SPMD paradigm.
The project started in the early nineties, too. But as far
as I know the software is not publicly available (?).
-> http://olympic.jpl.nasa.gov/Reports/Highlights96/matpar.html
Another work following approach b). Compare with PPServer.
Further Projects and Software:
approach a): several compilers: FALCON, Otter, ISI, CONLAB, ... approach
b): MATLAB/Transputer Bridge, MATLAB/Alpha Bridge, ... approach c):
parallel MATLAB versions for systems with
distributed and shared memory (but with unsatisfactory
results -> see Cleve Moler: ''Why there isn't a
parallel MATLAB'', Matlab News and Notes, Spring '95)
approach d): PT-Toolbox, //SciLab, ...
Operating Systems (Windows NT?):
In most cases, Unix or Unix-like systems serve as primary
platform, but sometimes there exist portings to WIN32 (e.g.
recent versions of the DP-Toolbox).
Sven Pawletta
Inst. of Automatic Control
Univ. of Rostock
Germany
sven.pawletta@etechnik.uni-rostock.de