The development of high-speed storage devices such as NVMe SSDs has shifted the primary I/O bottleneck from hardware to software. Modern database systems also rely on kernel-based I/O paths, where frequent system call invocations and kernel-user space transitions lead to relatively large overheads and performance degradation. This issue is particularly pronounced in Log-Structured Merge-tree (LSM-tree)-based NoSQL databases. We identified that, in particular, the background compaction process generates a large number of read system calls, causing significant overhead. To address this problem, we propose RESYSTANCE, which leverages eBPF and io_uring to free compaction from system calls and unlock hidden performance potential. RESYSTANCE improves disk I/O efficiency during read operations via io uring and significantly reduces software stack overhead by handling compaction directly inside the kernel through eBPF. Moreover, RESYSTANCE minimizes user-kernel transitions by offloading key I/O routines into the kernel without modifying the LSM-tree structure or compaction algorithm. RESYSTANCE was extensively evaluated using db_bench, YCSB, and OLTP workloads. Compared to baseline RocksDB, it reduced the average number of system call invocations during compaction by 99% and shortened compaction time by 50%. Consequently, in write-intensive workloads, RESYSTANCE improved throughput by up to 75% and reduced the p99 latency by 40%.


翻译:随着NVMe SSD等高速存储设备的发展,I/O瓶颈已从硬件转向软件。现代数据库系统同样依赖基于内核的I/O路径,频繁的系统调用和内核-用户空间切换导致较大的开销和性能下降。这一问题在基于日志结构合并树(LSM-tree)的NoSQL数据库中尤为突出。我们发现,后台压缩过程会产生大量读系统调用,造成显著开销。为解决此问题,我们提出RESYSTANCE,它利用eBPF和io_uring将压缩过程从系统调用中解放出来,释放隐藏的性能潜力。RESYSTANCE通过io_uring提升读操作期间的磁盘I/O效率,并借助eBPF在内核中直接处理压缩,显著降低软件栈开销。此外,RESYSTANCE通过将关键I/O例程卸载到内核中执行,最大限度地减少了用户-内核切换,且无需修改LSM树结构或压缩算法。我们使用db_bench、YCSB和OLTP工作负载对RESYSTANCE进行了全面评估。与基准RocksDB相比,它将压缩期间的平均系统调用次数降低了99%,压缩时间缩短了50%。因此,在写密集型工作负载中,RESYSTANCE将吞吐量最高提升75%,并将p99延迟降低40%。

0
下载
关闭预览

相关内容

TransMLA:多头潜在注意力(MLA)即为所需
专知会员服务
23+阅读 · 2025年2月13日
专知会员服务
16+阅读 · 2020年7月27日
基于MySQL Binlog的Elasticsearch数据同步实践
DBAplus社群
15+阅读 · 2019年9月3日
谷歌EfficientNet缩放模型,PyTorch实现登热榜
机器学习算法与Python学习
11+阅读 · 2019年6月4日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
使用 Canal 实现数据异构
性能与架构
20+阅读 · 2019年3月4日
【干货分享】AIOps之根因分析
腾讯大讲堂
11+阅读 · 2018年4月10日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
VIP会员
最新内容
BES:让语言模型通过双向进化搜索自我改进
专知会员服务
2+阅读 · 5月30日
以色列-美国-伊朗战争中的无人机:关键要点
专知会员服务
4+阅读 · 5月30日
《Palantir任务保障性软件安全标准(MA-S2)》
专知会员服务
9+阅读 · 5月30日
基于声学的无人机检测技术综述
专知会员服务
6+阅读 · 5月30日
《当代混合战争分析框架:俄乌战争经验教训》
战略前沿人工智能的再思考(中文)
专知会员服务
8+阅读 · 5月29日
《量化地基防空系统间接效应的博弈论方法》
专知会员服务
6+阅读 · 5月29日
相关资讯
基于MySQL Binlog的Elasticsearch数据同步实践
DBAplus社群
15+阅读 · 2019年9月3日
谷歌EfficientNet缩放模型,PyTorch实现登热榜
机器学习算法与Python学习
11+阅读 · 2019年6月4日
工行基于MySQL构建分布式架构的转型之路
炼数成金订阅号
15+阅读 · 2019年5月16日
使用 Canal 实现数据异构
性能与架构
20+阅读 · 2019年3月4日
【干货分享】AIOps之根因分析
腾讯大讲堂
11+阅读 · 2018年4月10日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员