TY - GEN
T1 - Associative parallel containers in STAPL
AU - Tanase, Gabriel
AU - Raman, Chidambareswaran
AU - Bianco, Mauro
AU - Amato, Nancy M.
AU - Rauchwerger, Lawrence
N1 - Funding Information:
This work supported in part by NSF (EIA-0103742, ACR-0081510, ACR-0113971, CCR-0113974, EIA-9810937, ACI-0326350, CRI-0551685), the DOE and HP.
PY - 2008
Y1 - 2008
N2 - The Standard Template Adaptive Parallel Library (stapl) is a parallel programming framework that extends C++ and stl with support for parallelism. stapl provides a collection of parallel data structures (pContainers) and algorithms (pAlgorithms) and a generic 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 also provide appropriate interfaces that can be used by generic pAlgorithms. In this work, we present the design and implementation of the stapl associative pContainers: pMap, pSet, pMultiMap, pMultiSet, pHashMap, and pHashSet. These containers provide optimal insert, search, and delete operations for a distributed collection of elements based on keys. Their methods include counterparts of the methods provided by the stl associative containers, and also some asynchronous (non-blocking) variants that can provide improved performance in parallel. We evaluate the performance of the stapl associative pContainers on an IBM Power5 cluster, an IBM Power3 cluster, and on a linux-based Opteron cluster, and show that the new pContainer asynchronous methods, generic pAlgorithms (e.g., pfind) and a sort application based on associative pContainers, all provide good scalability on more than 10 3 processors.
AB - The Standard Template Adaptive Parallel Library (stapl) is a parallel programming framework that extends C++ and stl with support for parallelism. stapl provides a collection of parallel data structures (pContainers) and algorithms (pAlgorithms) and a generic 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 also provide appropriate interfaces that can be used by generic pAlgorithms. In this work, we present the design and implementation of the stapl associative pContainers: pMap, pSet, pMultiMap, pMultiSet, pHashMap, and pHashSet. These containers provide optimal insert, search, and delete operations for a distributed collection of elements based on keys. Their methods include counterparts of the methods provided by the stl associative containers, and also some asynchronous (non-blocking) variants that can provide improved performance in parallel. We evaluate the performance of the stapl associative pContainers on an IBM Power5 cluster, an IBM Power3 cluster, and on a linux-based Opteron cluster, and show that the new pContainer asynchronous methods, generic pAlgorithms (e.g., pfind) and a sort application based on associative pContainers, all provide good scalability on more than 10 3 processors.
UR - http://www.scopus.com/inward/record.url?scp=54249144098&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=54249144098&partnerID=8YFLogxK
U2 - 10.1007/978-3-540-85261-2_11
DO - 10.1007/978-3-540-85261-2_11
M3 - Conference contribution
AN - SCOPUS:54249144098
SN - 3540852603
SN - 9783540852605
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 156
EP - 171
BT - Languages and Compilers for Parallel Computing - 20th International Workshop, LCPC 2007, Revised Selected Papers
T2 - 20th International Workshop on Languages and Compilers for Parallel Computing, LCPC 2007
Y2 - 11 October 2007 through 13 October 2007
ER -