previous up next
Go up to Top
Go forward to 2 Examples
RISC-Linz logo

1 Introduction

This report and the package described in it are the result of our work in the "Parallel and Distributed Software and Algorithms" seminar held at RISC-Linz during the summer semester 1999 and the winter semester 1999/2000.

The report describes the use of the Distributed Mathematica package, that is a system for writing distributed applications in Mathematica [2]. Mathematica is a very popular fully integrated environment for technical computing.

Our goal was to realize a system similar to Distributed Maple [1], so our package provides an environment that makes it easy to implement parallel algorithms in Mathematica and that can be easily installed in any environment in order to facilitate the distribution of these implementations.

Distributed Mathematica is not the only approach to parallel programming with Mathematica. Wolfram Research developed a commercial package Parallel Computing Toolkit [3], based on MathLink for Interkernel communication with support for master/slave parallelism and other programming models. This package is written entirely in the Mathematica programming language.

Our package contains a Mathematica interface, that allows the user to write parallel programs in the environment provided by Mathematica, and that communicates with a scheduling program which may be used to start and connect external application programs on different machines. This latter program is also a component of Distributed Maple, is written in Java and can be executed on any machine running some implementation of the Java Virtual Machine. The user interacts with Distributed Mathematica via the Mathematica frontend which communicates with the scheduling program running in the background in order to transfer tasks to other Mathematica kernels running on various machines (see Figure  1).

The architecture of a distributed Mathematica session
 

Both the Java scheduler (compiled Java classes) and the Mathematica interface (Mathematica expression file in plain text format) are freely available under the GNU Library Public License at:

http://www.risc.uni-linz.ac.at/software/distmath

The fact that both Distributed Mathematica and Distributed Maple use the same Java scheduler makes it possible in the future to integrate these two systems, such that from Mathematica the user will be able to start Maple processes and vice-versa.


Maintained by: Cleo Pau
Last Modification: July 5, 2000

previous up next