Next: Scheduled Routing Architectures
Up: Communication Languages
Previous: Chaos and PARTI
A wide variety of communication languages exist, and they will only
be touched on briefly here. While not all of the languages listed below
fully meet the two criteria for a communications language mentioned in
Section 2, they all have, at least, some characteristics
of such a language.
- The Conic distributed programming environment [48] is a
Pascal-based language with ports defined in each module, a uni-directional
link command, and a broadcast primitive. This is fairly
restricted, since it neither captures multiple phases of communication
nor allows a way of specifying stream usage information.
- The Prep-P automatic mapping system [6] includes a
graph description language GDL, closely tied to their programming
language XX. Its capabilities are similar to those of Conic.
- The Assign parallel program generator [53] handles
partitioning, mapping and routing for static coarse-grained flowgraphs,
similar to those used for Gabriel.
- GARP (graph abstractions for concurrent programming [33])
is a graph-rewriting language representing connections among agents.
Communications occur only along graph edges. The language, while
elegant, lacks notions of communication phases, runtime streams, and
stream usage specifiers.
- Lee and Bier [39] discuss mapping a limited class of
dataflow program graphs to a scheduled routing environment. They include
support for a synchronization primitive to allow changing phases
during execution of the dataflow graph.
- Express [23] and PVM [62] both provide some
notion of connections, but they are only set up at runtime, and provide
a layer of buffering that reduces performance. Their library primitives
provide similar functionality to COP's operators.
There are a wide variety of languages designed primarily to express
computation, rather than communication, but that include communication in
the language. Such languages are largely outside the realm of related
work, since they meet neither of the two criteria for communications
languages. Languages in this category include, for example, Linda
[14], Split-C [16], and CSP [29].
Next: Scheduled Routing Architectures
Up: Communication Languages
Previous: Chaos and PARTI
Back to Chris Metcalf's home page