TY - JOUR
T1 - The ECP SICM project
T2 - Managing complex memory hierarchies for exascale applications
AU - Bujack, Roxana
AU - Gokhale, Maya
AU - Ionkov, Latchesar
AU - Iwabuchi, Keita
AU - Jantz, Michael
AU - Jones, Terry
AU - Lakshmiranganatha, Sumathi
AU - Lang, Michael K.
AU - Lee, Jason
AU - Olson, M. Ben
AU - Pakin, Scott
AU - Pearce, Roger
AU - Pietarila Graham, Jonathan
AU - Tang, Li
AU - Turton, Terece L.
AU - Williams, Sean
N1 - Publisher Copyright:
© The Author(s) 2024.
PY - 2024
Y1 - 2024
N2 - The Exascale Computing Project (ECP)’s Simplified Interface to Complex Memories (SICM) effort focuses on developing universal interfaces for discovering, managing, and sharing data across complex memory hierarchies. These facilitate the exploitation of emerging memory technologies and support precise control over their various trade-offs such as high-bandwidth versus low-latency, persistent versus ephemeral, high-capacity versus low-capacity, and near-CPU versus near-GPU. SICM comprises three interrelated components: a low-level interface, a high-level interface, and a persistent-heap interface. The low-level SICM interface is intended for system and run-time developers as well as expert application developers who prefer full control of the memory objects used within their application. The high-level SICM interface builds upon the low-level interface, employing application-level profiling and analysis to optimize data management for complex memory hierarchies. The persistent-heap interface provides applications with a persistent memory allocator that can allocate custom C++ data structures in both block-storage and byte-addressable persistent memories.
AB - The Exascale Computing Project (ECP)’s Simplified Interface to Complex Memories (SICM) effort focuses on developing universal interfaces for discovering, managing, and sharing data across complex memory hierarchies. These facilitate the exploitation of emerging memory technologies and support precise control over their various trade-offs such as high-bandwidth versus low-latency, persistent versus ephemeral, high-capacity versus low-capacity, and near-CPU versus near-GPU. SICM comprises three interrelated components: a low-level interface, a high-level interface, and a persistent-heap interface. The low-level SICM interface is intended for system and run-time developers as well as expert application developers who prefer full control of the memory objects used within their application. The high-level SICM interface builds upon the low-level interface, employing application-level profiling and analysis to optimize data management for complex memory hierarchies. The persistent-heap interface provides applications with a persistent memory allocator that can allocate custom C++ data structures in both block-storage and byte-addressable persistent memories.
KW - data tiering
KW - high-bandwidth memory
KW - malloc
KW - Memory management
KW - nonvolatile memory
UR - http://www.scopus.com/inward/record.url?scp=85208218551&partnerID=8YFLogxK
U2 - 10.1177/10943420241288243
DO - 10.1177/10943420241288243
M3 - Article
AN - SCOPUS:85208218551
SN - 1094-3420
JO - International Journal of High Performance Computing Applications
JF - International Journal of High Performance Computing Applications
ER -