RDMA技术的研究与应用 RDMA技术的研究与应用

RDMA技术的研究与应用

  • 期刊名字:沈阳师范大学学报(自然科学版)
  • 文件大小:122kb
  • 论文作者:刘天华,朱宏峰,杜梅,常桂然
  • 作者单位:沈阳师范大学,东北大学
  • 更新时间:2020-06-12
  • 下载次数:
论文简介

第24卷第2期沈阳师范大学学报(自然科学版)vol 24, No. 22006年4月Journal of Shenyang Normal University( Natural Science)Apr.2006文章编号:1673-5862(2006)02-0185-04RDMA技术的研究与应用刘天华,朱宏峰,杜梅,常桂然2(1沈阳师范大学科信软件学院,辽宁沈阳10034;2.东北大学信息科学与工程学院,辽宁沈阳1004摘要:从RDMA的基本概念入手,详细分析其工作原理和实现方法,结合各种具体应用,阐明RDMA作为传输层与应用层之间的连接纽带的重要性和通用性关键词:RDMA;TOE;Stag中图分类号:TP393文献标识码:A高性能的计算需要尽可能小的通信延迟.通信延迟主要分为2个部分:处理消息的延迟和网络延迟.现代高速网络已经达到很高的传输速度,比如 Myrinet和 Gigabit Ethernet,这样通信中的瓶颈就从以前的网络转移到处理消息收发任务的软件上,在传统的系统中,由内核处理消息的情况导致多次的数据拷贝和许多内容的转换,这样大大增大了端到端的延迟在传统的基于处理器到处理器的互联中,主机端对于数据的复制操作是低效的,所有的数据都需要在用户缓冲区与内核缓冲区间传输,这样的数据复制操作需要极大的内存带宽,当数据到达网络接口时,它更新内核缓冲区,然后由主机处理器将数据从内核缓冲区移动到用户缓冲区,在这过程中,需要进行大量的读写操作,反向亦然,这种方法降低了CPU的效率,也消耗了大量的内存带宽RDMA( Remote Direct Memory Access)技术就是为了解决网络传输中服务器端数据处理的延迟而产生的RDMA即远程直接数据存取,它通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响这样就不需要用到多少计算机的处理功能.它消除了外部存储器复制和文本交换操作,因而能解放内存带宽和(PU周期用于改迸应用系统性能1理解RDMA1.1传统意义上的DMA直接内存访问(DMA)方式,是一种完全由硬件执行I/O交换的工作方式在这种方式中,DMA控制器从CPU完全接管对总线的控制数据交换不经过CPU,而直接在内存和I/O设备之间进行DMA工作时,由DMA控制器向内存发出地址和控制信号,进行地址修改,对传送字的个数计数,并且以中断方式向CPU报告传送操作的结束使用DMA方式的目的是减少大批量数据传输时CPU的开存储器销采用专用DMA控制器(DMAC)生成访存地址并控制访存过程优点有操作均由硬件电路实现,传输速度快;CPU基本不干预,仅在初始化和结束时参与,CPU与外设并行工作,效率高CPUEDMAC1.2RDMA工作原理目前,普通网卡集成了支持硬件校验和的功能,并对软件进图1传统意义上的DMA工作示意图行了改进,从而减少了发送数据的拷贝量,但无法减少接收数据的拷贝量,而这部分拷贝量要占用CPU的大量计算周期.普通网卡的工作过程如下:先把YH中国煤化工,数据包经过处理后,相应数据被分配到一个TCP连接;然后,接收系统再CNMHG应的应用程序联收稿日期:20050507基金项目:辽宁省自然基金资助项目(20042042);辽宁省教育厅科研资助项目(05L420)作者简介:刘天华(1966-),男,辽宁大连人,沈阳师范大学副教授博士研究生沈阳师范大学学报(自然科学版)第24卷系起来,并将数据从系统缓冲区拷贝到目标存储地址,这样,制约网络速率的因素就出现了:应用通信强度不断增加和主机CPU在内核与应用存储器间处理数据的任务繁重使系统要不断追加主机CPU资源,配置高效的软件并增强系统负荷管理,问题的关键是要消除主机CPU中不必要的频繁数据传输,减少系统间的信息延迟.RDMA是通过网络把资料直接传人计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能.它消除了外部存储器复制和文本交换操作,因而能腾出总线空间和CPU周期用于改进应用系统性能.目前通用的做法需由系统先对传入的信息进行分析与标记,然后再存储到正确的区域整体结构如图2所示主机1CPU主机2安全管理工具安全管理工具及应用程序及应用程序存储器双工通信的网络存储器用户空具有RDMA具有RDMA用户空间缓存功能的适配器功能的适配器间缓存图2RDMA工作体系结构RDMA的工作过程如下1)当一个应用执行RDMA读或写请求时,不执行任何数据复制在不需要任何内核内存参与的条件下RDMA请求从运行在用户空间中的应用中发送到本地NIC(网卡)2)NIC读取缓冲的内容,并通过网络传送到远程NIC3)在网络上传输的RDMA信息包含目标虚拟地址、内存钥匙和数据本身请求完成既可以完全在用户空间中处理(通过轮询用户级完成排列),或者在应用一直睡眠到请求完成时的情况下通过内核内存处理RDMA操作使应用可以从一个远程应用的内存中读数据或向这个内存写数据.4)目标NC确认内存钥匙,直接将数据写入应用缓存中,用于操作的远程虚拟内存地址包含在RDMA信息中1.3RDMA中零拷贝技术零拷贝网络技术使NC可以直接与应用内存相互传输数据,从而消除了在应用内存与内核内存之间复制数据的需要内核内存旁路使应用无需执行内核内存调用就可向NIC发送命令,在不需要任何内核内存参与的条件下,RDMA请求从用户空间发送到本地NIC,并通过网络发送给远程NIC,这就减少了在处理网络传输流时内核内存空间与用户空间之间环境切换的次数.RDMA中的零拷贝技术主要实现方法如图3所示(12在图3中,右边是传统TCP/P协议以及普通网卡用户缓冲区]应用程序进行的通信操作过程,很明显,当应用层想从网卡获得用户空间数据报文时需要经过2个缓冲区和正常 TCP/IP协议Msg Buff内核空栈,其中由软中断负责从第一个接收队列缓冲区读取数Socket据报文,再拷贝到 MSGBuff中,最后由应用层通过系统RDMATCP亚P软中断调用将数据报文读到用户态而左边则是利用RDMA标记存∥B收包队列宁硬中断来实现的零拷贝过程,规则如下核心队列Bf1)RDMA及其LIP( Lower Layer Protocol)可以在DMA机制NIC上实现(称为RNIC)2)在1)中所说的2种实现都是经过以下步骤:将收发的数据缓存到一个已经标记好的存储空间中,然后中国煤化工根据LLP和RDMA双方协商的规则直接将此存储空间CNMH技术映射到应用空间,这样就减少了传统实现方法中的至少2次内存拷贝,即实现零拷贝其中细线表示数据流动方向,其实标记缓存就是通过RDMA直接映射成为用户缓存空间的第2期刘天华等:RDMA技术的研究与应用1872RDMA的构成及操作方法2.1RDMA的构成RDMA的实现是通过 RDMAP( Remote direct Memory Access Protocol)、DDP( Direct DataPlacement Protocol)MPA( Marker PDU aligned)3种协议共同实现RDMA的构成如图4所示图4中,ULP为上层协议 RDMAP运行在DDP的上层,它提供了[ Upper Layer Protocol (ULP.到应用的直接读写服务,并将数据直接传送到上层协议,不需要在内核RDMAP缓冲之间进行拷贝DDP提供了将数据直接放置到上层协议( RDMAP)的接收缓冲区SCTETCP的信息,通过这种信息能够将携带的数据安全地放置到接收端的应用内图4RDMA的构成存中而无需上层协议(ULP)的处理MPA是一种分段协议,它使用一种通用的分段机制为TCP提供确定方法服务,以保证上层协议DDP不会误解嵌入控制流的应用数据2.2RDMA数据操作方法3RDMA协议为远端直接数据缓存提供7种类型的控制操作除了远端缓冲区读取操作之外,每一种RDMA控制操作都只产生一个对应的RDMA消息1)Send:发送操作使用Send消息将发送方应用的数据直接发送到数据接收方应用尚未明确声明的缓冲区中,故Send消息使用的是DP的无标记的缓冲区数据传递模型,将上层应用消息传递到接收方应用的无标记队列式缓冲区中,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所有的功能同时增加对消息的反馈终S) Remote Direct Memory Access Write:对应于RDMA写操作,用来将发送方应用的数据传递到接收方应用已声明的缓冲区中在这个操作中,接收方应用事先应该己经分配出带标记的应用接收缓冲区,并允许发送方应用直接进行缓冲区写操作,同时,发送方应用还在声明中得到了上述缓冲区的位置大小和相应的Stag等信息之后发送方应用开始发起RDMA写操作,该操作使用DDP的带标记的缓冲区数据传递模型,将发送方应用的消息直接传递到接收方应用所声明的带标记缓冲区中6) Remote direct Memory Access Read:对应于RDMA读操作,将对端(对应于数据源)带标记应用缓冲区的数据传递到本地(对应于数据接收方)的带标记应用缓冲区,数据源的上层应用首先需要事先分配出带标记的应用缓冲区,并允许对该缓冲区内容直接进行读操作,同时,数据源上层应用还要将待声明的数据源缓冲区的位置、大小和相应的Stag等信息传递到本地上层应用,数据接收方上层应用在得到上述声明后,分配相应的带标记应用缓冲区,开始从对端读取数据操作7) Terminate:终止操作使用 Terminate消息将本地发生的错误信息通知给对端应用,以终止当前数据直接缓存操作,终止操作使用DDP的无标记缓冲区模型将 Terminate传递到对端的无标记缓冲区3RDMA在数据传输中的应用RDMA技术从诞生以来,在有主机端LO瓶颈问题的H中国煤化工并取得应有的效果如:与TOE结合的传统以太网、高速集群和服务区域网等等CNMHG Infiniband网络3.1以太网RDMA的优势在于可利用传统的网络硬件,以 TCP/AIP及以太网络标准来建立因特网,RDMA将被用来把小型服务器连接为一个群集,可以处理现今一些十几个处理器的高端服务器才能够处理的大188沈阳师范大学学报自然科学版)第24卷型数据库3.2分布式数据处理中的应用使用RDMA来获得高性能的协议,包括SDP( Sockets direct Protocol),SRP( SCSI RDMA Protocol)Fu DAFS(Direct Access File System使用RDMA的通信库包括 DAPL(Direct Access Provider Library)、MPI( Message Passing Interface)FA VIPL(Virtual Interface Provider Library)RDMA技术首先在运行分布式应用的集群上,通过DAPL或VIPL使用RDMA,运行于集群上的数据库软件在相同的节点数的情况下,能够扩展得更好,并能够获得更高的性能采用MPI的集群科学计算应用也能够通过RDMA获得惊人的性能改进,诸如低延迟、低费用和高吞吐量另一个较早的基于RDMA的应用是通过DAFS进行远程文件服务访问和刀片式服务器通过SRP的存储访问3.3NAs和SAN中的应用传统的直接连接存储DAS( Direct Access Storage是以服务器为中心的存储结构.这一存储体系结构存在容量限制、连接距离有限、不易于共享和管理等不可克服的缺点,已经不能够满足网络时代的应用需求网络时代的到来使存储技术发生了巨大变化,网络附加存储NAS( Network Attatched Storage)存储区域网络SAN( Storage Area Network)既能为网络上的应用系统提供丰富快速、简便的存储资源;又能共享存储资源并对其实施集中管理,成为当今理想的存储管理和应用模式NAS结构存在一些难以解决的问题.如传输能力有限、可扩展性有限数据备份能力有限并且不能对数据库服务提供有效的支持DAFS把RDMA的优点和NAS的存储能力集成在一起,全部读写操作都直接通过RDMA驱动器执行,从而降低了网络文件协议所带来的系统负载,3.4 InfiniBand中的应用InfiniBand的4大优点:基于标准的协议,10GB/s性能,RDMA和传输卸载优势在于RDMA、传输卸载、高速度, InfiniBand网络和采用虚拟接口架构的网络支持RDMA,使用具有传输卸载引擎的NlC的 RDMA over TCP/P支持 InfiniBand的服务器使用主机通道适配器(HCA)把协议转换到服务器内部的PCIX或者PC- Xpress总线RDMA中实现零拷贝技术,使主机端的IO瓶颈被打破,满足了高速网络发展的需要,但是作为新兴技术,它在很多方面还有待进一步加强,比如:RDMA协议标准化;需要下层提供高速可靠的连接,否则RDMA毫无意义;需要对现有的网络接口进行改造,由NIC改造为RNIC等等RDMA技术在网络存储中有着广阔的应用前景,随着RDMA技术逐渐成熟,它会为不断发展的高速网络作出不可缺少的贡献參考文献:1]王佰玲,方滨兴,云晓春.零拷贝报文捕获平台的研究与实现[J].计算机学报,2005,25(8):4652[2] ORBET J, GREG KH, RUBTNI A. Linux设备驱动程序[M].3版.北京:中国电力出版社,2006[3] PINKERTON J. RDMA Protocol offload: leveraging the Ethernet Infrastructure[C]. Inter Developer Forum, 2003Research and application of RDMA TechnologyLIU Tian-hua, ZHU Hong-feng, DU Mei, CHANG Gui-ran2(1. School of Software, Shenyang Normal University, Shenyang 110034, China2. College of Information Science and Engineering, Northeastern University, Shenyang 110004, ChinaAbstract: According to analysis of working principle and its implementation of RDMA technology, together with someapplications, we describe the importance and generality of RDMa when中国煤化工and application layer.Key words: RDMA; TOE; StagCNMHG

论文截图
版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。