0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RDMA over RoCE V2设计1:为什么要设计它?

高速传输与存储 来源:高速传输与存储 作者:高速传输与存储 2025-07-15 10:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

设计目标:
RDMA技术采用无感传输机制,消除传统网络传输中需要CPU介入下的多重数据复制与内核参与环节,实现直接跨主机内存访问的机制。其设计目标为优化分布式环境下的数据传输效率,降低CPU负载。
RoCEv2基于标准网络的以太网、网络层和传输层(UDP)协议,这可以使得RoCEv2的网络流量可以经过传统的网络路由器路由。之前RDMA简介1~8有对相关资料介绍,这里强调的是:它是目前性价比最高的RDMA实现方式,虽然IB模式在一些高校应用较多,但因为它的专有特性,价格较贵,难广泛用于产品中。

设计思考
基于PC-PC或GPU-GPU之间RDMA设计已有较多厂商投入,虽然有的大厂投入几年后折羽而归,但不影响PC领域成熟应用产品的推广。这里主要讨论在FPGA上设计RDMA over RoCE V2,虽然已有xilinx的ernic应用,但是性价比以及国产化需求还是有其发展空间。这里讨论设计需要着重考虑地方:
1)通用性
一般项目中的数据采集前端基于 FPGA 进行开发。第一,各数据采集前端使用的 FPGA型号各不相同,需要实现的设计能够工作在多种不同型号 FPGA 上;第二,为了降低设计部署成本,需要实现的设计能够在脱离 CPU 控制下独立运行和控制传输;第三,一些厂商不愿意采用私有化协议,主要是考虑其被迫被捆绑,私有协议也就意味着难以与其他系统兼容,一旦存在功能或性能设计不足,只能前功尽弃。考虑到以上三点需求,设计时建议采用纯逻辑电路实现。
2)高性能
数据采集前端得到的数据,数据块大小不固定、数据速率也不尽相同。同时对于数据传输的需求也并不相同,存在一对一、一对多、多对多等多种传输情况。面对大量离散数据时,需要增加 RDMA 队列数量及深度,同时灵活调整数据包大小来保证传输性能,而面对大量连续数据请求时,则可通过减少队列数量的方式来降低功耗。
同时,在面对一对多或多对多传输需求时,则要求设计能够正确地处理网络拥塞情况并正确地进行流量控制。因此,需要实现完备的队列管理及拥塞处理功能,在满足性能要求的同时适应不同的应用环境。具体要求为使用 QSFP28 及以上光纤接口,在传输不小于 256 MB 的连续数据时,数据传输速率不小于 90 Gbps。在传输包大小为 4KB 时,延迟不高于 10 μs、包吞吐量不小于 1000 kpps。这里也只是简要指标分析,上面这些指标在PC-FPGA之间实现较容易,在FPGA-FPGA之间还是有一些挑战。这也反映竞争环境下适者生存,最后生存的不大可能是大多数。虽然我们设计的IP性能(包括我们A, FPGA-FPGA)早已超越这些指标,相信其他厂家也能满足。
3)易集成、用户操作简便
实现的 RDMA 协议栈和控制逻辑,应能够简易地集成到应用生产环境中,并提供简易的用户操作方式来实现数据传输控制及队列控制。因此,设计需要使用标准化接口,同时尽可能地降低资源占用率,并具备 DMA 数据传输功能。
4)稳定性
这里强调的是,如果只是预研项目,就不大需要考虑稳定性,其特有的功能和性能才是项目需要重点解决的。但是作为商用IP,就需要考虑其稳定性,不能出现上次可以,这次就工作不正常,或者性能下降明显情况。

它涉及到‌几个因素:
1)高速接口的匹配性‌:RDMA数传通道一般采用AXI总线,它需确保IP核与FPGA的如AXI4-Stream/AXI4-Lite等兼容性,避免因协议不匹配导致传输错误; ‌
2)‌时序优化:一般它需要跨时钟域设计,因此对时钟同步、信号路径规划和资源分配等关键因素需要重点考虑;
3)‌存储资源分配‌:合理设计FIFO深度,(一般采用2的整数次幂深度设计)和RAM块数量,避免因资源不足导致数据丢失或性能下降。 ‌

这里给出IP读写性能情况:

wKgZO2h1wjqAC2ImAABynuCedFo892.png


