{"title":"eBPF-mm:使用 eBPF 在 Linux 中进行用户空间引导式内存管理","authors":"Konstantinos Mores, Stratos Psomadakis, Georgios Goumas","doi":"arxiv-2409.11220","DOIUrl":null,"url":null,"abstract":"We leverage eBPF in order to implement custom policies in the Linux memory\nsubsystem. Inspired by CBMM, we create a mechanism that provides the kernel\nwith hints regarding the benefit of promoting a page to a specific size. We\nintroduce a new hook point in Linux page fault handling path for eBPF programs,\nproviding them the necessary context to determine the page size to be used. We\nthen develop a framework that allows users to define profiles for their\napplications and load them into the kernel. A profile consists of memory\nregions of interest and their expected benefit from being backed by 4KB, 64KB\nand 2MB pages. In our evaluation, we profiled our workloads to identify hot\nmemory regions using DAMON.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"13 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-09-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"eBPF-mm: Userspace-guided memory management in Linux with eBPF\",\"authors\":\"Konstantinos Mores, Stratos Psomadakis, Georgios Goumas\",\"doi\":\"arxiv-2409.11220\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We leverage eBPF in order to implement custom policies in the Linux memory\\nsubsystem. Inspired by CBMM, we create a mechanism that provides the kernel\\nwith hints regarding the benefit of promoting a page to a specific size. We\\nintroduce a new hook point in Linux page fault handling path for eBPF programs,\\nproviding them the necessary context to determine the page size to be used. We\\nthen develop a framework that allows users to define profiles for their\\napplications and load them into the kernel. A profile consists of memory\\nregions of interest and their expected benefit from being backed by 4KB, 64KB\\nand 2MB pages. In our evaluation, we profiled our workloads to identify hot\\nmemory regions using DAMON.\",\"PeriodicalId\":501333,\"journal\":{\"name\":\"arXiv - CS - Operating Systems\",\"volume\":\"13 1\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-09-17\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"arXiv - CS - Operating Systems\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/arxiv-2409.11220\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2409.11220","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
我们利用 eBPF 在 Linux 内存子系统中实施自定义策略。受 CBMM 的启发,我们创建了一种机制,为内核提供有关将页面提升到特定大小的好处的提示。我们在 Linux 页面故障处理路径中为 eBPF 程序引入了一个新的挂钩点,为它们提供必要的上下文,以确定要使用的页面大小。我们开发了一个框架,允许用户为应用程序定义配置文件,并将其加载到内核中。配置文件包括感兴趣的内存区域,以及它们从 4KB、64KB 和 2MB 页面支持中获得的预期收益。在我们的评估中,我们使用 DAMON 对工作负载进行了剖析,以识别热内存区域。
eBPF-mm: Userspace-guided memory management in Linux with eBPF
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.