The Standard Template Adaptive Parallel Library (STAPL) is a parallel
programming infrastructure that extends C++ with support
for parallelism. It includes a collection of
distributed data structures called
% and parallel algorithms (pAlgorithms).
pContainers that are thread-safe, concurrent objects, i.e., shared objects that
provide parallel methods that can be invoked concurrently.
In this work, we present the STAPL
Parallel Container Framework (PCF), that is designed to
facilitate the development of generic parallel containers.
We introduce a set of concepts and a methodology for assembling a
pContainer from existing sequential or parallel containers,
without requiring the programmer to deal with concurrency or
data distribution issues.
The PCF provides a large number of basic parallel data
structures (e.g., pArray, pList, pVector, pMatrix, pGraph, pMap, pSet).
The PCF provides a class hierarchy and a composition mechanism
that allows users to extend and customize the current container base
for improved application expressivity and performance.
We evaluate STAPL pContainer performance on a CRAY XT4
massively parallel system and show that
pContainer methods, generic pAlgorithms, and different
applications provide good scalability on more than