RDMA

RDMA(Remote Direct Memory Access)

目录

[隐藏]
[ 编辑]

什么是RDMA

  RDMA(Remote Direct Memory Access)技术全称远程直接数据存取,就是为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和文本交换操作,因而能解放内存带宽和CPU周期用于改进应用系统性能。

[ 编辑]

RDMA的理解[1]

  1.传统意义上的DMA

  直接内存访问(DMA) 方式,是一种完全由硬件执行I/O交换的工作方式.在这种方式中, DMA 控制器从CPU 完全接管对总线的控制,数据交换不经过CPU ,而直接在内存和110 设备之间进行.DMA工作时,由DMA 控制器向内存发出地址和控制信号,进行地址修改,对传送字的个数计数,并且以中断方式向CPU 报告传送操作的结束。

  Image:传统意义上的RDMA工作示意图.jpg

  使用DMA 方式的目的是减少大批量数据传输时CPU 的开销.采用专用DMA 控制器(DMAC) 生成访存地址并控制访存过程.优点有操作均由硬件电路实现,传输速度快;CPU 基本不干预,仅在初始化和结束时参与, CPU 与外设并行工作,效率高。

  2.RDMA工作原理

  目前,普通网卡集成了支持硬件校验和的功能,并对软件进行了改进,从而减少了发送数据的拷贝量,但无法减少接收数据的拷贝量,而这部分拷贝量要占用CPU 的大量计算周期.普通网卡的工作过程如下:先把收到的数据包缓存到系统上,数据包经过处理后,相应数据被分配到一个TCP 连接;然后,接收系统再把主动提供的TCP 数据同相应的应用程序联系起来,并将数据从系统缓冲区拷贝到目标存储地址.这样,制约网络速率的因素就出现了:应用通信强度不断增加和主机CPU 在内核与应用存储器间处理数据的任务繁重使系统要不断追加主机CPU 资源,配置高效的软件并增强系统负荷管理.问题的关键是要消除主机CPU 中不必要的频繁数据传输,减少系统间的信息延迟。

  RDMA 是通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能.它消除了外部存储器复制和文本交换操作,因而能腾出总线空间和CPU 周期用于改进应用系统性能. 目前通用的做法需由系统先对传入的信息进行分析与标记,然后再存储到正确的区域.整体结构如图所示。

  Image:RDMA工作体系结构.jpg

  RDMA 的工作过程如下:

  1)当一个应用执行RDMA 读或写请求时,不执行任何数据复制.在不需要任何内核内存参与的条件下, RDMA 请求从运行在用户空间中的应用中发送到本地NIC(网卡)。

  2) NIC 读取缓冲的内容,并通过网络传送到远程NIC。

  3) 在网络上传输的RDMA 信息包含目标虚拟地址、内存钥匙和数据本身.请求完成既可以完全在用户空间中处理(通过轮询用户级完成排列) ,或者在应用一直睡眠到请求完成时的情况下通过内核内存处理.RDMA 操作使应用可以从一个远程应用的内存中读数据或向这个内存写数据。

  4) 目标NIC 确认内存钥匙,直接将数据写人应用缓存中.用于操作的远程虚拟内存地址包含在RDMA 信息中。

  3.RDMA申零拷贝技术

  零拷贝网络技术使NIC 可以直接与应用内存相互传输数据,从而消除了在应用内存与内核内存之间复制数据的需要.内核内存旁路使应用无需执行内核内存调用就可向NIC 发送命令.在不需要任何内核内存参与的条件下, RDMA 请求从用户空间发送到本地NIC,并通过网络发送给远程NIC ,这就减少了在处理网络传输流时内核内存空间与用户空间之间环境切换的次数.RDMA 中的零拷贝技术主要实现方法如图所示。

  Image:RDMA中的零拷贝技术.jpg

  在上图中,右边是传统TCP/IP 协议以及普通网卡进行的通信操作过程.很明显,当应用层想从网卡获得数据报文时需要经过2 个缓冲区和正常TCPIIP 协议钱,其中由软中断负责从第一个接收队列缓冲区读取数据报文,再拷贝到MSGBuff 中,最后由应用层通过系统调用将数据报文读到用户态.而左边则是利用RDMA来实现的零拷贝过程,规则如下:

  1) RDMA 及其LLP( Lower Layer Protocol)可以在NIC 上实现(称为RNIC)。

  2) 在1)中所说的2 种实现都是经过以下步骤:将收发的数据缓存到一个已经标记好的存储空间中,然后根据LLP 和RDMA 双方协商的规则直接将此存储空间映射到应用空间,这样就减少了传统实现方法中的至少2次内存拷贝,即实现零拷贝.其中细线表示数据流动方向,其实标记缓存就是通过RDMA 直接映射成为用户缓存空间的。

