Tidying Up the Address Space
Vinay Banakar, Suli Yang, Kan Wu, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Kimberly Keeton
TL;DR
The paper addresses memory tiering inefficiencies caused by hotness fragmentation, where hot and cold objects share pages and hinder reclaimability. It introduces address-space engineering and the HADES frontend to dynamically reorganize object placement by access intensity, decoupling it from page-level reclamation and enabling unmodified backends to reclaim memory more aggressively. Through evaluation on ten pointer-based data structures, HADES demonstrates up to 70% memory reduction with only 3–5% performance overhead, validating a practical approach to improve memory tiering without OS or backend changes. The work highlights the resulting improvements in CPU efficiency and reduced server footprint, offering a viable path for more cost-effective and environmentally sustainable datacenters.
Abstract
Memory tiering in datacenters does not achieve its full potential due to hotness fragmentation -- the intermingling of hot and cold objects within memory pages. This fragmentation prevents page-based reclamation systems from distinguishing truly hot pages from pages containing mostly cold objects, fundamentally limiting memory efficiency despite highly skewed accesses. We introduce address-space engineering: dynamically reorganizing application virtual address spaces to create uniformly hot and cold regions that any page-level tiering backend can manage effectively. HADES demonstrates this frontend/backend approach through a compiler-runtime system that tracks and migrates objects based on access patterns, requiring minimal developer intervention. Evaluations across ten data structures achieve up to 70% memory reduction with 3% performance overhead, showing that address space engineering enables existing reclamation systems to reclaim memory aggressively without performance degradation.
