ISCA ’23, June 17–21, 2023, Orlando, FL, USA. BEST PAPER AWARD!
Kaiyang Zhao, Kaiwen Xue, Ziqi Wang, Dan Schatzberg*, Leon Yang*, Antonis Manousis*, Johannes Weiner*, Rik van Riel*, Bikash Sharma*, Chunqiang Tang*, Dimitrios Skarlatos
Carnegie Mellon University
*Meta Platforms, Inc.
The unabating growth of the memory needs of emerging datacenter applications has exacerbated the scalability bottleneck of virtual memory. However, reducing the excessive overhead of address translation will remain onerous until the physical memory contiguity predicament gets resolved. To address this problem, this paper presents Contiguitas, a novel redesign of memory management in the operating system and hardware that provides ample physical memory contiguity. We identify that the primary cause of memory fragmentation in Meta’s datacenters is unmovable allocations scattered across the address space that impede large contiguity from being formed. To provide ample physical memory contiguity by design, Contiguitas first separates regular movable allocations from unmovable ones by placing them into two different continuous regions in physical memory and dynamically adjusts the boundary of the two regions based on memory demand. Drastically reducing unmovable allocations is challenging because the majority of unmovable pages cannot be moved with software alone given that access to the page cannot be blocked for a migration to take place. Furthermore, page migration is expensive as it requires a long downtime to (a) perform TLB shootdowns that scale poorly with the number of victim TLBs, and (b) copy the page. To this end, Contiguitas eliminates the primary source of unmovable allocations by introducing hardware extensions in the last-level cache to enable the transparent and efficient migration of unmovable pages even while the pages remain in use.
KEYWORDS: Datacenters; Operating Systems; Memory Management; Virtual Memory
FULL PAPER: pdf