2025-03-26 オークリッジ国立研究所(ORNL)
<関連情報>
- https://www.ornl.gov/news/supercomputing-memory-management-tool-makes-data-storage-more-efficient
- https://dl.acm.org/doi/10.1145/3708540
- https://dl.acm.org/doi/10.1177/10943420241288243
異種メモリシステムにおける柔軟で効果的なオブジェクト階層化 Flexible and Effective Object Tiering for Heterogeneous Memory Systems
Brandon Kammerdiener, J. Zach Mcmichael, Michael Jantz, Kshitij Doshi, Terry Jones
ACM Transactions on Architecture and Code Optimization Published: 20 March 2025
DOI:https://doi.org/10.1145/3708540
Abstract
Computing platforms that package multiple types of memory, each with their own performance characteristics, are quickly becoming mainstream. To operate efficiently, heterogeneous memory architectures require new data management solutions that are able to match the needs of each application with an appropriate type of memory. As the primary generators of memory usage, applications create a great deal of information that can be useful for guiding memory management, but the community still lacks tools to collect, organize, and leverage this information effectively. To address this gap, this work introduces a novel software framework that collects and analyzes object-level information to guide memory tiering. The framework includes tools to monitor the capacity and usage of individual data objects, routines that aggregate and convert this information into tier recommendations for the host platform, and mechanisms to enforce these recommendations according to user-selected policies. Moreover, the developed tools and techniques are fully automatic, work on standard Linux systems, and do not require modification or recompilation of existing software. Using this framework, this study evaluates and compares the impact of a variety of design choices for memory tiering, including different policies for prioritizing objects for the fast memory tier as well as the frequency and timing of migration events. The results, collected on a modern Intel platform with conventional DDR4 SDRAM as well as Intel Optane NVRAM, show that guiding data tiering with object-level information can enable significant performance and efficiency benefits compared with standard hardware- and software-directed data-tiering strategies for a diverse set of memory-intensive workloads.
ECP SICMプロジェクト:: エクサスケール・アプリケーションのための複雑なメモリ階層の管理 The ECP SICM project: : Managing complex memory hierarchies for exascale applications
Roxana Bujack, Maya Gokhale, Latchesar Ionkov, Keita Iwabuchi, Michael Jantz, Terry Jones, + 10
The International Journal of High Performance Computing Applications Published: 01 January 2025
DOI:https://doi.org/10.1177/10943420241288243
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.