eBPF-mm: Userspace-guided memory management in Linux with eBPF
Konstantinos Mores, Stratos Psomadakis, Georgios Goumas

TL;DR
This paper presents eBPF-mm, a Linux memory management framework that uses eBPF to enable user-defined policies for page size promotion, improving memory handling based on application profiles.
Contribution
It introduces a new kernel hook point for eBPF programs during page faults and a profiling framework for application-specific memory region optimization.
Findings
Enhanced control over page size promotion using eBPF
Profiles effectively identify hot memory regions for optimization
Framework improves memory management flexibility in Linux
Abstract
We leverage eBPF in order to implement custom policies in the Linux memory subsystem. Inspired by CBMM, we create a mechanism that provides the kernel with hints regarding the benefit of promoting a page to a specific size. We introduce a new hook point in Linux page fault handling path for eBPF programs, providing them the necessary context to determine the page size to be used. We then develop a framework that allows users to define profiles for their applications and load them into the kernel. A profile consists of memory regions of interest and their expected benefit from being backed by 4KB, 64KB and 2MB pages. In our evaluation, we profiled our workloads to identify hot memory regions using DAMON.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Advanced Data Storage Technologies · Business Process Modeling and Analysis
