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

Research output: Contribution to journalArticlepeer-review

Abstract

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.

Keywords

  • data tiering
  • high-bandwidth memory
  • malloc
  • Memory management
  • nonvolatile memory

Fingerprint

Dive into the research topics of 'The ECP SICM project: Managing complex memory hierarchies for exascale applications'. Together they form a unique fingerprint.

Cite this