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

相关推荐
yi碗汤园3 小时前
MQTT消息队列遥测传输协议
网络·网络协议·unity
花间相见4 小时前
【后端开发|网络编程】—— 五种实时通信方案全解析:短轮询、长轮询、SSE、MQTT、WebSocket
后端·网络协议
gwf2167 小时前
AI RDMA网络的光互联:CPO与硅光子技术前瞻——基于芯片设计验证与系统级协同的深度剖析
rdma·dpu·cpo·ibgda·ai集群网络·硅光子·光互联
AKA__Zas10 小时前
跨网段主机的文件传输过程
java·网络·网络协议·学习方法
2501_9160088910 小时前
SSE 和 gRPC 流式接口如何抓包,调试 SSE 与 gRPC 流式接口
网络协议·计算机网络·网络安全·ios·adb·https·udp
鱼月半1 天前
两台电脑直连网络不通怎么办?
linux·网络协议
captain3761 天前
网络原理(7)-NAT(Network Address Translation)
java·网络·网络协议·java-ee
爱研究的小梁1 天前
异构链路科普:5G/4G、卫星、专网、WiFi、光纤,如何聚合工作?
网络·网络协议·udp·信息与通信
gwf2161 天前
RDMA在联邦学习与跨DC训练中的应用:从协议栈到芯片微架构的深度解析
rdma·nccl·硬件加速·rocev2·dcqcn·gpudirect·ai集群网络
梦想平凡1 天前
情怀棋牌源代码焕新记录(一):全新国风UI与原版工程梳理
java·服务器·数据库·websocket·网络协议·cocos2d