[ 编辑]

RDMA的构成[2]

  Image:RDMA的构成.jpg

  如上图为RDMA 的构成,RDMA的实现由RDMA、DDP 、MPA3 种协议共间实现,构成了iWARP协议族,用来保证高速网络的互操作性。RDMA 层用于将RMDA 读、写及Send 操作消息转化成RDMA 消息,并将RDMA 消息传送至DDP(Direct Data Placement)层,DDP应将RDMA消息分段封装成DDP 数据包转发到下层Marker-based,Protocol-data-unit-A1igned (MPA)层, MPA 层将DDP 数据包插入标识符,长度及CRC 校验,构成MPA 数据段。TCP 层负责对TCP 数据段进行调度,确保发包能够顺利到达目标位置。IP 层则在数据包中增加必要的网络路由数据信息。

[ 编辑]

RDMA数据操作方法[1]

  RDMA 协议为远端直接数据缓存提供7 种类型的控制操作.除了远端缓冲区读取操作之外,每一种RDMA 控制操作都只产生一个对应的RDMA 消息。

  1)Send: 发送操作使用Send 消息将发送方应用的数据直接发送到数据接收方应用尚未明确声明的缓冲区中.故Send 消息使用的是DDP 的无标记的缓冲区数据传递模型,将上层应用消息传递到接收方应用的元标记队列式缓冲区中。

  2) Send with Invalidate: 在Send 基础上,加了一个导航标记Stag. 当该消息缓存在Stag 所指定对端应用缓冲区中,并将消息到达通知传达给接收方应用后,接收方应用就再不允许发送方应用介人该缓冲区,直到接收方应用重新声明该缓冲区可用后才可以供发送方应用继续使用。

  3) Send with Solicited Event (Send with SE): 该消息用来将发送方应用的数据直接发送到数据接收方应用的无标记队列式缓冲区中,具备Send 所有的功能同时增加对消息的反馈。

  4) Send with Solicited Event and Invalidate (Send with SE and Invalidate): 该消息所对应的操作是将发送方应用的数据直接发送到数据接收方应用尚未明确声明的缓冲区中,具备Send with SE 所有的功能同时增加对消息的反馈。

  5) Remote Direct Memory Access W出e: 对应于RDMA 写操作,用来将发送方应用的数据传递到接收方应用已声明的缓冲区中.在这个操作中,接收方应用事先应该己经分配出带标记的应用接收缓冲区,并允许发送方应用直接进行缓冲区写操作.同时,发送方应用还在声明中得到了上述缓冲区的位置、大小和相应的Stag 等信息.之后发送方应用开始发起RDMA 写操作,该操作使用DDP 的带标记的缓冲区数据传递模型,将发送方应用的消息直接传递到接收方应用所声明的带标记缓冲区中。

  6) Remote Direct Memory Access Read: 对应于RDMA 读操作,将对端(对应于数据源)带标记应用缓冲区的数据传递到本地(对应于数据接收方)的带标记应用缓冲区.数据源的上层应用首先需要事先分配出带标记的应用缓冲区,并允许对该缓冲区内容直接进行读操作.同时,数据源上层应用还要将待声明的数据源缓冲区的位置、大小和相应的Stag 等信息传递到本地上层应用.数据接收方上层应用在得到上述声明后,分配相应的带标记应用缓冲区,开始从对端读取数据操作。

  7) Terminate: 终止操作使用Terminate 消息将本地发生的错误信息通知给对端应用,以终止当前数据直接缓存操作.终止操作使用DDP 的元标记缓冲区模型将Terminate 传递到对端的无标记缓冲区。

[ 编辑]

