Regional Policies for Memory Tiering Systems
Abstract
State-of-the-art memory tiering systems adapt to the access pattern of a workload over time. However, workloads may exhibit multiple unique access patterns simultaneously. As a result, behavioral assumptions governing tiering decisions may not hold across the entire address space of the program. Two pages from distinct access patterns may appear identical to the tiering policy, but require different tiering decisions. We introduce REGENT (REGional mEmory tieriNg conTroller), a memory tiering controller that partitions a program's virtual address space into regions and runs an independent instance of a tiering policy over each one. REGENT discovers these regions automatically at runtime from observed access patterns, without application hints or kernel modification, and divides fast-tier capacity among the resulting regional policies. REGENT is a starting point for an alternative axis of tiering system design: adapting over the address space with per-region policies, rather than over time alone with one global policy. On a microbenchmark combining two simultaneous access patterns, we find that partitioning alone, with every region running the same simple frequency heuristic, is enough to match the performance of a state-of-the-art tiering policy and to exceed it under high fast-tier pressure.