vRoCE协议概述
什么是vRoCE协议
vRoCE(Virtual RDMA over Converged Ethernet)是实现弹性网卡EFI能力的关键网络协议。
vRoCE是华为云自研的云上弹性RDMA(Remote Direct Memory Access,远程直接内存访问)网络协议,底层链路复用VPC网络,它允许在虚拟化环境中实现RDMA功能。RDMA技术可以显著减少网络通信中的延迟和服务器的CPU负载,允许用户绕过内核,直接与网卡进行交互,从而降低了延迟,可兼容传统HPC应用以及传统TCP/IP应用。
vRoCE协议优势
vRoCE协议的基础能力和规格
vRoCE协议涉及需要使用的RDMA资源,QP(Queue Pair)、CQ(Completion Queue)、MR(Memory Region)等,需要在支持的规格内使用,否则可能会出现资源申请失败,从而无法正常使用功能。
- QP(Queue Pair)
每对QP由Send Queue(SQ)和Receive Queue(RQ)构成,这些队列中管理着各种类型的消息。
名称
规格
建链方式
SOCKET/RDMA_CM
QP类型
RC/UD
SRQ
支持
最大QP数目max_qp_num
与实例规格相关,例如128u实例支持262144
最大的发送WR深度max_send_wr
8191
最大的接收WR深度max_recv_wr
8191
最大的发送SGE数目max_send_sge
12
最大的接收SGE数目max_recv_sge
16
- CQ(Completion Queue)
CQ用来知会用户WQ上的消息已经被处理完。
名称
规格
CQ数目
与实例规格相关,最大CQ数是最大QP数的两倍
最大CQ队列深度
8,388,607
- MR(Memory Region)
代表一块可以被RDMA访问的内存区域。通过注册MR,应用程序可以让RDMA硬件直接访问这块内存区域。
名称
规格
MR数目
与实例规格相关,最大MR数是最大QP数的两倍。