Search NASA⌕ Search

DOE OSTI · 1156997

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

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Morari, Alessandro, Tumeo, Antonino, Chavarría-Miranda, Daniel, Villa, Oreste, Valero, Mateo. 2014-05-30. Scaling Irregular Applications through Data Aggregation and Software Multithreading. https://doi.org/10.1109/ipdps.2014.117

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related reports

Effects of Recovery Conditions and Aggregation Mechanisms on the Chemical and Physical Properties of Hybrid Poplar and Corn Stover Lignins

Heterogeneity in the physical properties and processing behavior of lignins recovered from biorefining process streams can hinder their effective utilization and industrial valorization. This work investigates lignin recovery by acidification from alkaline pretreatment liquors of varying sources (corn stover and hybrid poplar), compositions, solid contents, and incubation temperatures prior to filtration. Recovered lignins were characterized for filtration performance, mass yield, chemical composition, particle size and morphology, and color. A transition temperature was identified corresponding to marked shifts in lignin physical properties and was a function of the solid content and liquor source. Filtration below this temperature yielded slow-filtering, dark, brittle lignins with smoother particle surfaces, whereas precipitation above this threshold yielded fast-filtering, lighter, powdery lignins with rougher particle surfaces. The impact of temperature and concentration on universal cluster aggregation mechanisms was proposed to explain the differences between lignin particle properties and filtration behavior.

Aggregation↗

Ion-Specific Effects on PuO 2 Nanoparticle Aggregation and Dissolution in Concentrated Electrolytes

Hydrolytic PuO 2 nanoparticles (NPs) are a dominant aqueous Pu-bearing phase in high ionic strength nuclear wastes, yet their reactivity in nonideal brines remains poorly constrained. We quantify how electrolyte identity and concentration control PuO 2 NP aggregation and ligand-assisted dissolution in acidic, high salinity solutions (NaCl, NaNO 3 , NaClO 4 , Na 2 SO 4 , Na 2 C 2 O 4 up to 5 M). A multitechnique workflow combining liquid scintillation counting (operationally defined aqueous [Pu]), scattering/electrokinetic measurements (aggregate size and zeta potential), and spectroscopy (UV–vis, XPS, Raman) resolves electrolyte-dependent partitioning between colloidal and molecular Pu species. Weakly coordinating anions (ClO 4 – , Cl – , NO 3 – ) largely preserve the (aggregated) nanoparticulate fraction but generate distinct dissolved species at high concentration, i.e., Pu(IV)–nitrato complexes in NaNO 3 and Pu(VI)–chloro complexes in NaCl. In contrast, stronger ligands substantially perturb PuO 2 NP stability: sulfate promotes partial dissolution to Pu(IV)–sulfate complexes at low concentration but reduces aqueous [Pu] at higher sulfate levels via secondary Pu(IV) sulfate formation, whereas oxalate drives strong dissolution to aqueous Pu–oxalate complexes. Aged NPs show similar trends with reduced aqueous fractions and more dominant aggregation mechanisms. In conclusion, these spectroscopically constrained speciation data provide a foundation for incorporating PuO 2 NP reactivity into thermodynamic and reactive transport models for high salinity waste and brine environments.

Aggregation↗

Scaling Semantic Graph Databases in Size and Performance

In this paper we present SGEM, a full software system for accelerating large-scale semantic graph databases on commodity clusters. Unlike current approaches, SGEM addresses semantic graph databases by only employing graph methods at all the levels of the stack. On one hand, this allows exploiting the space efficiency of graph data structures and the inherent parallelism of graph algorithms. These features adapt well to the increasing system memory and core counts of modern commodity clusters. On the other hand, however, these systems are optimized for regular computation and batched data transfers, while graph methods usually are irregular and generate fine-grained data accesses with poor spatial and temporal locality. Our framework comprises a SPARQL to data parallel C compiler, a library of parallel graph methods and a custom, multithreaded runtime system. We introduce our stack, motivate its advantages with respect to other solutions and show how we solved the challenges posed by irregular behaviors. We present the result of our software stack on the Berlin SPARQL benchmarks with datasets up to 10 billion triples (a triple corresponds to a graph edge), demonstrating scaling in dataset size and in performance as more nodes are added to the cluster.

Aggregation↗