Hybrid Adaptive Tuning for Tiered Memory Systems
For system software developers and users of tiered memory systems, PTMT provides a practical solution to the critical problem of parameter tuning, which significantly impacts application performance.
The paper introduces PTMT, a framework that automates runtime tuning of system parameters for memory tiering solutions, achieving performance improvements of 30%, 26%, 21%, and 14% over default configurations on four solutions, and outperforming the state-of-the-art by 32% on average.
Memory tiering provides a cost-effective solution to increase memory capacity, utilization, and even bandwidth. Memory tiering relies on system software for memory profiling, detection of frequently accessed pages, and page migration. Such a system software often comes with system parameters. The configurations of those parameters impact application performance. We comprehensively classify system parameters, and characterize the sensitivity of application performance to them using representative memory tiering solutions. Furthermore, we introduce a lightweight and user-friendly framework PTMT, which automates tuning of parameters at runtime for various memory tiering solutions. We identify major challenges for online tuning of memory tiering. PTMT uses a hybrid "offline + online" tuning method: while the offline phase builds a performance database for online queries and reduces runtime overhead, the online phase uses reinforcement learning (customized to memory tiering) to tune. PTMT improves performance by 30%, 26%, 21%, and 14%, on four memory tiering solutions (TPP, UPM, Colloid, and AutoNUMA), compared to using the default configurations. PTMT outperforms the state-of-the-art by 32% on average.