Abstract
With the emergence of microsecond-scale NVMe storage devices, the Linux kernel storage stack overhead has become significant, almost doubling access times. We present XRP, a framework that allows applications to execute user-defined storage functions, such as index lookups or aggregations, from an eBPF hook in the NVMe driver, safely bypassing most of the kernel’s storage stack. To preserve file system semantics, XRP propagates a small amount of kernel state to its NVMe driver hook where the user-registered eBPF functions are called. We show how two key-value stores, BPF-KV, a simple B+-tree key-value store, and WiredTiger, a popular log-structured merge tree storage engine, can leverage XRP to significantly improve throughput and latency.
Resources
Recognition
Coverage
- Columbia Electrical Engineering Prof Asaf Cidon and Team Receive Jay Lepreau Best Paper Award at 16th USENIX Symposium on Operating Systems Design and Implementation
- Columbia Computer Science Software Systems Laboratory Wins Best Paper Award at OSDI 2022
- HeapDump XRP:用eBPF优化内存存储功能
- Hacker News XRP: In-Kernel Storage Functions with eBPF
- BBSakura Networks eBPF の個人的おもしろトピック