RDMA概述

一:概述

 

RDMA的特点是绕过了内核数据直接到网卡,所以速度快,减轻CPU负担,底层实现有很多厂家。infiniband的价格很快,RoCE使用较多,下面主要讲讲这个。

RoCE

This specification follows the spirit of the RoCE Annex in defining a new InfiniBand protocol variant that uses an IP network layer (with an IP header instead of InfiniBand‘s GRH) thus allowing IP routing of its packets.

PD: protection domain 保护域

关联到多个其他RDMA资源,如SRQ/QP/AH或者MR,以便对它们提供保护。

AH:Address Handle

UD QP的发送任务中,描述了消息从本地端口到远程端口的路径。相同的AH可用于多个QP。

MR

RDMA设备访问的每个内存缓冲区都必须注册。在注册过程中,将对内存缓冲区执行如下操作:

1)将连续的内存缓冲区分成内存页。

2)将虚拟内存映射到物理内存。

3)检查内存页权限,确保它们支持MR发出的请求权限。

4)锁定内存页,以防被换出。这将保证虚拟内存到物理内存的映射不变。

成功注册后,内存有两个键:

本地键 lkey:供本地工作请求来访问内存的键。

远程键rkey:供远程机器通过RDMA操作来访问内存的键。

工作请求中,将使用这些键来制定内存缓冲区。同一个内存缓冲区可注册多次,即便指定的权限不同。

FMR池: fast memory region

注册内存去是一项繁重的任务,可能需要较长的时间才能完成。如果这项任务需要的资源不可用,执行任务的上下文甚至可以进入休眠状态。有些情况下会有问题,如中断。使用FMR可以快速注册。

MW: memory Window

启用远程内存访问的方式有以下两种。

注册允许远程访问的内存缓冲区。

注册内存区并将其绑定到内存窗口。

这两种方式都将创建远程键rkey,可用来访问指定的内存。若要让rkey无效,以禁止访问该内存,采用注销内存区的方式来达成目的,实现繁琐。通过使用内存窗口,根据需要进行绑定和解绑是一种简单方式,

CQ:completion queue

发送到发送队列或接受队列的每个工作请求都被视为未完成的,直到有相应的工作完成或再发送了其他工作请求为止。在工作请求未完成期间,它指向的内存缓冲区的内容是不确定的。

如果RDMA设备读取该内存并发送其内存,客户端无法确定可以使用它们还是必须释放它们。对于可靠的QP,成功的工作完成意味着远程端已经收到消息;对于不可靠QP,成功的工作意味着消息只是发送出去。

如果RMDA设备将消息写入该内存,客户端将无法确定该缓冲区是否包含入站消息。

工作完成会指出相应的工作请求已经完成,并提供一些有关工作请求的信息,如状态,使用的操作码,大小等。完成队列CQ是包含工作完成的对象,客户端需要轮询CQ,以读取其中完成的工作。CQ以FIFO方式工作。

SRQ Shared received Queue

共享接收队列,是一种让RDMA架构在接收端的可扩展性变得更强的方式。它将共享队列用于QP,而不是让每个QP都使用独立的接收队列。

QP: queue pair

队列对,收发数据的对象。有两个独立的队列,发送队列和接收队列。每个工作队列都有如下属性,可存储的工作请求数,workr equest,工作请求完成后将在其中添加工作完成的CQ。工作队列中处理顺序是有保证的,即对发送队列中的工作请求,将按发送请求的提交顺序进行处理,接收队列也是如此。相互独立。

被创建时,每个QP都有一个编号。在特定时间、RDMA设备中是惟一的。

 

二: RoCE

 

 RoCE packets are regular Ethernet frames5 that carry an Ethertype value allocated by IEEE which indicates that the next header is a RoCE GRH。Since RoCE traffic doesn't carry an IP header, it can't be routed across the boundaries of Ethernet L2 Subnets using regular IP routers. Under this scheme, RoCE_V1 provides RDMA services for communication within an Ethernet L2 domain.

RoCEv2:

它的改进是增加的IP头,可以再网络中传输,V1版本只能在局域网传输。

Instead of the GRH,RoCEv2 packets carry an IP header which allows traversal of IP L3 Routers and a UDP header that serves as a stateless encapsulation layer for the RDMA Transport Protocol Packets over IP.

 

The Source IP Address of RoCEv2 packets with IPv4 shall be set to the IPv4 address encoded in the Port GID entry referenced by the “port” and “SGID index” components of the Address Vector associated with the packet.

The Destination IP Address of RoCEv2 packets with IPv4 shall be set to the IPv4 address encoded in the DGID component of the Address Vector associated with the packet.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值