skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: 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 » 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.« less

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}
}

Conference:
Other availability
Please see Document Availability for additional information on obtaining the full-text document. Library patrons may search WorldCat to identify libraries that hold this conference proceeding.

Save / Share: