Towards Flexible, Application-Guided Paging for Far Memory
- Yelam, Anil kumar
- Advisor(s): Snoeren, Alex C
Abstract
DRAM costs in modern data centers are rising rapidly due to increasingdemand and flattening cost per byte from the slowdown in device scaling. Recent efforts to address this problem include extending server DRAM with cost-effective options like compressed memory tiers, NVMe SSDs, and rack-level DRAM pools enabled by fast interconnects like RoCE. However, these far-memory extensions are much slower than local DRAM, causing application slowdown unless data is efficiently managed between local and far memory.
Existing systems support far memory in two ways. OS paging-basedsystems use virtual memory and hardware guards, requiring no application changes but suffering from inflexible kernel memory management policies based on limited page access information. App-integrated systems enable application-aware optimizations with a custom interface but require significant application redesign and/or introduce overhead on local accesses due to software guards. Compiler-guided efforts to automate application redesign are promising but face new challenges, such as requiring source code access for all dependencies and nascent support for various language frontends.
In this dissertation, we argue that paging-based systems can offerpolicy flexibility, including application guidance, without requiring disruptive changes. We present two new systems, PageFlex and Eden, to support this argument. PageFlex externalizes policies to enable general improvements for existing OS-based hyperscale deployments. For application guidance, we show that applications typically access far memory at a few easily identifiable code locations. Eden leverages lightweight hints at these locations to convey application semantics, achieving similar performance as the existing app-integrated systems but with significantly fewer code changes.