ACM Home Page
Please provide us with feedback. Feedback
The STAPL pArray
Full text PdfPdf (522 KB)
Source Memory Performance: Dealing With Applications, Systems And Architecture archive
Proceedings of the 2007 workshop on MEmory performance: DEaling with Applications, systems and architecture table of contents
Brasov, Romania
Pages 73-80  
Year of Publication: 2007
ISBN:978-1-9593-807-7
Authors
Gabriel Tanase  Texas A&M University, College Station, TX
Mauro Bianco  Texas A&M University, College Station, TX
Nancy M. Amato  Texas A&M University, College Station, TX
Lawrence Rauchwerger  Texas A&M University, College Station, TX
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 13,   Citation Count: 0
Additional Information:

abstract   references   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1327171.1327180
What is a DOI?

ABSTRACT

The Standard Template Adaptive Parallel Library (STAPL) is a parallel programming framework that extends C++ and STL with support for parallelism. STAPL provides parallel data structures (pContainers) and generic parallel algorithms (pAlgorithms), and a 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 provide views as a generic means to access data that can be passed as input to generic pAlgorithms.

In this work, we present the STAPL pArray, the parallel equivalent of the sequential STL valarray, a fixed-size data structure optimized for storing and accessing data based on one-dimensional indices. We describe the pArray design and show how it can support a variety of underlying data distribution policies currently available in STAPL, such as blocked or blocked cyclic. We provide experimental results showing that pAlgorithms using the pArray scale well to more than 2,000 processors. We also provide results using different data distributions that illustrate that the performance of pAlgorithms and pArray methods is usually sensitive to the underlying data distribution, and moreover, that there is no one data distribution that performs best for all pAlgorithms, processor counts, or machines.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
E. Allen, D. Chase, V. Luchangco, J.-W. Maessen, S. Ryu, G. L. S. Jr., and S. Tobin-Hochstadt. The fortress language specification version 0.707. Technical report, Sun Labs Programming Language Research Group, http://research.sun.com/projects/plrg/fortress0707.pdf, 2005.
 
2
P. An, A. Jula, S. Rus, S. Saunders, T. Smith, G. Tanase, N. Thomas, N. Amato, and L. Rauchwerger. STAPL: A standard template adaptive parallel C++ library. In Proc. of the International Workshop on Advanced Compiler Technology for High Performance and Embedded Processors (IWACT), Bucharest, Romania, Jul 2001.
 
3
 
4
 
5
D. Callahan, Chamberlain, B. L., and H. Zima. The cascade high productivity language. In The Ninth International Workshop on High-Level Parallel Programming Models and Supportive Environments, volume 26, pages 52--60, April 2004.
 
6
A. Chan and F. Dehne. CGMgraph/CGMlib: Implementing and testing CGM graph algorithms on PC clusters, 2003.
7
8
 
9
Intel. Intel. Reference for Intel Threading Building Blocks, version 1.0, April 2006.
 
10
11
12
 
13
 
14
 
15
J. V. W. Reynders, P. J. Hinker, J. C. Cummings, S. R. Atlas, S. Banerjee, W. F. Humphrey, S. R. Karmesin, K. Keahey, M. Srikant, and M. D. Tholburn. POOMA: A Framework for Scientific Simulations of Paralllel Architectures. In G. V. Wilson and P. Lu, editors, Parallel Programming in C++, chapter 14, pages 547--588. MIT Press, 1996.
 
16
H. Richardson. High performance fortran: history, overview and current developments. Technical Report TMC-261, Thinking Machines Corporation, April 1996.
17
 
18
G. Tanase, C. Raman, M. Bianco, N. M. Amato, and L. Rauchwerger. Associative parallel containers in STAPL. In Workshop on Languages and Compilers for Parallel Computing (LCPC), Urbana-Champaign, to appear 2007.
 
19
N. Thomas, S. Saunders, T. Smith, G. Tanase, and L. Rauchwerger. ARMI: A high level communication library for STAPL. Parallel Processing Letters, 16(2):261--280, Jun 2006.
20
Collaborative Colleagues:
Gabriel Tanase: colleagues
Mauro Bianco: colleagues
Nancy M. Amato: colleagues
Lawrence Rauchwerger: colleagues