RDMA 在数据传输中的应用[3]

  1.RDMA 的应用

  RDMA 的优势在于可利用传统的网络硬件以TCP/IP 及以太网络标准来建立因特网RDMA 将被用来把小型服务器连接为一个群集可以处理现今一些十几颗处理器的高端服务器才能够处理的大型数据库如果把R D M A 及TOE 以及10GB 以太网络放在一起这是个相当吸引人的技术RDMA 正在迅速成为高速集群和服务器区域网的一种基本特性InfiniBand网络和实现虚拟接口架构的网络支持RDMA 应用于带传输卸载引擎网卡的RDMA over TCP/IP 正在开发之中采用RDMA 来获取高性能的协议包括Sockets Direct ProtocolSCSI RDMA Protocol SRP 和DirectAccess File System DAFS 采用RDMA 的通信库包括Direct AccessProvider Library DAPL MessagePassing Interface MPI 和VirtualInterface Provider Library VIPL运行分布式应用程序的集群是RDMA 能够大显身手的领域之一通过DAPL 或VIPL以及集群上运行的数据库软件来使用RDMA 可在相同的节点数目下获得更高的性能和更好的延展性使用MPI的集群科技运算应用程序通过支持互连RDMA 实现了低延迟时间低开销和高吞吐量这一结果也使它获得了巨大的性能提升其他初期的RDMA 应用还有通过D A F S 的远程文件服务器访问通过SRP 的存储设备访问RDMA 技术正在迅速成为高速集群系统和存储域网络的基本特征技术其中i W A R P /R D M A 是一类基本构造块此外还有iSER 它是用于RDMA 的iSCSI 扩展充分利用了R D M A 的功能RDMA 的其他早期应用包括通过D A F S 的远程文件服务器访问和通过SRP 的刀片服务器存储访问RDMA 正在迅速成为高速集群和服务器区域网的一种基本特性。

  2.  NAS 和SAN 中的应用

  传统的直接连接存储DAS DirectAccess Storage 是以服务器为中心的存储结构这一存储体系结构存在容量限制连接距离有限不易于共享和管理等不可克服的缺点已经不能够满足网络时代的应用需求网络时代的到来使存储技术发生了巨大变化网络附加存储N A SNetwork Attatched Storage 存储区域网络S A N(Storage Area Network)既能为网络上的应用系统提供丰富快速简便的存储资源又能共享存储资源并对其实施集中管理成为当今理想的存储管理和应用模式NAS结构存在一些难以解决的问题如传输能力有限可扩展性有限数据备份能力有限并且不能对数据库服务提供有效的支持DAFS 把RDMA 的优点和N A S的存储能力集成在一起全部读写操作都直接通过RDMA 驱动器执行从而降低了网络文件协议所带来的系统负载今后的NAS 存储系统将采用DAFS 技术提高系统性能并且在性能和价格上与SAN 存储系统进行有力的竞争

  3.Infiniband

  Infiniband的四大优点基于标准的协议10 GB/s 性能RDMA 和传输卸载优势在于R D M A 传输卸载高速度InfiniBand网络和采用虚拟接口架构的网络支持RDMA 使用具有传输卸载引擎的NIC 的RDMA over TCP/IP 支持Infiniband的服务器使用主机通道适配器HCA 把协议转换到服务器内部的PCI-X 或者PCI-Xpress 总线H C A 具有R D M A 功能有时也称之为内核旁路(Kernel Bypass)。

[ 编辑]

参考文献

  1. ↑ 1.0 1.1 刘天华,朱宏峰,杜梅等.RDMA技术的研究与应用[J].沈阳师范大学学报(自然科学版),2006,24(2):185-188.
  2.  罗烨.FC-AE-RDMA技术的研究与实现[J].《电子科技大学》.2010年.
  3.  徐列敏,王宇峰.RDMA技术分析[J].今日电子,2005,(4):99-101.


分类: 系统运维

