The ECP SICM project: Managing complex memory hierarchies for exascale applications
Roxana Bujack,Maya Gokhale,Latchesar Ionkov,Keita Iwabuchi,Michael Jantz,Terry Jones,Sumathi Lakshmiranganatha,Michael K Lang,Jason Lee,M. Ben Olson,Scott Pakin,Roger Pearce,Jonathan Pietarila Graham,Li Tang,Terece L Turton,Sean Williams
DOI: https://doi.org/10.1177/10943420241288243
2024-11-06
The International Journal of High Performance Computing Applications
Abstract:The International Journal of High Performance Computing Applications, Ahead of Print. 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.
computer science, theory & methods, interdisciplinary applications, hardware & architecture