Skip to main content
SHARE
Publication

SharP: Towards Programming Extreme-Scale Systems with Hierarchical Heterogeneous Memory...

by Manjunath Gorentla Venkata, William F Aderholdt, Zachary W Parchman
Publication Type
Conference Paper
Book Title
SharP: Towards Programming Extreme-Scale Systems with Hierarchical and Heterogeneous Memory
Publication Date
Conference Name
6th International Workshop on Heterogeneous and Unconventional Cluster Architectures and Applications
Conference Location
Bristol, United Kingdom
Conference Sponsor
IEEE
Conference Date
-

The pre-exascale systems are expected to have a significant amount of hierarchical and heterogeneous on-node memory, and this trend of system architecture in extreme-scale systems is expected to continue into the exascale era. Along with hierarchical-heterogeneous memory, the system typically has a high-performing network and a compute accelerator. This system architecture is not only effective for running traditional High-Performance Computing (HPC) applications (Big-Compute), but also running data-intensive HPC applications and Big-Data applications. As a consequence, there is a growing desire to have a single system serve the needs of both Big-Compute and Big-Data applications.

Though the system architecture supports the convergence of the Big-Compute and Big-Data, the programming models have yet to evolve to support either hierarchical-heterogeneous memory systems or the convergence. In this work, we propose and develop the programming abstraction called SHARed data-structure centric Programming abstraction (SharP) to address both of these goals, i.e., provide (1) a simple, usable, and portable abstraction for hierarchical-heterogeneous memory and (2) a unified programming abstraction for Big-Compute and Big-Data applications.

To evaluate SharP, we implement a Stencil benchmark using SharP, port QMCPack, a petascale-capable application, and adapt Memcached ecosystem, a popular Big-Data framework, to use SharP, and quantify the performance and productivity advantages. Additionally, we demonstrate the simplicity of using SharP on different memories including DRAM, High-bandwidth Memory (HBM), and non-volatile random access memory (NVRAM).