主页(http://www.kuwanit.com):RDMA(远程直接内存访问)技术浅析
温馨提示:
在具体的远程内存读写中,RDMA操作用于读写操作的远程虚拟内存地址包含在RDMA消息中传送,远程应用程序要做的只是在其本地网卡中注册相应的内存缓冲区。远程节点的CPU除在连接建立、注册调用等之外,在整个RDMA数据传输过程中并不提供服务,因此没有带来任何负载。
在实现上,RDMA实际上是一种智能网卡与软件架构充分优化的远端内存直接高速访问技术,通过在网卡上将RDMA协议固化于硬件,以及支持零复制网络技术和内核内存旁路技术这两种途径来达到其高性能的远程直接数据存取的目标。
RDMA简介
原标题:RDMA(远程直接内存访问)技术浅析
RDMA优势
在基于以太网的版本中,下面重点选择RoCEv2来讨论。可以看出,RoCEv2的协议栈包括IB传输层、TCP/UDP、IP和Ethernet,其中,后面三层都使用了TCP/IP中相应层次的封包格式。RoCEv2的封包格式如下图所示。
请搜索“ICT_Architect”或“扫一扫”
投诉
其中,InfiniBand是最早实现RDMA的网络协议,被广泛应用到高性能计算中。但是InfiniBand和传统TCP/IP网络的差别非常大,需要专用的硬件设备,承担昂贵的价格。鉴于此,这里不对InfiniBand做过多的讨论。
RDMA是一种新的内存访问技术,RDMA让计算机可以直接存取其他计算机的内存,而不需要经过处理器耗时的处理。RDMA将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响。RDMA技术的原理及其与TCP/IP架构的对比如下图所示。
责任编辑:
其中,UDP包头中,目的端口号为4791即代表是RoCEv2帧。IB BTH即InfiniBand Base Transport Header,定义了IB传输层的相应头部字段。IB Payload即为消息负载。ICRC和FCS分别对应冗余检测和帧校验。
因此,RDMA可以简单理解为利用相关的硬件和网络技术,服务器1的网卡可以直接读写服务器2的内存,最终达到高带宽、低延迟和低资源利用率的效果。如下图所示,应用程序不需要参与数据传输过程,只需要指定内存读写地址,开启传输并等待传输完成即可。
RDMA(远程直接内存访问)技术浅析
2017-06-21 07:15来源:架构师技术联盟
最后,顺带说下RDMA网卡的出包。如前文所述,RDMA是一种智能网卡与软件架构充分优化的远端内存直接高速访问技术,通过将RDMA技术固化于网卡上实现,即,在RoCEv2协议栈中,IB BTH、UDP、IP以及Ethernet Layer全是固化在网卡上的。用户空间的Application通过OFA Stack(亦或其他组织编写的RDMA stack)提供的verbs编程接口(比如WRITE、READ、SEND等)形成IB payload,接下来便直接进入硬件,由RDMA网卡实现负载的层层封装。
注:本文由SSD PK社区提供,如有错误和不足之处欢迎在留言中批评指正,如果您喜欢本文,也可以分享给你的朋友。转载本文请务必保留原文出处,更多热门评测请关注SSD PK 社区网,是全球最专业的SSD社区网,提供全球有关SSD的最新热门资讯、各大厂商热门评测,最新前沿技术动态、有关企业级SSD选型以及最佳实践。
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
阅读 () 技术 操作系统
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,用来检测丢失或重复的数据包。
摘要:远程直接内存访问(即Remote Direct Memory Access)是一种直接内存访问技术,它将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入。
RDMA的不同实现
传统的TCP/IP技术在数据包处理过程中,要经过操作系统及其他软件层,需要占用大量的服务器资源和内存总线带宽,数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制移动,给服务器的CPU和内存造成了沉重负担。尤其是网络带宽、处理器速度与内存带宽三者的严重”不匹配性”,更加剧了网络延迟效应。
常见的RDMA实现包括虚拟接口架构、基于融合以太网的RDMA(RoCE)、[8][9]InfiniBand、iWARP。如下图所示,RDMA的实现方式主要分为InfiniBand和Ethernet两种传输网络。而在以太网上,又可以根据与以太网融合的协议栈的差异分为iWARP和RoCE(包括RoCEv1和RoCEv2)。
哪些网络协议支持RDMA
听说点赞和分享的朋友都已走上人生巅峰了
发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。