Skip to main content
U.S. Department of Energy
Office of Scientific and Technical Information

Scaling Irregular Applications through Data Aggregation and Software Multithreading

Conference ·

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.

Research Organization:
Pacific Northwest National Laboratory (PNNL), Richland, WA (US)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-76RL01830
OSTI ID:
1156997
Report Number(s):
PNNL-SA-96137; 400470000
Country of Publication:
United States
Language:
English

Similar Records

UPC++ Programmer’s Guide, v1.0-2018.3.0
Technical Report · Sat Mar 31 00:00:00 EDT 2018 · OSTI ID:1430693

Global-Address Space Networking for Exascale
Software · Tue Sep 04 20:00:00 EDT 2018 · OSTI ID:code-18015

GASNet-EX Memory Kinds: Support for Device Memory in PGAS Programming Models
Conference · Mon Nov 15 23:00:00 EST 2021 · OSTI ID:1825020