Cross-layer memory management for managed language applications

MR Jantz, FJ Robinson, PA Kulkarni… - Proceedings of the 2015 …, 2015 - dl.acm.org
MR Jantz, FJ Robinson, PA Kulkarni, KA Doshi
Proceedings of the 2015 ACM SIGPLAN International Conference on Object …, 2015dl.acm.org
Performance and energy efficiency in memory have become critically important for a wide
range of computing domains. However, it is difficult to control and optimize memory power
and performance because these effects depend upon activity across multiple layers of the
vertical execution stack. To address this challenge, we construct a novel and collaborative
framework that employs object placement, cross-layer communication, and page-level
management to effectively distribute application objects in the DRAM hardware to achieve …
Performance and energy efficiency in memory have become critically important for a wide range of computing domains. However, it is difficult to control and optimize memory power and performance because these effects depend upon activity across multiple layers of the vertical execution stack. To address this challenge, we construct a novel and collaborative framework that employs object placement, cross-layer communication, and page-level management to effectively distribute application objects in the DRAM hardware to achieve desired power/performance goals. In this work, we describe the design and implementation of our framework, which is the first to integrate automatic object profiling and analysis at the application layer with fine-grained management of memory hardware resources in the operating system. We demonstrate the utility of our framework by employing it to more effectively control memory power consumption. We design a custom memory-intensive workload to show the potential of our approach. Next, we develop sampling and profiling-based analyses and modify the code generator in the HotSpot VM to understand object usage patterns and automatically determine and control the placement of hot and cold objects in a partitioned VM heap. This information is communicated to the operating system, which uses it to map the logical application pages to the appropriate DRAM ranks according to user-defined provisioning goals. We evaluate our framework and find that it achieves our test goal of significant DRAM energy savings across a variety of workloads, without any source code modifications or recompilations.
ACM Digital Library