🤖 AI Summary
This work addresses the limitations of traditional Linux page cache eviction policies, which rely on fixed heuristics and struggle to adapt to diverse workloads, thereby constraining cache efficiency. The authors propose the first integration of a lightweight single-layer perceptron directly into the kernel’s page cache subsystem, leveraging eBPF to enable low-overhead, real-time intelligent eviction decisions. The model is trained on kernel-level data collected from real-world workloads to predict page reuse times and dynamically select eviction candidates. Experimental results across a range of representative workloads demonstrate that, compared to a FIFO baseline, the approach improves cache hit rates by up to 10% and achieves a median AUC of 80%, confirming the feasibility and superiority of machine learning–driven cache management within the kernel.
📝 Abstract
Linux is the foundation of the digital age, accounting for the majority of the cloud and mobile OS markets. Any device that runs Linux uses the Linux page cache, a central pillar in OS and application performance, serving to reduce extraneous disk access. Many page cache eviction policies have been developed but remain bound by the rigidity of heuristics. The rise of AI-driven tools in recent years, melded with the ever-increasing variety of workloads for Linux devices, sets the stage for machine-learning-driven cache eviction policies. Promising research has been done in this field, but only in the field of user-space applications such as CDNs. We develop LearnedCache, an eBPF-integrated single-layer perceptron-based cache eviction policy for the Linux page cache, trained on real kernel data from diverse workloads. We demonstrate median AUCs of nearly 80% over multiple linear models modeling page reuse time, then take a step further by embedding these models inside the Linux kernel for real-time performance evaluation. Through statistical testing over 50 paired trials against a baseline of FIFO for each workload, LearnedCache reveals that machine-learning-derived cache eviction policies are practical in the Linux kernel under representative empirical workloads and are able to surpass conventional FIFO by statistically significant margins of up to 10% in insertion rate, a frequency-adjusted derivation of cache hit rate, in specific workloads while incurring minimal overhead.