2022
OSDI
OSDI 2022
XRP: In-Kernel Storage Functions with eBPF
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.
Authors
Topics
Keywords
kernel bypass
ebpf hook
linux kernel
log-structured merge tree
key-value store
storage performance
nvme driver
storage stack
storage optimization
storage function
b+ tree
ebpf storage function
nvme storage
ebpf programming
in-kernel execution
ebpf system
ebpf
kernel state propagation
user-defined storage functions
wiredtiger