The STAPL pArray Conference Paper uri icon

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. Copyright 2007 ACM.

name of conference

  • Proceedings of the 2007 workshop on MEmory performance: DEaling with Applications, systems and architecture

published proceedings

  • Proceedings of the 2007 workshop on MEmory performance: DEaling with Applications, systems and architecture

author list (cited authors)

  • Tanase, G., Bianco, M., Amato, N. M., & Rauchwerger, L.

citation count

  • 8

complete list of authors

  • Tanase, Gabriel||Bianco, Mauro||Amato, Nancy M||Rauchwerger, Lawrence

publication date

  • January 2007