Abstract
Gabriel Tanase, Mauro Bianco, Nancy M. Amato, Lawrence Rauchwerger, "The STAPL pArray," In Proc. of Workshop MEDEA, pp. 81-88, Brasov, Romania, Sep 2007.
Proceedings(pdf, abstract)
The Standard Template Adaptive Parallel Library (stapl) is a parallel
programming framework that extends C++ and STL with support for
parallelism. stapl provides parallel data structures (pContainers) and
generic parallel algorithms (pAlgorithms), and a methodology for
extending them to provide customized functionality. stapl pContainers
are thread-safe, concurrent objects, i.e., shared objects that provide
parallel methods that can be invoked concurrently. They provide views
as a generic means to access data that can be passed as input to
generic pAlgorithms.
In this work, we present the stapl pArray, the parallel equivalent of
the sequential STL valarray, a fixed-size data structure optimized for
storing and accessing data based on one-dimensional indices. We
describe the pArray design and show how it can support a variety of
underlying data distribution policies currently available in STAPL,
such as blocked or blocked cyclic. We provide experimental results
showing that pAlgorithms using the pArray scale well to more than
2,000 processors. We also provide results using different data
distributions that illustrate that the performance of pAlgorithms and
pArray methods is usually sensitive to the underlying data
distribution, and moreover, that there is no one data distribution
that performs best for all pAlgorithms, processor counts, or machines.