TY - JOUR
T1 - The STAPL parallel container framework
AU - Tanase, Gabriel
AU - Buss, Antal
AU - Fidel, Adam
AU - Harshvardhan, null
AU - Papadopoulos, Ioannis
AU - Pearce, Olga
AU - Smith, Timmie
AU - Thomas, Nathan
AU - Xu, Xiabing
AU - Mourad, Nedal Mohammed Nabeel
AU - Vu, Jeremy
AU - Bianco, Mauro
AU - Amato, Nancy M.
AU - Rauchwerger, Lawrence
N1 - KAUST Repository Item: Exported on 2021-03-31
Acknowledged KAUST grant number(s): KUS-C1-016-04
Acknowledgements: This research supported in part by NSF awards CRI-0551685, CCF0833199, CCF-0830753, IIS-096053, IIS-0917266, NSF/DNDO award
2008-DN-077-ARI018-02, by the DOE NNSA under the Predictive Science Academic Alliances Program by grant DE-FC52-08NA28616, by THECB NHARP award 000512-0097-2009, by Chevron, IBM, Intel, Oracle/Sun and by Award KUS-C1-016-04, made by King Abdullah University of Science and Technology (KAUST). This research used resources of the National Energy Research Scientific Computing Center, which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231. Mourad is a masters student at KAUST who did an internship at the Parasol Lab. Tanase is currently a Research Staff Member at IBM T.J. Watson Research Center. Bianco is currently a scientist at the Swiss National Supercomputing Centre.
PY - 2011/9/7
Y1 - 2011/9/7
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. Copyright © 2011 ACM.
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. Copyright © 2011 ACM.
UR - http://hdl.handle.net/10754/668394
UR - https://dl.acm.org/doi/10.1145/2038037.1941586
UR - http://www.scopus.com/inward/record.url?scp=80053959631&partnerID=8YFLogxK
U2 - 10.1145/2038037.1941586
DO - 10.1145/2038037.1941586
M3 - Article
SN - 0362-1340
VL - 46
SP - 235
EP - 246
JO - ACM SIGPLAN Notices
JF - ACM SIGPLAN Notices
IS - 8
ER -