XRP: In-Kernel Storage Functions with eBPF
XRP: In-Kernel Storage Functions with eBPF
复制标题
DOI:
--
复制
发表时间:
2022
期刊:
影响因子:
--
通讯作者:
Yuhong Zhong;Hao Li;Y. Wu;Ioannis Zarkadas;Jeffrey Tao;Evan Mesterhazy;Michael Makris;Junfeng Yang;Amy Tai;Ryan Stutsman;Asaf Cidon
中科院分区:
文献类型:
--
作者:
Yuhong Zhong;Hao Li;Y. Wu;Ioannis Zarkadas;Jeffrey Tao;Evan Mesterhazy;Michael Makris;Junfeng Yang;Amy Tai;Ryan Stutsman;Asaf Cidon
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.