Skip to content

JayAndJef/cache_ext_lc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

270 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LearnedCache: A Novel eBPF-Driven Neural Model for Page Cache Eviction in the Linux Kernel

I'm looking for an endorser to help preprint LearnedCache onto arXiv - if you or anyone you know is able to, please reach out at zejiaqi [at] uw [dot] edu.

This repository contains the tracers and policies for LearnedCache. The developed FIFO policies can be found in /policies, and harnesses can be found in /lc-bench and /lc-eval. This repository is a modified fork of the source code and scripts for cache_ext, the framework used for implementation. If using cache_ext, please cite the reference below.

Getting Started

This section is adapted from the cache_ext repository.

First, clone the repo and initialize the submodules:

cd /mydata
git clone https://github.com/JayAndJef/cache_ext_lc.git
cd cache_ext_lc
git submodule update --init --recursive

Next, you must compile and install the custom Linux kernel:

./install_kernel.sh

This will also set up libbpf and bpftool.

After the kernel is compiled and installed, you will be prompted to reboot into cache_ext kernel:

sudo grub-reboot "Advanced options for Ubuntu>Ubuntu, with Linux 6.6.8-cache-ext+"
sudo reboot now

Then, the scripts located in /lc-eval can be used to run the modified policies.

Citation

If using cache_ext, please include the following citation:

@inproceedings{cacheext,
author = {Zussman, Tal and Zarkadas, Ioannis and Carin, Jeremy and Cheng, Andrew and Franke, Hubertus and Pfefferle, Jonas and Cidon, Asaf},
title = {cache_ext: Customizing the Page Cache with eBPF},
year = {2025},
isbn = {9798400718700},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3731569.3764820},
doi = {10.1145/3731569.3764820},
pages = {462–478},
numpages = {17},
keywords = {operating systems, eBPF, page cache},
location = {Lotte Hotel World, Seoul, Republic of Korea},
series = {SOSP '25}
}

About

LearnedCache is a proof-of-concept ML-based page cache eviction policy, built upon cache_ext.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors