Process Networks as a High-Level Notation for Metacomputing

Darren Webb, Andrew Wendelborn, and Kevin Maciunas

Presented at the International Workshop on Java for Parallel and Distributed Computing, in association with IPPS/SPDP 1999, 12th-16th April 1999, San Juan, Puerto Rico, and published in Lecture Notes in Computer Science vol 1586.


Our work involves the development of a prototype Geographic Information System (GIS) as an example of the use of process networks as a well-defined high-level semantic model for the composition of streams of data. Our Java-based implementation of the prototype is known as Jade.

Our process networks consist of a set of nodes, and edges connecting those nodes, assembled as a Directed Acyclic Graph (DAG). In our prototype, nodes represent services and edges represent the flow of data (in this case, partially-processed imagery) between services. The services are pre-defined operations that can be performed on image data. In Jade, the operations are selected from the Generic Mapping Tools (GMT) library. Input to the network is a satellite image, and output is a processed image. The network represents a high-level, user-assembled specification of the necessary intermediate processing.

To exploit potential parallelism, we extend the idea of a process network to a distributed process network, where each service may be processed on different computers, A single server coordinates computation. Computation is performed by an arbitrary number of workers. The servers and workers together constitute the metacomputer. The server takes a process network from a client and distributes work to the workers, scheduling it dynamically and transparently over the participating computational nodes.

Keywords: Generic Mapping Tools; GIS; process networks; Kahn semantics

An earlier version of this work was published as DHPC Technical Report DHPC-055