Skipswap: High Performance Far Memory Data Path via Managed Runtime-Aware Page Management
-
-
Abstract
Managed languages, such as Java, Python, and Scala, are widely adopted in big data applications due to their enhanced development efficiency and security through automatic memory management via garbage collection (GC). With the rapid deployment of disaggregated memory architectures in data centers, existing operating system memory management systems have been iteratively updated, such as extending existing kernel paging systems to support data movement between local and remote memory in disaggregated memory architectures. However, analysis reveals that existing GC mechanisms in managed languages introduce a series of performance issues to the underlying disaggregated memory system, causing significant performance degradation for applications. This is because a program semantics gap exists between the managed language's GC mechanism and the operating system's disaggregated memory system, resulting in up to 50.0% (34.5% on average) of useless data moving between local and remote memory.
To address this issue, this paper introduces Skipswap, a disaggregated memory data path developed for managed languages. Skipswap, through a managed runtime-kernel co-design, utilizes the garbage collection process in the managed runtime to identify idle pages, and accurately communicates idle page status to the kernel as a bitmap in shared memory. This enables the kernel to directly reclaim idle pages under memory pressure and avoid unnecessary page-outs, thereby bridging the semantic gap and achieving efficient runtime-kernel semantic communication. We implemented Skipswap in the Generational Shenandoah and G1 garbage collectors and the Fastswap disaggregated memory page swapping system. Our evaluation demonstrates that, compared to the unmodified system, Skipswap improves throughput by 12.9% on average and reduces CPU resource consumption and RDMA network bandwidth overhead by 17.6% and 27.4% on average, respectively, compared to the unmodified system.
-
-