STAPL API Reference |
Modules Classes |
Modules | |
Parallel Container Framework | |
Base classes that facilitate the development of new parallel containers. | |
Array | |
Vector | |
OVERVIEW
A pContainer is the parallel equivalent of the STL container and is backward compatible with STL containers through its ability to provide iterators. Each pContainer provides (semi–) random access to its elements, a prerequisite for efficient parallel processing. Random access to the subsets of a pContainer's data is provided by an internal distribution maintained by the pContainer. The distribution is updated when elements are added or removed from the pContainer, and when migration of elements between locations is requested. The distribution has two primary components. The container manager maintains the subsets of elements stored on a location. Each subset is referred to as a bContainer. A pContainer instance may have more than one bContainer per location depending on the desired data distribution and independent migration of elements. The second component of the distribution is the directory, which enables any location to determine the location on which an element of the pContainer is stored.
IMPLEMENTATION
The pContainers currently implemented in STAPL are array and vector. Each provides a common interface needed for parallel operations and also provides methods similar to the STL counterpart (e.g., vector::push_back).