随着网络带宽和速度的发展和大数据量数据的迁移的需求,网络带宽增长速度远远高于处理网络流量时所必需的计算节点的能力和对内存带宽的需求,数据中心网络架构已经逐步成为计算和存储技术的发展的瓶颈,迫切需要采用一种更高效的数据通讯架构。

  传统的TCP/IP技术在数据包处理过程中,要经过操作系统及其他软件层,需要占用大量的服务器资源和内存总线带宽,所产生严重的延迟来自系统 庞大的开销、数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移动,如图1.1所示,给服务器的CPU和内存造成了沉重负担。特别是面对网络 带宽、处理器速度与内存带宽三者的严重\"不匹配性\",更造成了网络延迟效应的加剧。处理器速度比内存速度快得越多,等待相应数据的延迟就越多。而且, 处理每一数据包时,数据必须在系统内存、处理器缓存和网络控制器缓存之间来回移动,因此延迟并不是一次性的,而是会对系统性能持续产生负面影响。


 网管下载dl.bitscn.com

  图1.1 主机接收传统以太网数据的典型数据流示意图


    
    这样,以太网的低投入、低运营成本优势就难以体现。为充分发挥万兆位以太网的性能优势,必须解决应用性能问题。系统不能以软件方式持续处理以太网通信;主 机CPU资源必须释放专注于应用处理。业界最初的解决方案是采用TCP/IP负荷减轻引擎(TOE)。TOE方案能提供系统性能,但协议处理不强;它能使TCP通信更快速,但还达不到高性能网络应用的要求。解决这类问题的关键,是要消除主机CPU中不必要的频繁数据传输,减少系统间的信息延迟。 网管联盟bitsCN@com

  RDMA(Remote Direct Memory Access)全名是\"远程直接数据存取\",RDMA让计算机可以直接存取其它计算机的内存,而不需要经过处理器耗时的传输,如图1.2所示。 RDMA是一种使一台计算机可以直接将数据通过网络传送到另一台计算机内存中的特性,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任 何影响,这项技术通过消除外部存储器复制和文本交换操作,因而能腾出总线空间和CPU周期用于改进应用系统性能,从而减少对带宽和处理器开销的需要,显著 降低了时延。 

  网管论坛bbs_bitsCN_com

    中国网管论坛bbs.bitsCN.com


  图1.2 RDMA数据流传输示意图

    
    RDMA对以太网来说还是\"新生事物\",但以不同形式存在已有十多年时间,它是Infiniband技术的基础。产业标准API(应用程序接口)使 RDMA从技术走向实现成为可能。其中包括用于低时延消息处理、成就高性能计算的MPI(消息通过接口),以及DAPL(直接接入供应库)。后者包括两部 分:KDAPL和UDAPL,分别用于内核和用户(应用程序)。Linux支持KDAPL,其它操作系统将来也有可能支持。RDMA在高性能计算环境广为 采纳,在商务应用领域很少,但如今大多应用程序都能直接支持操作系统,透过操作系统(如NFS)间接利用RDMA技术的优势是完全可能的。  

2  RDMA工作原理


  RDMA是一种网卡技术,采用该技术可以使一台计算机直接将信息放入另一台计算机的内存中。通过最小化处理过程的开销和带宽的需求降低时延。RDMA通过在网卡上将可靠传输协议固化于硬件,以及支持零复制网络技术和内核内存旁路技术这两种途径来达到这一目标。RDMA模型如图2.1所示。


  中国网管联盟bitsCN.com

  


 中国网管论坛bbs.bitsCN.com

  图2.1 RDMA模型演变


    
    零复制网络技术使NIC可以直接与应用内存相互传输数据,从而消除了在应用内存与内核内存之间复制数据的需要。

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

  当一个应用程序执行RDMA读/写请求时,系统并不执行数据复制动作,这就减少了处理网络通信时在内核空间和用户空间上下文切换的次数。在不需 要任何内核内存参与的条件下,RDMA请求从运行在用户空间中的应用中发送到本地 NIC(网卡),然后经过网络传送到远程NIC。请求完成既可以完全在用户空间中处理(通过轮询用户级完成排列),或者在应用一直睡眠到请求完成时的情况 下通过内核内存处理。


  RDMA操作使应用可以从一个远程应用的内存中读数据或向这个内存写数据。RDMA操作用于读写操作的远程虚拟内存地址包含在RDMA消息中传 送,远程应用程序要做的只是在其本地网卡中注册相应的内存缓冲区。远程节点的CPU在整个RDMA操作中并不提供服务,因此没有带来任何负载。通过类型值 (键值)的使用,一个应用程序能够在远程应用程序对它进行随机访问的情况下保护它的内存。 

  发布RDMA操作的应用程序必须为它试图访问的远程内存指定正确的类型值,远程应用程序在本地网卡中注册内存时获得这个类型值。发布RDMA的 应用程序也必须确定远程内存地址和该内存区域的类型值。远程应用程序会将相关信息通知给发布RDMA的应用程序,这些信息包括起始虚拟地址、内存大小和该 内存区域的类型值。在发布RDMA的应用程序能够对该内存区域进行RDMA操作之前,远程应用程序应将这些信息通过发送操作传送给发布RDMA的应用程 序。  

