UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Communication optimization in Parsec : A parallel programming environment for multicomputers Mulye, Sameer S.

Abstract

Multicomputer (distributed memory MIMD machines) have emerged as inexpensive, yet powerful parallel computers that promise high computational performance. A parallel application running on these machines consists of a set of user processes running on different processors. The only way processes share data in this environment is by message passing which can become the bottleneck to obtaining high performance. This thesis examines the issues influencing communication in multicomputers. Two static analysis tools are designed: a mapping tool and runtime system for communication and synchronization. An efficient mapping of a parallel application onto a parallel computer is necessary to minimize the total communication cost. Delegating this task to the user makes application development a complex process as the user must know the underlying hardware. An automated hardware-independent mapping tool is designed to map arbitrary process graphs on a transputer-based multicomputer. A native runtime system on these multicomputers consists of message-passing primitives which are efficient but only support simple send and receive operations. A high-level runtime system provides functionalities such as flow control, buffering, and group communication using a wide range of primitives. However, these primitives are difficult to use and it is up to the user to select the optimal primitives for efficiency. Hence a message-passing library is designed for a transputer system. It is built on top of Trollius, an operating system for multicomputers, which offers a variety of functions, each with different combination of performance and functionality. The library includes a few communication primitives which provide a common interface for all the Trollius functions while maintaining the efficiency of the low-level functions. The mapping tool statically compiles a program structure info the configuration information and based on this information, the message-passing library selects the optimal Trollius functions. Parsec (the Parallel System for Efficient Computation), a parallel programming environment for multicomputers, is being developed at UBC. Our tools are integrated with Parsec and become the backbone in achieving high performance. Heterogeneity is one of the important design issues in Parsec. Currently these tools are available on two different hardware platforms: a transputer-based multicomputer and a cluster of Sun Sparc workstations. Thus the user can take advantage of either environment to write portable and efficient parallel applications.

Item Media

Item Citations and Data

Rights

For non-commercial purposes only, such as research, private study and education. Additional conditions apply, see Terms of Use https://open.library.ubc.ca/terms_of_use.