当前位置 >> 高防服务器 > 韩国 >

2020-11-15 18:09

自由互联服务器里参数讲解

需了解更多服务器的请咨询自由互联 凌风 企业咨询:3008731709   点击这里给我发消息
 
以下服务器配置供您参考,可以根据您的需求变更硬件:
 
 
CPU:E5-2620(6核12线程)
内存: 16G 
硬盘:HDD:1T 
带宽:10M独享 
防护:10G 
IP:2个 
 

 

 

哪些网络协议支持RDMA

InfiniBand(IB): 从一开始就支持RDMA的新一代网络协议。由于这是一种新的网络技术,因此需要支持该技术的网卡和交换机。

RDMA过融合以太网(RoCE): 一种允许通过以太网进行RDMA的网络协议。其较低的网络头是以太网头,其上网络头(包括数据)是InfiniBand头。这允许在标准以太网基础架构(交换机)上使用RDMA。只有NIC应该是特殊的,并支持RoCE。

互联网广域RDMA协议(iWARP): 允许通过TCP执行RDMA的网络协议。在IB和RoCE中存在功能,iWARP不支持这些功能。这允许在标准以太网基础架构(交换机)上使用RDMA。只有NIC应该是特殊的,并支持iWARP(如果使用CPU卸载),否则所有iWARP堆栈都可以在SW中实现,并且丢失了大部分的RDMA性能优势。

RDMA优势

在实现上,RDMA实际上是一种智能网卡与软件架构充分优化的远端内存直接高速访问技术,通过在网卡上将RDMA协议固化于硬件,以及支持零复制网络技术和内核内存旁路技术这两种途径来达到其高性能的远程直接数据存取的目标。

(1)零复制:零复制网络技术使网卡可以直接与应用内存相互传输数据,从而消除了在应用内存与内核之间复制数据的需要。因此,传输延迟会显著减小。

(2)内核旁路:内核协议栈旁路技术使应用程序无需执行内核内存调用就可向网卡发送命令。在不需要任何内核内存参与的条件下,RDMA请求从用户空间发送到本地网卡并通过网络发送给远程网卡,这就减少了在处理网络传输流时内核内存空间与用户空间之间环境切换的次数。

(3)没有CPU参与: 应用程序可以访问远程内存,而不占用远程机器中的任何CPU。远程存储器将被读取,无需任何干预的远程进程(或处理器)。远程CPU中的缓存将不会被访问的内存内容填满。

(4)基于消息的事务:数据被作为离散消息处理,而不是作为流,这消除了应用将流分成不同消息/事务的需要。

(5)分散/收集条目支持: RDMA支持本地处理多个分散/收集条目,即读取多个内存缓冲区并将其作为一个流或获取一个流并将其写入多个内存缓冲区。

在具体的远程内存读写中,RDMA操作用于读写操作的远程虚拟内存地址包含在RDMA消息中传送,远程应用程序要做的只是在其本地网卡中注册相应的内存缓冲区。远程节点的CPU除在连接建立、注册调用等之外,在整个RDMA数据传输过程中并不提供服务,因此没有带来任何负载。

RDMA的不同实现

常见的RDMA实现包括虚拟接口架构、基于融合以太网的RDMA(RoCE)、[8][9]InfiniBand、iWARP。如下图所示,RDMA的实现方式主要分为InfiniBand和Ethernet两种传输网络。而在以太网上,又可以根据与以太网融合的协议栈的差异分为iWARP和RoCE(包括RoCEv1和RoCEv2)。

 

其中,InfiniBand是最早实现RDMA的网络协议,被广泛应用到高性能计算中。但是InfiniBand和传统TCP/IP网络的差别非常大,需要专用的硬件设备,承担昂贵的价格。鉴于此,这里不对InfiniBand做过多的讨论。

在基于以太网的版本中,下面重点选择RoCEv2来讨论。可以看出,RoCEv2的协议栈包括IB传输层、TCP/UDP、IP和Ethernet,其中,后面三层都使用了TCP/IP中相应层次的封包格式。RoCEv2的封包格式如下图所示。

 

其中,UDP包头中,目的端口号为4791即代表是RoCEv2帧。IB BTH即InfiniBand Base Transport Header,定义了IB传输层的相应头部字段。IB Payload即为消息负载。ICRC和FCS分别对应冗余检测和帧校验。

IB BTH格式和字段定义如下图。其中,Opcode用于表明该包的type或IB PayLoad中更高层的协议类型。S是Solicited Event的缩写,表明回应者产生应该产生一个事件。M是MigReq的缩写,一般用于迁移状态。Pad表明有多少额外字节被填充到IB PayLoad中。TVer即Transport Header Version,表明该包的版本号。Partition Key用来表征与本Packet关联的逻辑内存分区。rsvd是reserved的缩写,该字段是保留的。Destination QP表明目的端Queue Pair序号。A是Acknowledge Request,表示该packet的应答可由响应者调度。PSN是Packet Sequence Number,用来检测丢失或重复的数据包。

 

最后,顺带说下RDMA网卡的出包。如前文所述,RDMA是一种智能网卡与软件架构充分优化的远端内存直接高速访问技术,通过将RDMA技术固化于网卡上实现,即,在RoCEv2协议栈中,IB BTH、UDP、IP以及Ethernet Layer全是固化在网卡上的。用户空间的Application通过OFA Stack(亦或其他组织编写的RDMA stack)提供的verbs编程接口(比如WRITE、READ、SEND等)形成IB payload,接下来便直接进入硬件,由RDMA网卡实现负载的层层封装。