3  RDMA 操作类型 网管u家u.bitscn@com

  具备RNIC(RDMA-aware network interface controller)网卡的设备,不论是目标设备还是源设备的主机处理器都不会涉及到数据传输操作,RNIC网卡负责产生RDMA数据包和接收输入的 RDMA数据包,从而消除传统操作中多余的内存复制操作。


  RDMA协议提供以下4种数据传输操作,除了RDMA读操作不会产生RDMA消息,其他操作都会产生一条RDMA消息。

   RDMA Send操作;
   Send operation;
   Send with invalidate operation;
   Send with solicited event;
   Send with solicited event and invalidate;
   RDMA Write操作;
   RDMA Read操作;
   Terminate操作。 

4  RDMA over TCP


  以太网凭借其低投入、后向兼容、易升级、低运营成本优势在目前网络互连领域内占据统治地位,目前主流以太网速率是100 Mb/s和1000 Mb/s,下一代以太网速率将会升级到10 Gb/s。将RDMA特性增加到以太网中,将会降低主机处理器利用率,增加以太网升级到10 Gb/s的优点,消除由于升级到10 Gb/s而引入巨大开销的弊端,允许数据中心在不影响整体性能的前提下拓展机构,为未来扩展需求提供足够的灵活性。


  RDMA over TCP协议将数据直接在两个系统的应用内存之间进行交互,对操作系统内核几乎没有影响,并且不需要临时复制到系统内存的操作,数据流如图4.1所示。 网管网www.bitscn.com



  图4.1 RDMA over TCP (Ethernet)数据流示意图

    RDMA over TCP协议能够工作在标准的基于TCP/IP协议的网络,如目前在各个数据中心广泛使用的以太网。注意:RDMA over TCP并没有指定物理层信息,能够工作在任何使用TCP/IP协议的网络上层。RDMA over TCP允许很多传输类型来共享相同的物理连接,如网络、I/O、文件系统、块存储和处理器之间的消息通讯。



  图4.2 RDMA over TCP (Ethernet)协议


    
    图4.2是RDMA over TCP (Ethernet)的协议栈,最上面三层构成iWARP协议族,用来保证高速网络的互操作性。


  RDMA层协议负责根据RDMA写操作、RDMA读操作转换成RDMA消息,并将RDMA消息传向Direct Data Placement (DDP)层。DDP层协议负 责将过长的RDMA消息分段封装成DDP数据包继续向下转发到Marker-based, Protocol-data-unit-Aligned (MPA)层。MPA层在DDP数据段的固定间隔位置增加一个后向标志、长度以及CRC校验数据,构成MPA数据段。TCP层负责对TCP数据段进行调 度,确保发包能够顺利到达目标位置。IP层则在数据包中增加必要的网络路由数据信息。 

  DDP层的PDU段的长度是固定的,DDP层含有一个成帧机制来分段和组合数据包,将过长的RDMA消息分段封装为DDP消息,处理过程如图4.3所示。


 网管网www_bitscn_com

  图4.3 DDP层拆分RDMA消息示意图


    
    DDP数据段是DDP协议数据传输的最小数据单元,包含DDP协议头和ULP载荷。DDP协议头 包含ULP数据的最终目的地址的位置和相关控制信息。DDP层将ULP数据分段的原因之一就是TCP载荷的最大长度限制。DDP的数据传输模式分为2 种:tagged buffer方式和untagged buffer方式。tagged buffer方式一般应用于大数据量传输,例如磁盘I/O、大数据结构等;而untagged buffer方式一般应用于小的控制信息传输,例如:控制消息、I/O状态信息等。

  MPA层在DDP层传递下来的DDP消息中,MPA层通过增加MPA协议头、标志数据以及CRC校验数据构成FPDU(framed PDU )数据段,处理过程如图4.4所示。


  MPA层便于对端网络适配器设备能够快速定位DDP协议头数据,根据DDP协议头内设置的控制信息将数据直接置入相应的应用内存区域。MPA层具备错序校正能力,通过使能DDP,MPA避免内存复制的开销,减少处理乱序数据包和丢失数据包时对内存的需求。MPA将FPDU数据段传送给TCP层处理。



  图4.4 MPA层拆分DDP消息示意图

    
    TCP层将FPDU数据段拆放置在TCP数据段中,确保每个TCP数据段中都包含1个单独的FDPU。MPA接收端重新组装为完整的FPDU,验证数据完 整性,将无用的信息段去除,然后将完整的DDP消息发送到DDP层进行处理。DDP 允许DDP数据段中的ULP协议(Upper Layer Protocol)数据,例如应用消息或磁盘I/O数据,不需要经过ULP的处理而直接放置在目的地址的内存中,即使DDP数据段乱序也不影响这种操作。  

