Date of Award
Master of Science
Michael R. Jantz
Gregory D. Peterson, James S. Plank
Many promising memory technologies, such as non-volatile, storage-class memories and high-bandwidth, on-chip RAMs, are beginning to emerge. Since each of these new technologies present tradeoffs distinct from conventional DRAMs, next-generation systems are likely to include multiple tiers of memory storage, each with their own type of devices. To efficiently utilize the available hardware, such systems will need to alter their data management strategies to consider the performance and capabilities provided by each tier.
This work explores a variety of cross-layer strategies for managing application data in heterogeneous memory systems. We propose different program profiling-based techniques to automatically partition program allocation sites into sets corresponding to expected allocation and usage patterns. As the application executes, it consults the collected guidance to assign new data objects to distinct regions, which can be independently managed and mapped to distinct types of hardware memory devices. Our approach is fully automatic, does not rely on any non-standard hardware or architectural modifications, and is exible enough to adapt management strategies as the application behavior changes. Evaluation with a set of standard benchmarks (SPEC cpu2006) shows that our guidance-based approach outperforms, and can even improve, other state-of-the-art management techniques.
Howard, Adam Palmer, "Automated Program Profiling and Analysis for Managing Heterogeneous Memory Systems. " Master's Thesis, University of Tennessee, 2017.