Affiliation:
1. Texas A&M University, College Station, TX, USA
2. KAUST, Thuwal, Saudi Arabia
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
21 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Distributed Ranges: A Model for Distributed Data Structures, Algorithms, and Views;Proceedings of the 38th ACM International Conference on Supercomputing;2024-05-30
2. Parallel Approximate Ideal Restriction Multigrid for Solving the SN Transport Equations;Nuclear Science and Engineering;2020-06-05
3. RDMA vs. RPC for Implementing Distributed Data Structures;2019 IEEE/ACM 9th Workshop on Irregular Applications: Architectures and Algorithms (IA3);2019-11
4. BCL;Proceedings of the 48th International Conference on Parallel Processing;2019-08-05
5. Nested Parallelism with Algorithmic Skeletons;Languages and Compilers for Parallel Computing;2019