SharP Unified Memory Allocator: An Intent-Based Memory Allocator for Extreme-Scale Systems
Abstract
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 ofmore »
- Authors:
-
- ORNL
- Tennessee Technological University (TTU)
- Publication Date:
- Research Org.:
- Oak Ridge National Lab. (ORNL), Oak Ridge, TN (United States). Oak Ridge Leadership Computing Facility (OLCF)
- Sponsoring Org.:
- USDOE Office of Science (SC)
- OSTI Identifier:
- 1468045
- DOE Contract Number:
- AC05-00OR22725
- Resource Type:
- Conference
- Resource Relation:
- Journal Volume: 11014; Conference: International Conference on Parallel and Distributed Computing (Euro-Par 2018) - Turin, , Italy - 8/27/2018 12:00:00 PM-8/31/2018 8:00:00 AM
- Country of Publication:
- United States
- Language:
- English
Citation Formats
Aderholdt, William Ferrol, Gorentla Venkata, Manjunath, and Parchman, Zachary. SharP Unified Memory Allocator: An Intent-Based Memory Allocator for Extreme-Scale Systems. United States: N. p., 2018.
Web. doi:10.1007/978-3-319-96983-1_38.
Aderholdt, William Ferrol, Gorentla Venkata, Manjunath, & Parchman, Zachary. SharP Unified Memory Allocator: An Intent-Based Memory Allocator for Extreme-Scale Systems. United States. https://doi.org/10.1007/978-3-319-96983-1_38
Aderholdt, William Ferrol, Gorentla Venkata, Manjunath, and Parchman, Zachary. Wed .
"SharP Unified Memory Allocator: An Intent-Based Memory Allocator for Extreme-Scale Systems". United States. https://doi.org/10.1007/978-3-319-96983-1_38. https://www.osti.gov/servlets/purl/1468045.
@article{osti_1468045,
title = {SharP Unified Memory Allocator: An Intent-Based Memory Allocator for Extreme-Scale Systems},
author = {Aderholdt, William Ferrol and Gorentla Venkata, Manjunath and Parchman, Zachary},
abstractNote = {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.},
doi = {10.1007/978-3-319-96983-1_38},
url = {https://www.osti.gov/biblio/1468045},
journal = {},
issn = {0302-9743},
number = ,
volume = 11014,
place = {United States},
year = {2018},
month = {8}
}
Works referenced in this record:
Kokkos: Enabling manycore performance portability through polymorphic memory access patterns
journal, December 2014
- Carter Edwards, H.; Trott, Christian R.; Sunderland, Daniel
- Journal of Parallel and Distributed Computing, Vol. 74, Issue 12
Hoard: a scalable memory allocator for multithreaded applications
journal, November 2000
- Berger, Emery D.; McKinley, Kathryn S.; Blumofe, Robert D.
- ACM SIGPLAN Notices, Vol. 35, Issue 11
SharP: Towards Programming Extreme-Scale Systems with Hierarchical Heterogeneous Memory
conference, August 2017
- Venkata, Manjunath Gorentla; Aderholdt, Ferrol; Parchman, Zachary
- 2017 46th International Conference on Parallel Processing Workshops (ICPPW)