Using the Parsec environment to implement a high-performance processor farm

Parsec is a parallel programming environment whose goal is to simplify the development of multicomputer programs without, as is often the case, sacrificing performance. We have reconciled these objectives by "compiling" the structure of parallel applications into information to configure each of a small set of communication primitives on a context-sensitive basis. In this paper, we show how Parsec can be used to implement a high-performance processor farm and compare Parsec and hand-optimized implementations to demonstrate that Parsec can achieve a similar level of performance. Extensive static analysis and optimization is necessary to achieve these results. We discuss both the tools which perform these tasks as well as the user interface that provides the necessary declarative structural information. Using the processor farm, we show how Parsec simplifies the task of specifying the structure of a parallel application and improves the result by supporting abstraction, reuse and scalability.<<ETX>>

[1]  Anthony Skjellum,et al.  High-level message-passing constructs for Zipcode 1.0: design and implementation , 1993, Proceedings of Scalable Parallel Libraries Conference.

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  James C. Browne,et al.  CODE: a unified approach to parallel programming , 1989, IEEE Software.

[4]  Naranker Dulay,et al.  A constructive development environment for parallel and distributed programs , 1994, Proceedings of 2nd International Workshop on Configurable Distributed Systems.

[5]  Jack J. Dongarra,et al.  Graphical development tools for network-based concurrent supercomputing , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[6]  David Feldcamp,et al.  Parsec—a software development environment for performance oriented parallel programming , 1993 .

[7]  Anthony J. G. Hey Experiments in MIMD Parallelism , 1989, PARLE.

[8]  Henk Sol,et al.  Proceedings of the 54th Hawaii International Conference on System Sciences , 1997, HICSS 2015.

[9]  Edward J. Delp,et al.  A library-based program development environment for parallel image processing , 1993, Proceedings of Scalable Parallel Libraries Conference.

[10]  Jack Dongarra,et al.  Pvm 3 user's guide and reference manual , 1993 .