NVME-oF IP 设计7 :设计扫盲5

QP、WR、CQ、MR 等核心概念

RDMA 通信模型中涉及多个核心组件,其中包括队列对(QP)、工作请求(WR)、完成队列(CQ)以及内存区域(Memory Region,MR)等概念,这些组件共同构成了RDMA数据传输机制的基础。

(1)Queue Pair(QP)

QP是RDMA通信的核心结构,由发送队列(SQ)和接收队列(RQ)组成。SQ用于存放待发送的工作请求,而RQ用于存放接收缓冲区描述信息。RDMA通信双方通过QP实现数据交换,每个QP对应一个独立的通信连接。QP在初始化过程中需要经过多个状态转换,例如RESET、INIT、RTR(Ready to Receive)以及RTS(Ready to Send)等状态,当QP进入RTS状态后即可开始数据传输。

(2)Work Request(WR)

WR是RDMA操作的基本执行单元,用于描述一次数据传输请求。每个WR中包含操作类型、数据地址、数据长度以及远端内存地址等信息。根据操作类型的不同,WR可以分为SEND、RECV、READ和WRITE等多种类型。应用程序通过向SQ或RQ提交WR来发起数据传输操作。

(3)Completion Queue(CQ)

CQ用于存储通信操作完成后的结果。当RNIC执行完一个WR后,会在CQ中生成一个完成条目(Completion Queue Entry,CQE)。CQE中包含WR的执行状态、数据长度以及标识信息。应用程序可以通过轮询CQ或等待中断通知来获取CQE,从而判断对应的WR是否执行成功。

(4)Memory Region(MR)

MR是RDMA可访问的内存区域。在RDMA通信过程中,应用程序需要将内存注册为MR,RNIC才能够访问该内存空间。内存注册过程会生成本地密钥(Local Key,LKey)和远程密钥(Remote Key,RKey),其中LKey用于本地访问权限控制,而RKey用于远程节点访问权限验证。通过这种机制,RDMA可以在保证安全性的前提下实现远程内存访问。

上述组件共同构成了RDMA的通信基础,使RNIC能够独立完成数据传输操作。

B站已给出之前的相关性能演示视频,如想进一步了解,请搜索B站用户:专注与守望

https://www.bilibili.com/video/BV1f6mbBeEiH/?spm_id_from=333.337.search-card.all.click\&vd_source=c355545d27a44fe96188b7caefeda6e7

相关推荐
gwf2164 小时前
AI训练RDMA拥塞控制:DCQCN/TIMELY/HPCC/Swift —— 芯片级深度剖析与硬件实现
ai训练·rdma·网络架构·拥塞控制·dcqcn·gpudirect·hpcc
Loongproxy6 小时前
抖音企业号更换公司主体怎么操作?矩阵账号配静态长效IP的稳定方案
服务器·网络·网络协议·tcp/ip
影寂ldy6 小时前
C# UDP+串口Modbus转发网关
单片机·网络协议·udp
北冥you鱼8 小时前
HTTPS 推送失败?改用 SSH 一键搞定
网络协议·https·ssh
2401_8685347813 小时前
指令集-最常用 Linux 命令速查手册(整合版)
linux·网络协议
dog25015 小时前
再论 TCP 的流式传输
网络·网络协议·tcp/ip
喜欢吃燃面19 小时前
HTTP协议深度解析:从请求响应到状态管理与安全传输
linux·网络协议·学习
傻啦嘿哟19 小时前
某宝商品爬虫:破解反爬的终极方案(含IP代理池+User-Agent轮换)
爬虫·网络协议·tcp/ip
tyung1 天前
znet 数据编解码:字节流怎么变成消息
后端·网络协议·go
头茬韭菜1 天前
功能点 11-12:客户端、RPC 通信、监控与安全
网络协议·安全·rpc·fluss