cache_ext: Customizing the Page Cache with eBPF
Tal Zussman, Ioannis Zarkadas, Jeremy Carin, Andrew Cheng, Hubertus Franke, Jonas Pfefferle, Asaf Cidon
Abstract
The OS page cache is central to the performance of many applications, by reducing excessive accesses to storage. However, its one-size-fits-all eviction policy performs poorly in many workloads. While the systems community has experimented with a plethora of new and adaptive eviction policies in non-OS settings (e.g., key-value stores, CDNs), it is very difficult to implement such policies in the page cache, due to the complexity of modifying kernel code. To address these shortcomings, we design a flexible eBPF-based framework for the Linux page cache, called cache_ext, that allows developers to customize the page cache without modifying the kernel. cache_ext enables applications to customize the page cache policy for their specific needs, while also ensuring that different applications' policies do not interfere with each other and preserving the page cache's ability to share memory across different processes. We demonstrate the flexibility of cache_ext's interface by using it to implement eight different policies, including sophisticated eviction algorithms. Our evaluation shows that it is indeed beneficial for applications to customize the page cache to match their workloads' unique properties, and that they can achieve up to 70% higher throughput and 58% lower tail latency.
Ask about this paper
Ask your agent about it.
Lune has read the top-tier papers around this one, so every answer names the papers it rests on.
Your agent calls
Lunesearch_papers
Free to start. No credit card required.
Terminal
Install the CLIlune papers get ad9ea662-9402-4ec3-8195-695ed5ee084cCited by top-tier papers5
- uCache: A Customizable Unikernel-based IO CacheIlya Meignan-Masson, Masanori Misono, Viktor Leis, Pramod BhatotiaFAST 2026 · 1 citation
- Accelerating Model Loading in LLM Inference by Programmable Page CacheYubo Liu, Hongbo Li, Xiaojia Huang, Yongfeng Wang et al.FAST 2026
- Resystance: Unleashing Hidden Performance of Compaction in LSM-Trees Via eBPFHongsu Byun, Seungjae Lee, Honghyeon Yoo, Myoungjoon Kim et al.ICDE 2026
- Virtualizing eBPF with Late-BindingJing Zhang, Xiaguannan Song, Dong Du, Yubin Xia et al.OSDI 2026
- PeeR: First-Class Scheduling for Latency-Critical eBPF ApplicationsJeremy Carin, Ben Holmes, Weiyang Wang, Ankit Bhardwaj et al.OSDI 2026
Related papers
- FetchBPF: Customizable Prefetching Policies in Linux with eBPFXuechun Cao, Shaurya Patel, Soo-Yee Lim, Xueyuan Han et al.USENIX ATC 2024 · 24 citations
- PageFlex: Flexible and Efficient User-space Delegation of Linux Paging Policies with eBPFAnil Yelam, Kan Wu, Zhiyuan Guo, Suli Yang et al.USENIX ATC 2025 · 15 citations
- BMC: Accelerating Memcached using Safe In-kernel Caching and Pre-stack ProcessingYoann Ghigoff, Julien Sopena, Kahina Lazri, Antoine Blin et al.NSDI 2021 · 79 citations
- ExtMem: Enabling Application-Aware Virtual Memory Management for Data-Intensive ApplicationsSepehr Jalalian, Shaurya Patel, Milad Rezaei Hajidehi, Margo I. Seltzer et al.USENIX ATC 2024 · 12 citations
- Fast Software Cache Design for Network AppliancesDong Zhou, Huacheng Yu, Michael Kaminsky, David G. AndersenUSENIX ATC 2020 · 4 citations
