Handle URI:
http://hdl.handle.net/10754/599964
Title:
The STAPL pList
Authors:
Tanase, Gabriel; Xu, Xiabing; Buss, Antal; Harshvardhan,; Papadopoulos, Ioannis; Pearce, Olga; Smith, Timmie; Thomas, Nathan; Bianco, Mauro; Amato, Nancy M.; Rauchwerger, Lawrence
Abstract:
We present the design and implementation of the stapl pList, a parallel container that has the properties of a sequential list, but allows for scalable concurrent access when used in a parallel program. The Standard Template Adaptive Parallel Library (stapl) is a parallel programming library that extends C++ with support for parallelism. stapl provides a collection of distributed data structures (pContainers) and parallel algorithms (pAlgorithms) and a generic methodology for extending them to provide customized functionality. stapl pContainers are thread-safe, concurrent objects, providing appropriate interfaces (e.g., views) that can be used by generic pAlgorithms. The pList provides stl equivalent methods, such as insert, erase, and splice, additional methods such as split, and efficient asynchronous (non-blocking) variants of some methods for improved parallel performance. We evaluate the performance of the stapl pList on an IBM Power 5 cluster and on a CRAY XT4 massively parallel processing system. Although lists are generally not considered good data structures for parallel processing, we show that pList methods and pAlgorithms (p-generate and p-partial-sum) operating on pLists provide good scalability on more than 103 processors and that pList compares favorably with other dynamic data structures such as the pVector. © 2010 Springer-Verlag.
Citation:
Tanase G, Xu X, Buss A, Harshvardhan, Papadopoulos I, et al. (2010) The STAPL pList. Lecture Notes in Computer Science: 16–30. Available: http://dx.doi.org/10.1007/978-3-642-13374-9_2.
Publisher:
Springer Science + Business Media
Journal:
Languages and Compilers for Parallel Computing
KAUST Grant Number:
KUS-C1-016-04
Issue Date:
2010
DOI:
10.1007/978-3-642-13374-9_2
Type:
Book Chapter
ISSN:
0302-9743; 1611-3349
Sponsors:
This research supported in part by NSF Grants EIA-0103742, ACR-0081510, ACR-0113971, CCR-0113974, ACI-0326350, CRI-0551685, CCF-0833199, CCF-0830753, by the DOE NNSA under the Predictive Science Academic Alliances Program by grant DE-FC52-08NA28616, by Chevron, IBM, Intel, HP, and by King Abdullah University of Science and Technology (KAUST) Award KUS-C1-016-04. This research used resources of the National Energy Research Scientific Computing Center,
Appears in Collections:
Publications Acknowledging KAUST Support

Full metadata record

DC FieldValue Language
dc.contributor.authorTanase, Gabrielen
dc.contributor.authorXu, Xiabingen
dc.contributor.authorBuss, Antalen
dc.contributor.authorHarshvardhan,en
dc.contributor.authorPapadopoulos, Ioannisen
dc.contributor.authorPearce, Olgaen
dc.contributor.authorSmith, Timmieen
dc.contributor.authorThomas, Nathanen
dc.contributor.authorBianco, Mauroen
dc.contributor.authorAmato, Nancy M.en
dc.contributor.authorRauchwerger, Lawrenceen
dc.date.accessioned2016-02-28T06:33:23Zen
dc.date.available2016-02-28T06:33:23Zen
dc.date.issued2010en
dc.identifier.citationTanase G, Xu X, Buss A, Harshvardhan, Papadopoulos I, et al. (2010) The STAPL pList. Lecture Notes in Computer Science: 16–30. Available: http://dx.doi.org/10.1007/978-3-642-13374-9_2.en
dc.identifier.issn0302-9743en
dc.identifier.issn1611-3349en
dc.identifier.doi10.1007/978-3-642-13374-9_2en
dc.identifier.urihttp://hdl.handle.net/10754/599964en
dc.description.abstractWe present the design and implementation of the stapl pList, a parallel container that has the properties of a sequential list, but allows for scalable concurrent access when used in a parallel program. The Standard Template Adaptive Parallel Library (stapl) is a parallel programming library that extends C++ with support for parallelism. stapl provides a collection of distributed data structures (pContainers) and parallel algorithms (pAlgorithms) and a generic methodology for extending them to provide customized functionality. stapl pContainers are thread-safe, concurrent objects, providing appropriate interfaces (e.g., views) that can be used by generic pAlgorithms. The pList provides stl equivalent methods, such as insert, erase, and splice, additional methods such as split, and efficient asynchronous (non-blocking) variants of some methods for improved parallel performance. We evaluate the performance of the stapl pList on an IBM Power 5 cluster and on a CRAY XT4 massively parallel processing system. Although lists are generally not considered good data structures for parallel processing, we show that pList methods and pAlgorithms (p-generate and p-partial-sum) operating on pLists provide good scalability on more than 103 processors and that pList compares favorably with other dynamic data structures such as the pVector. © 2010 Springer-Verlag.en
dc.description.sponsorshipThis research supported in part by NSF Grants EIA-0103742, ACR-0081510, ACR-0113971, CCR-0113974, ACI-0326350, CRI-0551685, CCF-0833199, CCF-0830753, by the DOE NNSA under the Predictive Science Academic Alliances Program by grant DE-FC52-08NA28616, by Chevron, IBM, Intel, HP, and by King Abdullah University of Science and Technology (KAUST) Award KUS-C1-016-04. This research used resources of the National Energy Research Scientific Computing Center,en
dc.publisherSpringer Science + Business Mediaen
dc.titleThe STAPL pListen
dc.typeBook Chapteren
dc.identifier.journalLanguages and Compilers for Parallel Computingen
dc.contributor.institutionTexas A and M University, College Station, United Statesen
kaust.grant.numberKUS-C1-016-04en
All Items in KAUST are protected by copyright, with all rights reserved, unless otherwise indicated.