SKV: A SmartNIC-Offloaded Distributed Key-Value Store
abstract
使用DPU加速Redis的异步复制,提高吞吐14%,降低时延21%。
introduction
由于redis内存读写很快,传统网络协议栈成为性能瓶颈,因此使用RDMA可以降低通信压力。但是使用RDMA只能卸载简单的操作,比如单边read和write远端内存,但是一些复杂的操作还是会消耗大量的主机端CPU资源,比如master需要向所有slave复制set命令。如果slaves很多,那么将会消耗大量的CPU资源。
作者提出,使用SoC smartnic可以降低使用CPU的计算资源,比如Xenic使用DPU卸载分布式事务,LineFS使用DPU加速分布式文件系统复制,但是目前没有分布式KV存储的相关工作,因此作者提出了KVS,使用DPU卸载Redis数据复制和故障检测。因为DPU的核较弱,所以不能卸载整个KVS到DPU,需要考虑适当的部分,本文主要是异步复制和故障检测。