pC++ permits programmers to build distributed data structures with parallel execution semantics. For ``distributed memory'' machines, with a non-shared address space, the runtime system implements a shared name space for the objects in a distributed collection. This shared name space is supported by the underlying message passing system of the target machine. In the case of ``shared memory'' architectures, the runtime system uses the global addressing mechanism to support the name space. A thread system on the target machine is used to support the parallel tasks.
After a short introduction to pC++ we give a detailed description of each runtime system. To illustrate the behavior of the runtime system we include performance results for four benchmark programs.