各式各样的数据在网络介质中通过网络协议(如TCP/IP)进行传输时,如果信息量过大而不加以限制的话,那么超额的网络流量就会导致设备反应缓慢,由此就造成了网络延迟。
延迟越低越好,效率越高越好,这不仅仅是数据中心网络的要求,我们平常使用的内部网络同样也希望如此。当前的网络速度有万兆、2.5万兆、4万兆,甚至10万兆、20万兆……的趋势都已经来了,网络带宽似乎已经不是主要的瓶颈了,而服务器系统和CPU本身逐步转为了制约网络I/O的瓶颈,影响服务器的整体性能。
1. 如何解决问题?
解决问题的基本思路就是:通过应用程序直接读取和写入远程内存,而无需CPU介入进行多次拷贝内存,还可绕过内核直接向网卡写数据,实现了高吞吐量、超低时延和低CPU开销的效果。
实现这样功能的技术就是RDMA(Remote Direct Memory Access)技术,也就把RDMA【远程直接数据存取】技术运用到了网卡控制器上。
那么具有RDMA功能的网卡和不具有RDMA网卡的有什么不同呢?
首先不具备RDMA功能的网卡的传输路径过程是:应用程序--->系统--->内存--->CPU--->内存--->硬盘---->内存--->网卡。
而具有RDMA功能的网卡,在进行数据传输时候,网卡绕过CPU来实现服务器间的内存数据交换:应用程序--->内存--->硬盘---->内存--->网卡。大大地简化了过程,传输效率有了明显的提升。
(绿色表示RDMA的工作路径,橙色表示不具有RDMA功能的工作路径)
RDMA作为一种硬件实现的网络传输技术,可以大幅提升网络传输实效,帮助网络IO密集的业务(比如分布式存储、分布式数据库等)获得更低的时延以及更高的吞吐。
目前市场上能够支持RDMA功能的网卡产品并不普及,如我们熟知的Intel网卡,也只在X722-da2/da4上加入了单一的iWARP功能。
而由深圳市联瑞电子有限公司推出的三款国产万兆光纤网卡:联瑞LRES1004PF-2SFP+、联瑞LRES1005PF-4SFP+、联瑞LRES1009PF-SFP+均具有RoCE和iWARP的RDMA功能,同时成为国内首批具有RDMA功能的国产网卡之一。接下来还会有25G的支持RDMA的光纤网卡上市,我们拭目以待。
2. RDMA的应用
(1)在服务器群集上应用
RDMA用来把小型服务器连接为一个群集;可以处理一些十几颗处理器的高端服务器才能够处理的大型数据库。
(2)在高速集群和服务器区域网上应用
采用RDMA来获取高性能的协议,包括SDP(Sockets Direct Protocol)、SRP(SCSI RDMA Protocol)和DAFS(Direct Access File System);
(3)在分布式应用程序的集群上应用
采用RDMA的通信库,包括DAPL(Direct Access Provider Library)、MPI(Message Passing Interface)和VIPL(Virtual Interface Provider Library),运行在分布式应用程序的集群是RDMA 能够大显身手的领域之一;
通过DAPL或VIPL以及集群上运行的数据库软件来使用RDMA,可在相同的节点数目下获得更高的性能和更好的延展性。使用MPI的集群科技运算应用程序,通过支持互连RDMA 实现了低延迟时间低开销和高吞吐量,这一结果也使它获得了巨大的性能提升其他初期的RDMA 应用;
iWARP/RDMA这类技术是通过DAFS的远程文件服务器访问、通过SRP的存储设备访问RDMA技术成为高速集群系统和存储域网络的基本特征技术。
还有用于RDMA的iSCSI扩展的iSER,充分利用了RDMA的功能。
RDMA的其他早期应用还有通过DAFS的远程文件服务器访问和通过SRP的刀片服务器存储访问。
(4)在NAS和SAN上应用
传统的直连存储DAS是以服务器为中心的存储结构,这一存储体系结构存在容量限制、连接距离有限、不易于共享和管理等不可克服的缺点。已经不能够满足网络时代的应用需求,
存储技术发生巨大变化出现了,出现了如:网络附加存储NAS、存储区域网络SAN。这些既能为网络上的应用系统提供丰富快速简便的存储资源,又能共享存储资源并对其实施集中管理,成为当前理想的存储管理和应用模式,
但NAS结构存在一些难以解决的问题如:传输能力有限、可扩展性有限、数据备份能力有限、并且不能对数据库服务提供有效的支持。
DAFS把RDMA的优点和NAS的存储能力集成在一起,全部的读写操作都直接通过RDMA驱动器执行,从而降低了网络文件协议所带来的系统负载,今后的NAS存储系统将会采用DAFS技术来提高系统性能,并且在性能和价格上与SAN 存储系统进行有力的竞争。
(5)在高性能数据中心上应用
数据中心、AI训练、云存储等