ScaleSwap: A Scalable OS Swap System for All-Flash Swap Arrays
summary
Implements a Linux-kernel swap redesign that assigns per-core swap regions and metadata, adds one-to-one swap model for local allocation, and uses opportunistic inter-core delegation for remote metadata without serializing IO. Adds per-core LRU with a CPU ID in page flags for core-affinity LRU so pages return to their owner. Evaluated on a 128-core machine with eight NVMe SSDs, shows up to 3.4× throughput, 11.5× lower average latency, and up to 64% and 5× gains over TMO and ExtMEM.
AI-written summary · about
chapters (12)
- 0:00ScaleSwap project intro
- 0:40Motivation for scalable swap
- 1:45Linux page eviction and swap
- 4:21Bottlenecks in Linux swap
- 5:25ScaleSwap core-centric design
- 6:52Local swap resource management
- 7:35Delegation for remote swap
- 8:57Core affinity page and LRU
- 9:40Evaluation setup and microbenchmarks
- 10:42Real-world performance gains
- 11:25Apache Spark comparison
- 12:52Conclusion and release
related talks
20mZNSwap: un-Block your Swap
31mEnhancing Scalability of the Vmalloc Mechanism in the Linux Kernel
31mHigh Density VMs in OpenShift: The Journey to Native K8s Swap
21mPreview: Operating Systems
14mPer-cgroup Swap Device Control
15mRearchitecting Linux Storage Stack for µs Latency and High Throughput
43mLive in a world with multiple memory types
14mZNS+: Advanced Zoned Namespace Interface for Supporting In-Storage Zone Compaction
