- 分享人:QiZhiHuang
- Keywords: RDMA, Distributed system, Shared memory
- 分享PPT: 2022-06-24-基于RDMA的分布式系统研究介绍
RDMA提供的高带宽、低时延、内核旁路、零拷贝特性降低了分布式系统中节点间通信和节点内通信的差异,一方面,它在某种程度上缓解、甚至解除了通信瓶颈,另一方面,它可以使得一些原来受限于网络速度无法实现的设想得以实现。
从各方面简单介绍一下RDMA:
① WQ(工作队列):RDMA器件接收软件请求的队列,接收工作队列和发送工作队列称为一个队列对(QP),QP是RDMA连接的实际端点。
②RDMA通信模式分为RC、UC、UD,三种协议的可靠性依次下降,执行效率依次升高。
③RDMA原语分为单边原语和双边原语,双边通信相对简单但是效率低,单边通信相对复杂但是效率高。
④RDMA的协议实现有三种Infiniband、RoCE、iWarp,其中RoCE又分为v1和v2两种。
研究方向 | 研究内容 |
---|---|
原语使用 | 探寻RDMA的最优使用方法:单、双边原语的选择,原语使用方法优化等; |
架构设计 | 引入RDMA后的分布式系统架构探讨——共享内存、存算分离等; |
网络相关算法重构 | 利用RDMA对网络传输的改善来提高系统性能。主题包括重写分布式事务的并发控制算法(包括可串行化的两阶段锁、乐观并发控制,和快照隔离级别等),重写分布式副本同步算法以实现高可用等; |
非网络相关算法的重构 | 由于RDMA转移了网络瓶颈,需要重新设计其他部分的相关算法,比如数据分区算法的重写等; |
多种新硬件结合 | 将RDMA和其他新硬件,如非易失存储器(Non-Volatile Memory,简称NVM)等。而新硬件的结合实际上又可分为以上四个方面的研究。 |
这个主题介绍了两篇论文,第一篇论文[2]实现了一个基于RDMA的kv存储,第二篇论文[1]在前一篇论文的基础上从原语优化角度做了一些工作。
这个主题介绍了Nova-LSM[5],其主要思想是存算分离,将基于LSM-Tree的分布式KV 存储系统,分解为使用RDMA进行通信的组件,这些组件将存储与处理分开,使得相关处理组件之间能够共享存储带宽和空间。
[1] PRISM: Rethinking the RDMA Interface for Distributed Systems
[2] Using One-Sided RDMA Reads to Build a Fast, CPU-Efficient Key-Value Store
[3] Low-Latency Communication for Fast DBMS Using RDMA and Shared Memory
[4] Orion: A Distributed File System for Non-Volatile Main Memories and RDMA-Capable Networks
[5] Nova-LSM: A Distributed, Component-based LSM-tree Key-value Store
- 使用RDMA通信的两端如何获知其所需数据的位置?
在运行时,服务器会向网卡注册待开放的内存区域,客户机在第一次建立到服务器的连接时获得这些内存区域的相应注册键(以及其他关键信息)。随后,客户端可以通过指定内存的注册键和偏移量,向这些区域中的任何内存地址发出RDMA请求。