Introduction

Parallel computing ( a system programmer's view)

starting processes, waiting for processes to finish.

scheduling processes on available processors.

exchanging data between processes, synchronizing access to common resources

In this context

a processor is a running Mathematica kernel.

a job or process is an expression to be evaluated.

Features of the Parallel Computing Toolkit

distributed memory, master/slave parallelism

machine independent, all written in Mathematica .
Tested on Unix/Linux/Windows/Macintosh

uses MathLink to communicate with remote kernels

not only numbers and arrays. Can send symbolic expressions and programs.

works on heterogeneous networks, multi-processor machines, LAN and WAN

scheduling of virtual processes, or explicit distribution to available processors

virtual shared memory, synchronization, locking

latency hiding

support parallel functional programming

failure recovery, stranded processes are automatically reassigned

[Graphics:../Images/MSRI98_gr_2.gif]

Document converted by Mathematica of Wolfram Research