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

SharP Unified Memory Allocator: An Intent-Based Memory Allocator for Extreme-Scale Systems

Conference ·

The pre-exascale systems will soon be deployed with a deep, complex memory hierarchy composed of many heterogeneous memories. This presents multiple challenges for users including: how to allocate data objects with locality between memories and devices for the various memories in these systems, which includes DRAM, High-bandwidth Memory (HBM), and non-volatile random access memory (NVRAM), and how to perform these allocations while providing portability for their application. Currently, the user can make use of multiple, disjoint libraries to allocate data objects on these memories. However, it is difficult to obtain locality between memories and devices when using libraries that are unaware of each other. This paper presents the Unified Memory Allocator (UMA) of the SHARed data-structure centric Programming abstraction (SharP) library, which provides a unified interface for memory allocations across DRAM, HBM, and NVRAM and is extensible to support future memory types. In addition, the SharP UMA allows for portability between systems by supporting both explicit and implicit, intent-based memory allocations. To demonstrate the ease of use of the SharP UMA, we have extended both Open MPIand OpenSHMEM-Xto support SharP. We validate this work by evaluating the performance implications and intent-based approach with synthetic benchmarks as well as adaptations of the Graph500 benchmark.

Research Organization:
Oak Ridge National Laboratory (ORNL), Oak Ridge, TN (United States)
Sponsoring Organization:
USDOE
DOE Contract Number:
AC05-00OR22725
OSTI ID:
1468045
Country of Publication:
United States
Language:
English

References (6)

SharP: Towards Programming Extreme-Scale Systems with Hierarchical Heterogeneous Memory conference August 2017
Graph 500 in OpenSHMEM book January 2015
Kokkos: Enabling manycore performance portability through polymorphic memory access patterns journal December 2014
OpenSHMEM-UCX: Evaluation of UCX for Implementing OpenSHMEM Programming Model book January 2016
Hoard: a scalable memory allocator for multithreaded applications journal November 2000
Symmetric Memory Partitions in OpenSHMEM: A Case Study with Intel KNL book January 2018

Similar Records

SharP: Towards Programming Extreme-Scale Systems with Hierarchical Heterogeneous Memory
Conference · Tue Aug 01 00:00:00 EDT 2017 · OSTI ID:1567459

Makalu: fast recoverable allocation of non-volatile memory
Journal Article · Wed Oct 19 00:00:00 EDT 2016 · SIGPLAN · OSTI ID:1425366

The Unobtrusive Memory Allocator
Software · Sun Mar 30 19:00:00 EST 2003 · OSTI ID:code-54583

Related Subjects