当前位置: 首页 > news >正文

RDMA之GDR、GDRCopy、IBRC 与IBGDA (3)

一、GDR (GPUDirect RDMA)

在GDR(GPUDirect RDMA)技术出现前,由于GPU具备独立的内存空间,RDMA网卡无法直接访问GPU显存,所有数据必须通过CPU系统内存中转,路径为:RDMA 网卡 ↔ 系统内存 ↔ GPU 显存[2]。GDR通过使RDMA网卡直接读写GPU显存,消除了CPU拷贝开销,能够显著提升GPU数据传输效率。

支持GDR后,RDMA网卡在获得GPU地址指针后调用GPU驱动接口,将GPU虚拟地址转换为物理地址。完成地址查询与内存注册后,RDMA即可直接访问该GPU显存区域。

二、GDRCopy

GDRCopy是基于NVIDIA GPUDirect RDMA实现的低延迟GPU内存拷贝库[4]。它支持GPU与CPU间数据传输(D2H/H2D),由CPU驱动,具有低开销和低延迟的特点,尤其适用于小消息的高效搬运。下图[5]对CPU驱动的GDRCopy与GPU驱动的cudaMemcpy进行了性能对比:

三、IBRC(InfiniBand Reliable Connection)

IBRC使用CPU Proxy线程管理通信,其操作步骤如上图,具体如下:

  1. CUDA kernel生成数据;
  2. SM线程将通信的工作描述符写入CPU Proxy缓冲区;
  3. CPU Proxy检测工作描述符并启动相应的网络操作;
  4. CPU创建工作描述符并将其存入WQ队列,该描述符指示请求的操作(如RDMA写入),包含源地址、目的地址、大小和其他网络信息;
  5. CPU更新内存中的Doorbell record缓冲区(DBR),网卡丢失DB信息可用此缓冲区恢复;
  6. CPU通过写入DB(NIC中的寄存器)通知网卡进行数据传输;
  7. NIC从WQ缓冲区中读取工作描述符;
  8. NIC使用GDR(GPUDirect RDMA)直接从GPU内存读取复制数据;
  9. NIC将数据传输至远程节点;
  10. NIC通过向主机内存完成队列(CQ)缓冲区写入事件表示网络操作已完成;
  11. CPU轮训CQ缓冲区以检测网络操作是否完成;
  12. CPU通知GPU网络操作已完成。如果存在GDRCopy,CPU会直接将通知flag写入GPU内存,否则,它会将该标志写入Proxy缓冲区,由GPU轮询以获取工作请求的状态。

IBRC有两个主要缺点:

  1. 消耗CPU资源;
  2. 代理线程存在瓶颈,在高并发小消息传输时无法达到NIC的峰值吞吐。

四、IBGDA(InfiniBand GPUDirect Async)

IBGDA使SM能够直接与NIC交互,其操作步骤如上图,具体如下:

  1. CUDA kernel生成数据;
  2. SM创建NIC工作描述符,并将其直接写入WQ缓冲区。与CPU代理方法不同,此WQ缓冲区位于GPU内存中;
  3. SM更新DBR缓冲区(同样位于GPU内存);
  4. SM通过写入NIC的DB寄存器来通知NIC;
  5. NIC使用GDR读取WQ缓冲区中的工作描述符;
  6. NIC使用GDR读取GPU内存中的数据;
  7. NIC将数据传输至远程节点;
  8. NIC通过使用GDR向CQ缓冲区写入事件通知GPU网络操作已完成。

介绍IBRC时提到,代理线程存在瓶颈,在高并发小消息传输时无法达到NIC的峰值吞吐,而IBGDA不存在该问题。在小消息AlltoAll场景下,IBGDA具有更低的时延。

五、CPU-assisted IBGDA

在deepEP仓库的third-party/README.md中提到,想要使用NVSHMEM的IBGDA:

要么设置nvidia内核配置:

options nvidia NVreg_EnableStreamMemOPs=1 NVreg_RegistryDwords="PeerMappingOverride=1;"

要么安装GDRCopy并加载gdrdrv内核模块。两种方式任一均可支持IBGDA。