5  RDMA标准组织

  2001年10月,Adaptec、Broadcom、Cisco、Dell、EMC、HP、IBM、Intel、Microsoft和 NetApp公司宣布成立\"远程直接内存访问(RDMA)联盟\"。RDMA联盟是个独立的开放组织,其制定实施能提供TCP/IP RDMA技术的产品所需的体系结构规范,鼓励其它技术公司积极参与新规范的制定。该联盟将负责为整个RDMA解决方案制定规范,包括RDMA、DDP(直 接数据放置)和TCP/IP分帧协议


  RDMA联盟是Internet工程任务组(IETF)的补充,IETF是由网络设计师、运营商、厂商和研究公司组成的大型国际组织。其目的是 推动Internet体系结构的发展,并使Internet的运作更加顺畅。RDMA联盟的成员公司和个人都是IETF的积极参与者。另外,IETF还认 识到了RDMA在可行网络方案中的重要性,并计划在以后几个月里成立\"Internet协议套件RDMA\"工作组。RDMA联盟协议规定,联盟将向相应的IETF工作组提交规范草案,供IETF考虑。


  TCP/IP RDMA体系结构规范的1.0版本于2002年10月由RDMA联盟成员发布, TCP/IP RDMA的最终规范将由RDMA联盟的业界合作伙伴及相应的业界标准组织派出的代表共同确定。RDMA联盟官方网 址:http://www.rdmaconsortium.org。  


  6  结论 

  相比较于TOE(TCP Offload Engine),RDMA-over-TCP技术能够实现更高的网络传输性能。TOE通过网卡上专用处理器来完成一些或所有数据包的相关协议计算任务,以减轻系统负载,包括TCP在内的四层处理请示都可以从主机处理器转移到网卡,其最终的结果就是在加速网络响应的同时提高服务器的性能,但TOE需要配合理想环境才能取得更好的效果,还达不到高性能网络应用的要求。 

  RDMA是一种能够支持发送系统将网络数据包的数据有效负载放在目的系统的指定位置的技术,通过使用目前普遍使用的网络,需要传输两端的 RDMA专用网卡(RNIC)进行协调。由于数据被发送系统直接放在其最终内存位置上,因此在接收系统中移动网络分组数据所需的处理器时间减少了。硬件连 接速度加快会把众多低价位的服务器集结成性能更强大的数据库,而不必购置昂贵的机器。对很注重占地空间和功耗的系统而言,就千兆位以太网满载传输这一任务 而言,RNIC所需功耗仅为相应网卡和微处理器的一小部分。 网管bitscn_com

  但是采用RDMA技术也存在几个问题:这是一种高级协议堆栈,需要可靠的传输层(如TCP)。它是一种点对点协议,要求数据中心人员在每台服务器上安装专用网卡(NIC)。此外,由于RDMA能够将数据置于另一系统的内存空间,这可能会造成安全风险。因此,尽管RDMA能够帮助减少网络数据包占用的内存性能,但其限制因素使RDMA局限于特殊部署环境。 网管联盟bitsCN@com

  以太网技术通过RDMA over TCP技术将完美体现其低投入、通用性和高性能的特点。如今一些顶级系统开发商、操作系统及设备厂商正合力将这一理想变成现实。未来,RDMA over TCP技术在高性能企业应用中能否成为高速集群和服务器区域网的一种基本特性,还是让我们拭目以待

