Online Application Guidance for Heterogeneous Memory Systems
M. Ben Olson, Brandon Kammerdiener, Kshitij A. Doshi, Terry Jones, and, Michael R. Jantz

TL;DR
This paper introduces an automated runtime toolset for managing heterogeneous memory systems that adaptively assigns data to optimal memory tiers based on application behavior, improving performance without source code changes.
Contribution
It presents a novel runtime-based memory management approach that dynamically optimizes data placement in heterogeneous memories without requiring source modifications or offline profiling.
Findings
Significant performance improvements over unguided memory management.
Achieves comparable results to offline profiling after a short startup period.
Effective on real server hardware with DDR4 and Intel Optane memory.
Abstract
Many high end and next generation computing systems to incorporated alternative memory technologies to meet performance goals. Since these technologies present distinct advantages and tradeoffs compared to conventional DDR* SDRAM, such as higher bandwidth with lower capacity or vice versa, they are typically packaged alongside conventional SDRAM in a heterogeneous memory architecture. To utilize the different types of memory efficiently, new data management strategies are needed to match application usage to the best available memory technology. However, current proposals for managing heterogeneous memories are limited because they either: 1) do not consider high-level application behavior when assigning data to different types of memory, or 2) require separate program execution (with a representative input) to collect information about how the application uses memory resources. This…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCloud Computing and Resource Management · Advanced Data Storage Technologies · Distributed and Parallel Computing Systems