在没有或者不支持PeerMappingOverride=1驱动程序设置的系统上,可采用基于 GDRCopy 的 CPU 辅助型 IBGDA 方案。该模式介于 IBRC 与 IBGDA 之间,将控制面任务拆分至 GPU 和 CPU 共同处理:由 GPU 生成工作请求,CPU 通过 GDRCopy 轮询获取这些请求并通知 NIC(Ring DB)。

与 IBRC 相比,CPU-assisted IBGDA 仅需 CPU 执行少量控制面操作,可避免或缓解 Proxy 瓶颈问题;与纯 IBGDA 相比,该方案降低了对系统配置的依赖,有助于提升 IBGDA 在不同平台上的适用性和部署率。

参考文章:

1、(3 封私信 / 80 条消息) GPUDirect RDMA 的演进与实现 - 知乎

http://www.jsqmd.com/news/851000/

相关文章:

  • 国内主流微型气泵品牌实测排行及适配场景解析 - 奔跑123
  • ES面试题
  • 深度拆解:macOS上的Xbox控制器驱动生态全景图
  • 工厂员工入转调离全流程自动化实操方法 | 2026企业级实在Agent深度实践指南
  • 用Verilog在FPGA上实现实时Sobel边缘检测:从图像缓存到阈值比较的完整流程
  • 宇视云APP导出IPC诊断信息操作指导
  • 2026 玻璃钢管道厂家实力 TOP5:河北舜晨领衔,采购不踩坑+全场景适配 - 速递信息
  • 告别霍尔传感器:手把手教你用电感法搞定无刷电机启动(附Arduino代码)
  • 2026年新疆穴位压力刺激贴选购指南:禹孚无源物理理疗贴深度评测与官方联系方式 - 优质企业观察收录
  • Generative AI applications - What LLMs can and cannot do
  • 迅为iTOP-RK3576开发板评测:从硬件解析到AIoT实战部署
  • ESXi 7.0升级后后悔了?别慌,用VMware Hypervisor Recovery轻松降级(含6.x升7.0特殊说明)
  • 你正在找靠谱吹塑机厂家?这3个选型维度比榜单实用 - 速递信息
  • 微信小游戏性能天花板在哪?用Unity URP项目实测告诉你(附与iOS原生对比)
  • 蒙城悦洁家政服务经营部:安徽房屋漏水维修公司 - LYL仔仔
  • N_m3u8DL-RE流媒体下载器:如何轻松下载加密视频的完整指南
  • kubesphere
  • 从跟跑向领跑跨越,炎怀科技携自主研发TPS导热仪、高精度热台首次亮相2026主动散热与被动散热技术产业大会
  • 从零搭建水文监测数据平台:基于SL651协议与Node-RED的实时解析与可视化
  • 福建旧黄金回收旧银饰回收PT950铂金回收钻戒回收金银铂钻回收高价多少钱一克同城价格查询上门上门估价闲置变现转让靠谱权威排行榜 - 检测回收中心
  • 深圳人注意了!黄金回收报价高不等于到手多,这篇避坑指南帮你省下几千块 - 润富黄金珠宝行
  • 终极跨平台GUI解决方案:深入解析VcXsrv Windows X Server完整技术指南
  • 别再只懂104了!从风扇到芯片,手把手拆解电容在电路里的5种‘隐藏用法’
  • ARM SME指令集UMLSL多向量运算详解
  • 3步掌握ComfyUI-Impact-Pack:让AI图像细节从模糊到惊艳的终极指南
  • GPT-4o vs Claude 3.5 vs DeepSeek:测试工程师该如何选拔大模型?
  • 天龙八部GM工具终极指南:5分钟掌握游戏数据管理核心技巧
  • Flutter状态管理选型指南:Provider、Bloc、Riverpod,我的项目到底该用哪个?
  • LaTeX子图排版避坑指南:为什么你的图总对不齐?从原理到实战一次讲清
  • CAN DBC文件实战:手把手教你用CANdb++为OBD诊断信号建模(含Value Tables技巧)