TY - GEN
T1 - The STAPL parallel container framework
AU - Tanase, Gabriel
AU - Buss, Antal
AU - Fidel, Adam
AU - Harshvardhan,
AU - Papadopoulos, Ioannis
AU - Pearce, Olga
AU - Smith, Timmie
AU - Thomas, Nathan
AU - Xu, Xiabing
AU - Mourad, Nedal
AU - Vu, Jeremy
AU - Bianco, Mauro
AU - Amato, Nancy M.
AU - Rauchwerger, Lawrence
PY - 2011
Y1 - 2011
N2 - 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 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 16,000 processors.
AB - 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 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 16,000 processors.
KW - Data
KW - Languages
KW - Libraries
KW - Parallel
KW - Programming
KW - Structures
UR - http://www.scopus.com/inward/record.url?scp=79952806168&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=79952806168&partnerID=8YFLogxK
U2 - 10.1145/1941553.1941586
DO - 10.1145/1941553.1941586
M3 - Conference contribution
AN - SCOPUS:79952806168
SN - 9781450301190
T3 - Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
SP - 235
EP - 245
BT - PPoPP'11 - Proceedings of the 2011 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
T2 - 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP'11
Y2 - 12 February 2011 through 16 February 2011
ER -