Management of the communications among a set of concurrent processes arises in many applications and is a central concern in parallel computing. In this paper we introduce MANIFOLD: a coordination language whose sole purpose is to describe and manage complex interconnections among independent, concurrent processes. In the underlying paradigm of this language the primary concern is not with what functionality the individual processes in a parallel system provide. Instead, the emphasis is on how these processes are inter-connected and how their interaction patterns change during the execution life of the system. This paper also includes an overview of our implementation of MANIFOLD. As an example of the application of MANIFOLD, we present a series of small manifold programs which describe the skeletons of some adaptive recursive algorithms that are of particular interest in computer graphics. Our concern in this paper is to show the expressibility of MANIFOLD, feasibility of its implementation, and its usefulness in practice. Issues regarding performance and optimization are beyond the scope of this paper.
MANIFOLD REF is a coordination mechanism for highperformance, parallel computing.
An Overview of Manifold and its Implementation
Concurrency: Practice and Experience
Computer Science