Scaling Irregular Applications through Data Aggregation and Software Multithreading
Abstract
Bioinformatics, data analytics, semantic databases, knowledge discovery are emerging high performance application areas that exploit dynamic, linked data structures such as graphs, unbalanced trees or unstructured grids. These data structures usually are very large, requiring significantly more memory than available on single shared memory systems. Additionally, these data structures are difficult to partition on distributed memory systems. They also present poor spatial and temporal locality, thus generating unpredictable memory and network accesses. The Partitioned Global Address Space (PGAS) programming model seems suitable for these applications, because it allows using a shared memory abstraction across distributed-memory clusters. However, current PGAS languages and libraries are built to target regular remote data accesses and block transfers. Furthermore, they usually rely on the Single Program Multiple Data (SPMD) parallel control model, which is not well suited to the fine grained, dynamic and unbalanced parallelism of irregular applications. In this paper we present {\bf GMT} (Global Memory and Threading library), a custom runtime library that enables efficient execution of irregular applications on commodity clusters. GMT integrates a PGAS data substrate with simple fork/join parallelism and provides automatic load balancing on a per node basis. It implements multi-level aggregation and lightweight multithreading to maximize memory andmore »
- Authors:
- Publication Date:
- Research Org.:
- Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
- Sponsoring Org.:
- USDOE
- OSTI Identifier:
- 1156997
- Report Number(s):
- PNNL-SA-96137
400470000
- DOE Contract Number:
- AC05-76RL01830
- Resource Type:
- Conference
- Resource Relation:
- Conference: IEEE 28th International Parallel and Distributed Processing Symposium, May 19-23, 2014, Phoenix, Arizona, 1126-1135
- Country of Publication:
- United States
- Language:
- English
- Subject:
- PGAS; Irregular applications; Multithreading; Aggregation; GMT
Citation Formats
Morari, Alessandro, Tumeo, Antonino, Chavarría-Miranda, Daniel, Villa, Oreste, and Valero, Mateo. Scaling Irregular Applications through Data Aggregation and Software Multithreading. United States: N. p., 2014.
Web. doi:10.1109/IPDPS.2014.117.
Morari, Alessandro, Tumeo, Antonino, Chavarría-Miranda, Daniel, Villa, Oreste, & Valero, Mateo. Scaling Irregular Applications through Data Aggregation and Software Multithreading. United States. https://doi.org/10.1109/IPDPS.2014.117
Morari, Alessandro, Tumeo, Antonino, Chavarría-Miranda, Daniel, Villa, Oreste, and Valero, Mateo. 2014.
"Scaling Irregular Applications through Data Aggregation and Software Multithreading". United States. https://doi.org/10.1109/IPDPS.2014.117.
@article{osti_1156997,
title = {Scaling Irregular Applications through Data Aggregation and Software Multithreading},
author = {Morari, Alessandro and Tumeo, Antonino and Chavarría-Miranda, Daniel and Villa, Oreste and Valero, Mateo},
abstractNote = {Bioinformatics, data analytics, semantic databases, knowledge discovery are emerging high performance application areas that exploit dynamic, linked data structures such as graphs, unbalanced trees or unstructured grids. These data structures usually are very large, requiring significantly more memory than available on single shared memory systems. Additionally, these data structures are difficult to partition on distributed memory systems. They also present poor spatial and temporal locality, thus generating unpredictable memory and network accesses. The Partitioned Global Address Space (PGAS) programming model seems suitable for these applications, because it allows using a shared memory abstraction across distributed-memory clusters. However, current PGAS languages and libraries are built to target regular remote data accesses and block transfers. Furthermore, they usually rely on the Single Program Multiple Data (SPMD) parallel control model, which is not well suited to the fine grained, dynamic and unbalanced parallelism of irregular applications. In this paper we present {\bf GMT} (Global Memory and Threading library), a custom runtime library that enables efficient execution of irregular applications on commodity clusters. GMT integrates a PGAS data substrate with simple fork/join parallelism and provides automatic load balancing on a per node basis. It implements multi-level aggregation and lightweight multithreading to maximize memory and network bandwidth with fine-grained data accesses and tolerate long data access latencies. A key innovation in the GMT runtime is its thread specialization (workers, helpers and communication threads) that realize the overall functionality. We compare our approach with other PGAS models, such as UPC running using GASNet, and hand-optimized MPI code on a set of typical large-scale irregular applications, demonstrating speedups of an order of magnitude.},
doi = {10.1109/IPDPS.2014.117},
url = {https://www.osti.gov/biblio/1156997},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Fri May 30 00:00:00 EDT 2014},
month = {Fri May 30 00:00:00 EDT 2014}
}