B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望
链接:https://space.bilibili.com/585132944/dynamic?spm_id_from=333.1365.list.card_title.click

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22571

    浏览量

    640733
  • 高速传输
    +关注

    关注

    0

    文章

    47

    浏览量

    9327
  • RDMA
    +关注

    关注

    0

    文章

    103

    浏览量

    9689
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RDMA设计46:RoCE v2原语功能:单边语义

    本博文主要交流设计思路,在本博客已给出相关博文约170篇,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 续上,为便于查看,给出表1部分表1 RoCE v2
    发表于 03-01 23:14

    RDMA设计44:RoCE v2原语功能验证与分析

    它是RoCE v2协议进行信息及数据交换的核心机制,也是DUT需要实现的核心机制之一,对该功能的仿真验证需要考虑指令的提交数据包的组装及发送、数据的DMA处理等。
    的头像 发表于 02-25 09:26 411次阅读
    <b class='flag-5'>RDMA</b>设计44:<b class='flag-5'>RoCE</b> <b class='flag-5'>v2</b>原语功能验证与分析

    RDMA设计37:RoCE v2 子系统模型设计

    、五个处理单元及一个 CM 管理器。 RoCE v2 子系统模型结构如图1所示: 图1 RoCE v2
    发表于 02-06 16:19

    RDMA设计30:RoCE v2 发送模块2

    RoCE v2 发送模块检测到发送队列非空时,则从发送队列中读取一个发送队列条目,并判断请求类型。根据不同的请求类型和请求长度进入不同的包生成流程,这一过程由请求状态机实现。
    的头像 发表于 01-27 11:56 947次阅读
    <b class='flag-5'>RDMA</b>设计30:<b class='flag-5'>RoCE</b> <b class='flag-5'>v2</b> 发送模块<b class='flag-5'>2</b>

    RDMA设计29:RoCE v2 发送及接收模块设计2

    本博文主要交流设计思路,在本博客已给出相关博文约100篇,希望对初学者有用。注意这里只是抛砖引玉,切莫认为参考这就可以完成商用IP设计。 (1RoCE v2 发送模块 RoCE
    发表于 01-26 16:47

    RDMA设计28:RoCE v2 发送及接收模块设计

    v2 数据包或从 RoCE v2数据包中解析出远程主机信息及数据。RoCE v2 发送及接收模块的结构和数据转移方式如图
    发表于 01-25 10:45

    RDMA设计19:RoCE v2 发送及接收模块设计

    RoCE v2 数据包或从 RoCE v2数据包中解析出远程主机信息及数据。RoCE v2
    发表于 01-06 08:08

    RDMA设计5:RoCE V2 IP架构

    上面分析,基于RoCE v2 高速数据传输IP 的高速传输应用整体架构如图 1 所示。 图1 基于RoCE
    发表于 11-25 10:34

    RDMA设计1:开发必要性1之设计考虑

    ) 易集成、 用户操作简便  全模块化, 各层级可单独使用  标准总线接口  低资源占用 三. RDMA over RoCE V2 IP 简介 如图
    发表于 11-19 14:30

    RDMA over RoCE V2设计1:通用,稳定及高性能!

    几年后折羽而归,但不影响PC领域成熟应用产品的推广。这里主要讨论在FPGA上设计RDMA over RoCE V2,虽然已有xilinx的ernic应用,但是性价比以及国产化需求还是有
    发表于 08-05 17:53

    RDMA over RoCE V2设计2:ip 整体设计考虑

    这里重点讨论PC与FPGA之间采用RDMA RoCE v2 高速数据传输。该IP系统的整体架构如图 1 所示。通过 QSFP28 接口连接
    的头像 发表于 07-16 08:55 876次阅读
    <b class='flag-5'>RDMA</b> <b class='flag-5'>over</b> <b class='flag-5'>RoCE</b> <b class='flag-5'>V2</b>设计<b class='flag-5'>2</b>:ip 整体设计考虑

    RDMA over RoCE V2设计2:ip 整体框架设计考虑

    这里重点讨论PC与FPGA之间采用RDMA RoCE v2 高速数据传输,FPGA与FPGA后面介绍。该IP系统的整体架构如图 1 所示。
    发表于 07-16 08:51

    RDMA over RoCE V2设计1:通用,稳定及高性能!

    几年后折羽而归,但不影响PC领域成熟应用产品的推广。这里主要讨论在FPGA上设计RDMA over RoCE V2,虽然已有xilinx的ernic应用,但是性价比以及国产化需求还是有
    发表于 07-15 10:54

    RDMA简介5之RoCE V2队列分析

    RDMA Write with immediate)操作不在此范围内)。RoCE v2作为RoCE v2协议通信的重要机制,通常有五种队列
    发表于 06-05 17:28

    RDMA简介4之ROcE V2初析

    RoCE v2原语 (1RDMA READ操作将远端主机内存中的数据读取到本地。具体流程为:本地主机将需要请求数据的地址、长度及对应的远程访问密钥发送给远程主机,远程主机比对密钥通
    发表于 06-05 15:20