第1章 RDMA背景简介 ............................................. 5 第2章 哪些网络协议支持RDMA ..................................... 8 2.1 InfiniBand(IB)........................................... 8 2.2 RDMA过融合以太网(RoCE)................................... 8 2.3 互联网广域RDMA协议(iWARP)................................ 8 第3章 RDMA技术优势 ............................................. 9 第4章 RDMA有哪些不同实现 ...................................... 10 第5章 RDMA有哪些标准组织 ...................................... 14 第6章 应用和RNIC传输接口层 .................................... 18 6.1 内存Verbs(Memory Verbs)............................... 19 6.2 消息Verbs(Messaging Verbs)............................ 20 第7章 RDMA传输分类方式 ........................................ 20 7.1 RDMA原语................................................ 21 7.2 RDMA 队列对(QP)....................................... 23 7.3 RDMA完成事件............................................ 23 7.4 RDMA传输类型............................................ 24 7.5 RDMA双边操作解析........................................ 26 7.6 RDMA单边操作解析........................................ 27 7.7 RDMA技术简单总结........................................ 27 第8章 InfiniBand技术和协议架构分析 ............................ 29 8.1 InfiniBand技术的发展.................................... 29 8.2 InfiniBand技术的优势.................................... 30 8.3 InfiniBand基本概念...................................... 32 8.4 InfiniBand协议简介...................................... 33 8.4.1 物理层 ............................................ 34 8.4.2 链路层 ............................................ 34 8.4.3 网络层 ............................................ 34 8.4.4 传输层 ............................................ 35 8.4.5 上层协议 .......................................... 35 8.5 IB应用场景.............................................. 36 第9章 InfiniBand主流厂商和产品分析 ............................ 37 9.1 InfiniBand网络和拓扑.................................... 38 9.2 软件协议栈OFED.......................................... 42 9.3 InfiniBand网络管理...................................... 43 9.4 并行计算集群能力........................................ 44 9.5 基于socket网络应用能力.................................. 45 9.6 存储支持能力............................................ 45 9.7 Mellanox产品介绍........................................ 46 9.8 Infiniband交换机........................................ 48 9.9 InfiniBand适配器........................................ 51 9.10 Infiniband路由器和网关设备............................. 52 9.11 Infiniband线缆和收发器................................. 53 9.12 InfiniBand主要构件总结................................. 54 9.13 InfiniBand对现有应用的支持和ULPs支持................... 55 第10章 RDMA over TCP(iWARP)协议和工作原理 ..................... 56 10.1 RDMA相关简介........................................... 57 10.2 RDMA工作原理........................................... 59 10.3 RDMA 操作类型.......................................... 61 10.4 RDMA over TCP详解...................................... 61 10.5 RDMA标准组织............................................ 7 第11章 RoCE(RDMA over Converged Ethernet)原理 ............... 65 第12章 不同RDMA技术的比较 ..................................... 67 12.1 IB和TCP、Ethernet比较.................................. 69 12.2 RoCE和InfiniBand比较................................... 70 12.3 RoCE和IB协议的技术区别................................. 71 12.4 RoCE和iWARP的区别...................................... 71 第13章 Intel Omni-Path和InfiniBand对比分析 .................... 72 13.1 Intel True Scale Fabric介绍............................ 73 13.2 Intel True Scale InfiniBand产品........................ 74 13.3 Intel Omni-Path产品.................................... 76 第14章 RDMA关键技术延伸 ....................................... 80 14.1 RDMA指令的选择......................................... 80 14.2 慎用atomic类指令....................................... 81 14.3 减少交互次数........................................... 82 14.3.1 Wr 聚合 .......................................... 82 14.3.2 SGE 聚合 ......................................... 82 14.3.3 使用imm数据 ...................................... 83 14.3.4 使用inline数据 ................................... 83 14.3.5 CQE中使用inline数据 .............................. 83 14.3.6 WC聚合 ........................................... 84 14.4 运行模式选择........................................... 84 14.4.1 连接的模式 ....................................... 84 14.4.2 运行模式 ......................................... 85 14.5 性能与并发............................................. 86 14.6 避免CPU缓存抖动........................................ 87 14.7 避免芯片内部的缓存Miss................................. 87 14.8 时延的隐藏............................................. 88 14.8.1 利用Prefetch预取指令 ............................. 88 14.8.2 异步交互操作优先 ................................. 88 14.9 RDMA性能分析........................................... 89
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值