有关RDMA技术性基本原理、3种流行完成技术性比照

引言: 远程控制立即运行内存浏览RDMA(即Remote Direct Memory Access)是1种立即运行内存浏览技术性,它将数据信息立即从1台测算机的运行内存传送到另外一台测算机,不用彼此实际操作系统软件的干预,本文旨在技术性正确引导。

RDMA技术性最开始出現在Infiniband互联网,用于HPC高特性测算群集的互联。传统式的根据Socket套接字(TCP/IP协议书栈)的互联网通讯,必须历经实际操作系统软件手机软件协议书栈,数据信息在系统软件DRAM、解决器Cache和网卡Buffer之间往返复制搬移,因而占有了很多的CPU测算資源和运行内存系统总线带宽,也加大了互联网延时。举例来讲,40Gbps的TCP/IP流能耗光流行服务器的全部CPU資源;RDMA则处理了传统式TCP/IP通讯的技术性痛点。比如,在40Gbps情景下,CPU占有率从100%降低到5%,互联网延时从ms级减少到10us下列。

RDMA是1种新的运行内存浏览技术性,RDMA让测算机能够立即存储别的测算机的运行内存,而不必须历经解决器耗时的解决。RDMA将数据信息从1个系统软件迅速挪动到远程控制系统软件储存器中,而不对实际操作系统软件导致任何危害。RDMA技术性的基本原理及其与TCP/IP构架的比照以下图所示。

因而,RDMA能够简易了解为运用有关的硬件配置和互联网技术性,服务器的网卡之间能够立即读运行内存,最后做到高带宽、低延迟时间和低資源运用率的实际效果。运用程序流程不必须参加数据信息传送全过程,只必须特定运行内存读写能力详细地址,打开传送并等候传送进行便可。

RDMA最开始在Infiniband传送互联网上完成,技术性优秀,可是价钱昂贵(仅有Mellanox和Intel供货商出示全套互联网处理计划方案),后来业界厂家把RDMA移殖到传统式Ethernet以太在网上,减少了RDMA的应用成本费,促进了RDMA技术性普及。在Ethernet以太在网上,依据协议书栈结合度的差别,分成iWARP和RoCE两种技术性,而RoCE又包含RoCEv1和RoCEv2两个版本号(RoCEv2的最大改善是适用IP路由器),各RDMA互联网协议书栈的比照以下图所示。

   Infiniband,适用RDMA的新1代互联网协议书。 因为这是1种新的互联网技术性,因而必须适用该技术性的NIC和互换机。

    RoCE,1个容许在以太在网上实行RDMA的互联网协议书。 其较低的互联网标头是以太网标头,其较高的互联网标头(包含数据信息)是InfiniBand标头。 这适用在规范以太网基本设备(互换机)上应用RDMA。 仅有网卡应当是独特的,适用RoCE。

    iWARP,1个容许在TCP上实行RDMA的互联网协议书。 IB和RoCE中存在的作用在iWARP中不会受到适用。 这适用在规范以太网基本设备(互换机)上应用RDMA。 仅有网卡应当是独特的,而且适用iWARP(假如应用CPU卸载),不然全部iWARP堆栈都可以以在手机软件中完成,而且缺失了绝大多数RDMA特性优点。

    RDMA运用和RNIC(RDMA-aware Network Interface Controller)之间的传送插口层(Software Transport Interface)被称为Verbs或RDMA API,RDMA API (Verbs)关键有两种Verbs:

运行内存Verbs(Memory Verbs),也叫One-SidedRDMA。包含RDMA Reads, RDMA Writes, RDMA Atomic。这类方式下的RDMA浏览彻底不必须远端机的任何确定。

信息Verbs(Messaging Verbs),也叫Two-SidedRDMA。包含RDMA Send, RDMA Receive。这类方式下的RDMA浏览必须远端机CPU的参加。

RDMA over TCP(iWARP)协议书可以工作中在规范的根据TCP/IP协议书的互联网,如现阶段在各个数据信息管理中心普遍应用的以太网。iWARP并沒有特定物理学层信息内容,因此可以工作中在任何应用TCP/IP协议书的互联网顶层。iWARP容许许多传送种类来共享资源同样的物理学联接,如互联网、I/O、文档系统软件、块储存和解决器之间的信息通信。

 从RDMA over TCP的协议书栈看来,最上面3层组成iWARP协议书族,用来确保高速互联网的互实际操作性。

