Abstract
The recent emergence of new memory technologies and multi-tier memory architectures has disrupted the traditional view of memory as a single block of volatile storage with uniform performance. Several options for managing data on heterogeneous memory platforms now exist, but current approaches either rely on inflexible, and often inefficient, hardware-based caching, or they require expert knowledge and source code modification to utilize the different performance and capabilities within each memory tier. This paper introduces a new software-based framework to collect and apply memory management guidance for applications on heterogeneous memory platforms. The framework, together with new tools, combines a generic runtime API with automated program profiling and analysis to achieve data management that is both efficient and portable across multiple memory architectures. To validate this combined software approach, we deployed it on two real-world heterogeneous memory platforms: 1) an Intel® Cascade Lake platform with conventional DDR4 alongside nonvolatile OptaneTM DC memory with large capacity, and 2) an Intel® Knights Landing platform high-bandwidth, but limited capacity, MCDRAM backed by DDR4 SDRAM. We tested our approach on these platforms using three scientific mini-applications (LULESH, AMG, and SNAP) as well as one scalable scientific application (QMCPACK) from the CORAL benchmark suite. The experiments show that portable application guidance has potential to improve performance significantly, especially on the Cascade Lake platform – which achieved peak speedups of 22x and 7.8x over the default unguided software- and hardware-based management policies. Additionally, this work evaluates the impact of various factors on the effectiveness of memory usage guidance, including: the amount of capacity that is available in the high performance tier, the input that is used during program profiling, and whether the profiling was conducted on the same architecture or transferred from a machine with a different architecture.
Original language | English |
---|---|
Title of host publication | MEMSYS 2019 - Proceedings of the International Symposium on Memory Systems |
Publisher | Association for Computing Machinery |
Pages | 156-166 |
Number of pages | 11 |
ISBN (Electronic) | 9781450372060 |
DOIs | |
State | Published - Sep 30 2019 |
Event | 2019 International Symposium on Memory Systems, MEMSYS 2019 - Washington, United States Duration: Sep 30 2019 → Oct 3 2019 |
Publication series
Name | ACM International Conference Proceeding Series |
---|
Conference
Conference | 2019 International Symposium on Memory Systems, MEMSYS 2019 |
---|---|
Country/Territory | United States |
City | Washington |
Period | 09/30/19 → 10/3/19 |
Funding
We thank the anonymous reviewers for their thoughtful comments and feedback. We also thank Intel® DCG for providing the computing platform infrastructure that we used to conduct this study. This research was supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the U.S. Department of Energy Office of Science and the National Nuclear Security Administration, as well as contributions from the National Science Foundation (under CCF-1617954) and the Software and Services Group (SSG) at Intel®Corporation.
Keywords
- 3DXPoint
- Application guidance
- Heterogeneous memory
- Memory management
- Optane
- Performance
- Program profiling