starting processes, waiting for processes to finish.
scheduling processes on available processors.
exchanging data between processes, synchronizing access to common resources
a processor is a running Mathematica kernel.
a job or process is an expression to be evaluated.
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]](../Images/MSRI98_gr_2.gif)
Document converted by Mathematica of Wolfram Research