但是,RDMA over Converged Ethernet (RoCE)是1种互联网协议书,容许运用根据以太网完成远程控制运行内存浏览。现阶段RoCE有两个协议书版本号。

    RoCE v1是1种路由协议层协议书,容许在同1个广播节目域下的随意两台主机立即浏览。

    RoCE v2是1种Internet层协议书,便可以完成路由器作用。尽管RoCE协议书这些益处全是根据结合以太网的特点,可是RoCE协议书还可以应用在传统式以太网互联网或非结合以太互联网中。

现阶段,尽管IB、以太网RoCE、以太网iWARP这3种RDMA技术性应用统1的API,但它们拥有不一样的物理学层和路由协议层。在以太网处理计划方案中,RoCE相对iWARP来讲拥有显著的优点,这些优点反映在延时、吞吐量率和 CPU负载。RoCE被许多流行的计划方案所适用,而且被包括在Windows服务手机软件中。

RDMA技术性根据传统式互联网的定义,但与IP互联网又一些不一样。最重要的不一样是RDMA出示了1种信息服务, 运用这类服务,运用程序流程能够立即浏览远程控制测算机上的虚似运行内存。信息服务能够用来开展互联网中过程间通讯(IPC)、远程控制服务器通讯和在1些顶层协议书的帮助下与储存机器设备开展数据信息传送。顶层运用协议书ULPs(Upper Layer Protocols)有许多,比如iSCSI的RDMA拓展(iSER)、SCSI RDMA协议书(SRP)等,流行的SMB、Samba 、Lustre、ZFS等也适用RDMA。

RoCE和InfiniBand,1个界定了怎样在以太在网上运作RDMA,而另外一个则界定了怎样在IB互联网中运作RDMA。RoCE期待可以将IB的运用(关键是根据群集的运用)转移到结合以太网中,而在别的运用中,IB互联网仍将可以出示比RoCE更高的带宽和更低的延迟。RoCE和IB协议书的技术性差别:

    时延操纵:RoCE所依靠的无丢包互联网根据以太网流控或PFC(Priority Flow Control)来完成。RoCEv2 则是界定了时延操纵协议书,应用ECN做标识和CNP帧来做确定。而IB则是应用根据个人信用的优化算法来确保HCA-HCA之间的无丢包通讯。

    延迟:当今IB互换机广泛要比以太互换机有着更低的延迟,以太网互换机1般的Port-to-Port延迟在230ns,相比IB互换机在一样端口号数的状况下100ns的延迟,以太互换机還是要高出很多。

    配备:配备1个DCB以太互联网要远比配备1个IB互联网要繁杂的多,同理,运维管理也要繁杂的多。

RoCE和iWARP,1个是根据无联接协议书UDP,1个是根据朝向联接的协议书(如TCP)。RoCEv1只能局限在1个2层广播节目域内,而RoCEv2和iWARP都可以适用3层路由器。相比RoCE,在大中型组网的状况下,iWARP的很多TCP联接会占有很多的额运行内存資源,对系统组件规格型号规定更高。此外,RoCE适用组播,而iWARP都还没有关的规范界定。

Intel回收了Qlogic的InfiniBand业务流程的Intel又另辟新径,推出了1整套叫做“True Scale Fabric”的高特性测算构架的处理计划方案(包含IB和Omni-Path),单独提出了1套Omni-Path Host Fabric Interface插口和对应的互换机商品。出示Verbs和PSM(特性拓展信息库)两个程序编写插口,PSM是专业朝向 MPI 通讯设计方案的插口。

Intel在CPU上集成化了Omni-Path有关作用,这也代表着Omni-Path通讯高效率上更为高效率,但会让自身的互联网依靠于CPU,最少在解决器上对外开放性還是做的较为有局限性。

根据回收Cray互联单位,Intel在 Omni-Path引进了1.5层的定义。它被称作连接传送层(Link Transport Layer),根据Cray的Aries基本互联技术性提升最底层数据信息通讯,出示靠谱的2层数据信息包交货、流控和单连璐操纵。这也算是对回收Cray的Aries技术性的充足运用。