From Good to Great: Improving Memory Tiering Performance Through Parameter Tuning
By: Konstantinos Kanellis , Sujay Yadalam , Fanchao Chen and more
Potential Business Impact:
Makes computer memory faster by learning what data is used.
Memory tiering systems achieve memory scaling by adding multiple tiers of memory wherein different tiers have different access latencies and bandwidth. For maximum performance, frequently accessed (hot) data must be placed close to the host in faster tiers and infrequently accessed (cold) data can be placed in farther slower memory tiers. Existing tiering solutions employ heuristics and pre-configured thresholds to make data placement and migration decisions. Unfortunately, these systems fail to adapt to different workloads and the underlying hardware, so perform sub-optimally. In this paper, we improve performance of memory tiering by using application behavior knowledge to set various parameters (knobs) in existing tiering systems. To do so, we leverage Bayesian Optimization to discover the good performing configurations that capture the application behavior and the underlying hardware characteristics. We find that Bayesian Optimization is able to learn workload behaviors and set the parameter values that result in good performance. We evaluate this approach with existing tiering systems, HeMem and HMSDK. Our evaluation reveals that configuring the parameter values correctly can improve performance by 2x over the same systems with default configurations and 1.56x over state-of-the-art tiering system.
Similar Papers
ARMS: Adaptive and Robust Memory Tiering System
Operating Systems
Makes computers faster by smartly moving data.
A Limits Study of Memory-side Tiering Telemetry
Operating Systems
Makes computers faster by smarter memory use.
Efficient Memory Tiering in a Virtual Machine
Operating Systems
Saves computer memory by grouping data better.