XRP: In-Kernel Storage Functions with eBPF

XRP: In-Kernel Storage Functions with eBPF
复制标题

DOI:
--
复制
发表时间:
2022
期刊:
2022 IEEE International Conference on Cluster Computing (CLUSTER)
影响因子:
--
通讯作者:
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
中科院分区:
其他
文献类型:
--
作者:
Yuhong Zhong;Hao Li;Y. Wu;Ioannis Zarkadas;Jeffrey Tao;Evan Mesterhazy;Michael Makris;Junfeng Yang;Amy Tai;Ryan Stutsman;Asaf Cidon

文献摘要

被引文献

相似文献

随着微秒级NVMe存储设备的出现,Linux内核存储堆栈开销变得非常大,访问时间几乎增加了一倍。我们提出了XRP,这是一个框架,允许应用程序从NVMe驱动程序中的eBPF钩子执行用户定义的存储功能,例如索引查找或聚合,安全地绕过内核的大部分存储堆栈。为了保留文件系统语义,XRP将少量内核状态传播到其NVMe驱动程序钩子,在那里调用用户注册的eBPF函数。我们展示了两个键值存储,BPF-KV,一个简单的B +树键值存储,和WiredTiger,一个流行的日志结构合并树存储引擎,可以利用XRP来显着提高吞吐量和延迟。
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.