Rock: A framework for pruning the design space of hybrid main memory systems
Paper in proceedings, 2017
Combining DRAM and a denser but slower technology into hybrid main memory is a promising way to address the demand for larger and still fast memory, driven by the growing working sets of contemporary workloads. The design space of such hybrid memory systems is multi-dimensional and large. Since simulating and/or prototyping each design point implies high computation and/or implementation efforts, these approaches alone are inefficient for finding the design point with the highest performance. This paper introduces Rock, a generalized framework for pruning the design space of hybrid memory systems. It is the first framework to mutually consider such important design dimensions as resource partitioning (the amount of each memory technology), resource allocation (distribution of the available memory capacity among co-running programs), and data placement (decisions about data promotions and demotions). Rock helps system architects to quickly infer trends, specific to the design space, and to validate them via sensitivity analysis. Trends that pass validation can be used for design-space pruning. Rock thus helps system architects to timely identify the most promising design points. This paper demonstrates the power of Rock by applying it to two design spaces formed by two carefully chosen example workloads and a system employing DRAM, phase-change memory, and solid-state disk. Rock prunes these design spaces to just a few design points.
Hybrid main memory