Report Number: CSL-TR-94-638
Institution: Stanford University, Computer Systems Laboratory
Title: The Design, Implementation and Evaluation of Jade: A
Portable, Implicitly Parallel Programming Language
Author: Rinard, Martin C.
Date: August 1994
Abstract: Over the last decade, research in parallel computer
architecture has led to the development of many new parallel
machines. These machines have the potential to dramatically
increase the resources available for solving important
computational problems. The widespread use of these machines,
however, has been limited by the difficulty of developing
useful parallel software. This thesis presents the design,
implementation and evaluation of Jade, a new programming
language for parallel computations that exploit task-level
concurrency.
Jade is structured as a set of constructs that programmers
use to specify how a program written in a standard
sequential, imperative language accesses data. The
implementation dynamically analyzes these specifications to
automatically extract the concurrency and map the computation
onto the parallel machine. The resulting parallel execution
preserves the semantics of the original serial program.
We have implemented Jade on a wide variety of parallel
computing platforms: shared-memory multiprocessors such as
the Stanford DASH machine, homogeneous message-passing
machines such as the Intel iPSC/860, and on heterogeneous
networks of workstations. Jade programs port without
modification between all of these platforms.
We evaluate the design and implementation of Jade by
parallelizing several complete scientific and engineering
applications in Jade and executing these applications on
several computational platforms. We analyze how well Jade
supports the process of developing these applications and
present results that characterize how well they perform.
http://i.stanford.edu/pub/cstr/reports/csl/tr/94/638/CSL-TR-94-638.pdf