ARMS: Adaptive and Robust Memory Tiering System
Memory tiering systems seek cost-effective memory scaling by adding multiple tiers of memory. 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 such as HeMem, Memtis, and TPP use rigid policies with pre-configured thresholds to make data placement and migration decisions. These thresholds make the systems brittle - they fail to perform well in all scenarios. Our analysis of existing systems revealed that incorrect tiering parameters lead to: inaccurate hot page identification, delayed response to hot set changes, and wasteful migrations. Based on this study, we designed ARMS that replaces sensitive parameters with robust policies and mechanisms. We develop a novel hot/cold page identification mechanism that uses relative scoring rather than threshold comparison, a hot set change detector to adapt to workload distribution changes, an adaptive migration policy based on cost/benefit analysis, and a bandwidth-aware batched migration scheduler. Combined, these approaches provide an out-of-the-box performance that matches the best tuned performance of prior systems, while being 1.22-1.85x better than prior systems without tuning.