Breezy and pC++



next up previous
Next: Breezy Architecture Up: Introduction Previous: Introduction

Breezy and pC++

The program interaction system we developed, Breezy (BReakpoint Executive Environment for visualiZation and data DisplaY), is a tool that provides the infrastructure for a client application to attach to a data-parallel application at runtime. It creates a partnership between the client application and the parallel program. This partnership gives the client several capabilities.

Here we describe the Breezy implementation for the data-parallel language pC++[3]. pC++ is a language extension to C++ designed to allow programmers to create distributed data structures that have parallel execution semantics. The basic concept behind pC++ is the notion of a distributed collection, a structured set of objects which are distributed across the processing elements of the computer in a manner designed to be consistent with HPF[4]. To accomplish this, pC++ provides a very simple mechanism to build collections of objects from a base element class. Member functions of this element class can be applied to the entire collection (or a subset) in parallel. This mechanism provides the programmer with a clean interface to data-parallel style operations by simply calling member functions of the element class. To help the programmer build collections, the pC++ language includes a library of standard collection classes that may be used direct or subclassed. This includes classes such as DistributedArray, DistributedMatrix, DistributedVector, and DistributedGrid. pC++ also includes an environment of tuning and analysis utilities (TAU)[5], of which Breezy is a part. This implementation of Breezy in pC++ is a concrete example of how the Breezy architecture has been applied successfully to a data-parallel language environment.



next up previous
Next: Breezy Architecture Up: Introduction Previous: Introduction



Bernd W. Mohr
Thu Aug 3 15:30:30 PDT 1995