2026/6/11 10:19:50
网站建设
项目流程
郑州个人做网站汉狮,linux下wordpress建站,wordpress付费查看内容,网站备案核验单清晰转自微信号#xff1a;Ai long cloud在了解RDMA技术之前#xff0c;我们先来了解一下DMA技术#xff0c;一、DMA技术DMA(英文全称#xff1a;Direct Memory Access#xff09;#xff0c;即直接内存访问技术#xff0c;意思是1台计算机主板上的外设#xff08;如网卡、…转自微信号Ai long cloud在了解RDMA技术之前我们先来了解一下DMA技术一、DMA技术DMA(英文全称Direct Memory Access即直接内存访问技术意思是1台计算机主板上的外设如网卡、硬盘、I/O等设备对内存的数据读写过程可以不用CPU参与而直接进行不需要绕过CPU。无DMA控制器时数据经CPU访问模式如上图假设I/O设备为一个普通网卡为了从内存拿到需要发送的数据然后组装数据包发送到物理链路上网卡需要通过总线告知CPU自己的数据请求。然后CPU将会把内存缓冲区中的数据复制到自己内部的寄存器中再复制到I/O设备的存储空间中。如果数据量比较大那么很长一段时间内CPU都会忙于搬移数据而无法投入到其他工作中去。CPU的最主要工作是计算是一台计算机的“大脑”而不是用来专门进行数据复制或传输的这种工作属于白白浪费了它的计算能力。为了给CPU“减负”让它投入到更有意义的工作中去后来人们设计了DMA机制和技术即在总线上挂载一个DMA控制器专门用来读写内存的设备。有DMA控制器时内存直接访问模式有了它以后当我们的网卡想要从内存中拷贝数据时除了一些必要的控制命令需要通过CPU参与外整个数据传输过程都是由DMA控制器来完成的。CPU除了关注一下这个过程的开始和结束以外其他时间可以去做其他的事情释放出CPU很多的资源。经过技术不断迭代和发展DMA控制器一般都是和I/O设备集成在一起了也就是说一块DMA网卡中既有负责数据收发的模块也有DMA模块。二、RDMA技术RDMA英文全称Remote Direct Memory Access意思是“远程直接内存访问”是一种高效的网络通信协议它允许一台计算机的内存直接访问另外一台计算机的内存而无需经过操作系统内核即CPU的介入。从而“解放”CPU的工作压力来提高数据传输速率减少时延提高整体计算性能的作用如下图的绿色链路。我们这边重点要理解远程即两台或以上的计算机内存访问。为了更加清晰的理解RDMA技术以及它的优势之处我们先来了解一下非RDMA技术的传输方式即传统的网络访问方式请看下面两个图传统网络中A计算机给B计算机发送数据实际上需要做的是”把A计算机内存中的一段数据通过网络链路搬移到B计算机的内存中”而这一过程无论是发送端还是接收端数据都是需要经过CPU包括CPU对网卡的控制中断的处理报文的封装和解析等等。而引入RDMA技术之后呢数据就可以绕开CPU通过RDMA网卡直接进行内存访问从而大大提高了数据的传输速率和减少了时延。同时也大大的释放了CPU的工作负载和”压力”提升了计算的工作效率。如下图所示计算机的CPU除了在建立连接、注册调用、控制管理等之外在整个RDMA数据传输过程中并不提供服务因此没有给系统带来任何的“负载”相反还能释放出较多空闲时间可以处理很多额外的CPU计算工作。三、RDMA技术优缺点尽管RDMA的技术有很多的优点但是也存在一些缺点。因此需要根据我们实际的应用场景去选择他的技术应用。四、RDMA的三种网络协议RDMA本身指的是一种技术具体到协议层面包括InfiniBandIB、RDMA over Converged EthernetRoCE和Internet Wide Area RDMA ProtocoliWARP三种协议。它们各有优缺点适用于不同的应用场景。对比如下InfinibandIBInfiniBand直译为“无限带宽”技术缩写为IB是一个用于高性能计算的计算机网络通信标准它具有极高的吞吐量和极低的延迟用于计算机与计算机之间的数据互连是一种RDMA原生的网络协议。InfiniBand也用作服务器与存储系统之间的直接或交换互连以及存储系统之间的互连。IB网络需要通过专用硬件才能实现最优的性能但是由于专用硬件的原因即Infiniband要求从L2到L4到需要自己的专用硬件设备成本非常高现在做InfiniBand网络的厂商主要就是Mellanox为以色列一家芯片制造商现已被英伟达收购。ROCEROCE基于以太网链路层的协议v1版本网络层仍然使用了IB规范而v2使用了UDPIP作为网络层和传输层使得数据包也可以被路由。RoCE可以被认为是IB的“低成本解决方案”将IB的报文封装成以太网包进行收发。由于RoCE v2可以使用以太网的交换设备所以现在在企业中应用也比较多但是相同场景下相比IB性能要有一些损失。iWARPiWARP基于TCP/IP协议的RDMA技术由IETF标准定义。iWARP支持在标准以太网基础设施上使用RDMA技术而不需要交换机支持无损以太网传输。因为TCP是面向连接的可靠协议这使得iWARP在面对有损网络场景可以理解为网络环境中可能经常出现丢包时相比于RoCE v2和IB具有更好的可靠性在大规模组网时也有明显的优势。但是大量的TCP连接会耗费很多的内存资源另外TCP复杂的流控等机制会导致性能问题所以从性能上看iWARP要比UDP的RoCE v2和IB差。