NHSE LogoNHSE Software Catalog


Jade Parallel Programming Language

description
http://suif.stanford.edu/~scales/sam.html

abstract
Included with the SAM system is an implementation of the Jade parallel
language for distributed memory machines using SAM. Jade is a parallel
programming language (an extension to C) for exploiting coarse-grain
concurrency in sequential, imperative programs. Jade provides the
convenience of a shared memory model by allowing any task to access
shared objects transparently. Jade programmers augment their sequential
programs with constructs that decompose the computation into tasks and
declare how tasks access shared objects. The Jade implementation
dynamically interprets this information to execute the program in parallel
while preserving the sequential semantics -- if there is a data dependence
between tasks, tasks run in the same order as in the sequential execution.
The structure of parallelism produced by the Jade program is a directed
acyclic graph of tasks, where the edges between tasks are the data
dependence constraints. Because the constructs for declaring data accesses
are executed dynamically, this task graph can be dynamic and can therefore
express data-dependent concurrency available only at run-time.

keywords
parallel programming language; virtual shared memory;
coarse grain parallelism

contact
Dan Scales / scales@cs.stanford.edu


nhse-librarian@netlib.org