详谈RDMA技术原理和三种实现方式

​导读:远程直接内存访问(即RDMA)是一种直接内存访问技术,它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。RDMA最早在Infiniband传输网络上实现,后来业界厂家把RDMA移植到传统Ethernet以太网上,降低了RDMA的使用成本,推动RDMA技术普及。

然而,在Ethernet以太网上,根据协议栈融合度的差异,分为iWARP和RoCE两种技术,而RoCE又包括RoCEv1和RoCEv2两个版本(RoCEv2的最大改进是支持IP路由)。

随着高性能计算、大数据分析、人工智能以及物联网等技术的飞速发展,集中式存储、分布式存储以及云数据库的普及等原因,业务应用有越来越多的数据需要从网络中获取,这对数据中心网络的交换速度和性能要求越来越高。

传统的 TCP/IP 软硬件架构及应用存在着网络传输和数据处理的延迟过大、存在多次数据拷贝和中断处理、复杂的 TCP/IP 协议处理等问题。RDMA(Remote Direct Memory Access,远程直接内存访问)是一种为了解决网络传输中服务器端数据处理延迟而产生的技术。

RDMA 将用户应用中的数据直接传入服务器的存储区,通过网络将数据从一个系统快速传输到远程系统的存储器中,消除了传输过程中多次数据复制和文本交换的操作,降低了 CPU 的负载。RDMA技术的原理及其与TCP/IP架构的对比如下图所示。

​RDMA 技术实现了在网络传输过程中两个节点之间数据缓冲区数据的直接传递,在本节点可以直接将数据通过网络传送到远程节点的内存中,绕过操作系统内的多次内存拷贝,相比于传统的网络传输,RDMA 无需操作系统和 TCP/IP 协议的介入,可以轻易的实现超低延时的数据处理、超高吞吐量传输,不需要远程节点 CPU 等资源的介入,不必因为数据的处理和迁移耗费过多的资源。

RDMA 技术主要包括:

IB(InfiniBand):基于 InfiniBand 架构的 RDMA 技术,由 IBTA(InfiniBand Trade Association)提出。搭建基于 IB 技术的 RDMA 网络需要专用的 IB 网卡和 IB 交换机。

iWARP(Internet Wide Area RDMA Protocal):基于 TCP/IP 协议的 RDMA 技术,由 IETF 标 准定义。iWARP 支持在标准以太网基础设施上使用 RDMA 技术,但服务器需要使用支持iWARP 的网卡。

RoCE(RDMA over Converged Ethernet):基于以太网的 RDMA 技术,也是由 IBTA 提出。RoCE支持在标准以太网基础设施上使用RDMA技术,但是需要交换机支持无损以太网传输,需要服务器使用 RoCE 网卡。

【文章福利】另外小编还整

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: RDMA(Remote Direct Memory Access)是一种数据传输技术,它允许在网络中直接访问远程主机的内存,而无需经过CPU的干预。RDMA原理技术实现主要包括以下几个方面。 首先,RDMA利用物理网卡的功能来实现直接内存访问。传统的网络数据传输方式中,数据需要从发送端通过CPU拷贝到发送端网卡的发送缓冲区,然后发送到接收端,再通过接收端网卡进入接收缓冲区,最后再通过CPU从接收缓冲区拷贝到接收端的内存中。而RDMA技术通过使网卡可以直接访问主机内存,省去了CPU的拷贝过程,从而大大提高了数据传输的效率。 其次,RDMA还借助于信号量和排队机制来实现数据传输的效率和可靠性。每个发送和接收操作都有一个独立的发送或接收队列,通过引入排队机制,可以并行处理多个传输请求,减少了传输的延迟。而信号量机制则用于控制发送和接收操作的顺序和进度,保证数据传输的可靠性和正确性。 此外,RDMA还采用了零拷贝和数据仲裁技术,进一步提高了数据传输的效率。零拷贝技术指的是在数据传输中直接传递内存地址而不是数据本身,减少了数据的复制和移动,提高了传输速度。而数据仲裁技术则用于解决并发访问共享内存时的冲突问题,保证数据传输的正确性。 总结起来,RDMA通过直接访问远程主机内存、利用信号量和排队机制、采用零拷贝和数据仲裁技术等手段,实现了高效的数据传输。它在高性能计算、数据中心和云计算等领域具有广泛的应用前景。 ### 回答2: RDMA(Remote Direct Memory Access)是一种高性能的网络通信技术,其原理是通过绕过操作系统内核,直接在网络适配器和内存之间传输数据。传统的网络通信方式中,数据需要在发送和接收端之间经过多次从用户空间到内核空间的拷贝操作,增加了延迟和CPU开销。而RDMA技术的出现在一定程度上解决了这个问题。 RDMA实现需要支持RDMA的网卡和适配器,以及RDMA协议栈。RDMA协议栈通常由三个主要组件组成:传输层、网络层和传输服务层。其中传输层主要负责数据的可靠传输,如RDMA传输协议DCTP(Datagram Congestion Control Protocol);网络层负责路由和寻址,包括IP、IB(InfiniBand)等;传输服务层则提供上层应用程序使用的API。而RDMA的核心操作则是RDMA read和RDMA write,用于实现对远程内存的直接读写访问。 在RDMA原理分析和技术实现的PDF中,通常会介绍RDMA的基本概念、工作原理和通信过程等内容。首先会讲解RDMA的基本原理和优势,解释RDMA如何绕过内核,直接访问内存。接着会详细介绍RDMA的传输层、网络层和传输服务层的组成和功能。同时也会介绍DCTP协议的工作原理和优化策略,如流控制、拥塞控制等。 此外,PDF中还会介绍如何使用RDMA技术实现高性能的应用程序通信。这部分会重点介绍RDMA的编程模型和API,如Verbs API等,以及如何利用RDMA技术优化数据传输的方法。此外,还会介绍RDMA技术在不同领域的应用案例,如分布式存储、机器学习等。 综上所述,RDMA原理分析和技术实现PDF会详细介绍RDMA的工作原理、协议栈和通信过程,以及如何使用RDMA技术实现高性能的应用程序通信。通过阅读该PDF,读者可以深入了解RDMA技术,并应用于实际的系统开发中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值