tag 标签: 高速传输

相关帖子
相关博文
  • 2025-6-24 23:26
    0 个评论
    RoCE v2协议的队列在创建时就已确定连接类型,共有两种工作模式:主要分为两种工作模式:有连接模式和无连接模式。在有连接模式下,支持可靠连接(RC)和不可靠连接(UC)两种传输类型;而无连接模式则仅支持不可靠数据包(UD)传输类型。两种工作模式的传输方式对比如图1所示。 图1 有连接模式与无连接模式传输方式对比 在有连接传输中,本地主机中的每个队列对分别与一个远程主机中的一个队列对相绑定,只有绑定的 队列对之间可以进行通信 ,队列对无法与任何一个非绑定的队列对进行通信。而在无连接传输中,队列对之间没有绑定关系,每个队列对可以与任意数量的队列对之间进行通信。 有连接传输中的可靠传输(RC)是通过建立连接 来实现的,在该过程中,本地主机与远程主机之间交换双方缓冲区信息、最大传输单元、重传计数、超时时间等信息。RoCE v2协议有两种建立连接的方式,分别为基于CM API的QP间建链和基于Socket API的QP间建链。其中CM API是一种通信管理协议,其建立于InfiniBand/RoCE协议基础之上,在基于CM API的QP间建链过程中,本地主机与远程主机之间通过不可靠报文(UD)进行QP信息交换;Socket是基于TCP/IP协议的一个中间层,其建链过程需要两个网络节点先建立TCP/IP连接,然后通过这条连接来进行QP信息交换。 相关视频感兴趣者,请搜B站用户名: 专注与守望 或链接: https://space.bilibili.com/585132944/upload/video
  • 热度 4
    2025-6-18 11:49
    2435 次阅读|
    0 个评论
    在RoCE v2协议中,RoCE v2队列是数据传输的最底层控制机制,其由工作队列(WQ)和完成队列(CQ)共同组成。其中工作队列采用双向通道设计,包含用于存储即将发送数据的发送队列(SQ)和用于存储已接收到的数据的接收队列(RQ),二者共同组成了端到端的数据传输管道(Pipeline)每一个SQ与RQ绑定起来称为队列对(QP),每个队列对中包含有若干个工作队列元素(WQE)和一些其他元素如本地接收队列指针、本地发送队列指针、远程接收队列指针、远程发送队列指针等。同样的,每一个CQ中也存在着若干完成队列元素(CQE)。这两种元素共同作用,管理数据传输过程并确保数据传输的顺利进行。 前面提到的五种操作中,只有RECEIVE操作会被添加到接收队列。SEND/RECEIVE操作的完整流程,如图1所示,首先由应用程序创建一个工作请求(WR),并将其提交到相应的工作队列。接着,工作队列会随机生成一个工作队列元素(WQE),该元素包括数据发送缓冲区的起始地址、数据长度、操作类型等相关信息,用于后续的传输操作。在该WQE被网卡操作结束后,网卡将生成一个CQE并放入与工作队列(SQ)对应的完成队列中。对于接收端:接收端网卡同样生成一个WR,其中包含数据接收相关参数,在完整接收数据包之后,将数据放入指定内存位置,并生成一个CQE放入与工作队列(RQ)对应的完成队列中。 图1 SEND/RECEIVE操作流程图 而对于READ、WRITE、ATOMIC这三种单边操作,接收端并不感知这一数据传输过程,故而只消耗发送端QP中的WR,并不消耗接收端即远程主机QP中的WR(有立即数的RDMA Write(RDMA Write with immediate)操作不在此范围内)。 RoCE v2作为RoCE v2协议通信的重要机制,通常有五种队列工作状态,分别为:重置(RESET)状态、初始化(INIT)状态、接受就绪(Ready to Receive,RTR)状态、发送就绪(Ready to Send,RTS)状态及错误(ERROR)状态,其不同状态间的切换由RoCE v2队列状态机控制,RoCE v2队列状态机的状态转移图如图2所示 图2 RoCE v2队列状态转移图 RESET状态:当队列处于RESET状态时,表示该QP已经创建但尚未完成初始化,在此状态下,QP既不能接收也不能发送任何数据请求,待初始化完成后会转至INIT状态。 INIT状态:队列处于INIT状态时,表示该QP已完成初始化,能够接收和发送请求。然而,在此状态下,队列只能接收Connect请求或发送Accept请求。 RTR状态:队列对处于RTR状态标识该队列对已经准备好接收Send请求(即进行Receive操作)和Read请求。 RTS状态:队列对处于RTS状态标识该队列对已准备好接收及发送任何RDMA请求,包括READ、WRITE、SEND、RECEIVE等。 ERROR状态:队列对处于ERROE状态标识该队列对已经发生错误,不再被使用,也不再接收或发送任何请求。该状态的产生原因可能为发送队列用尽、接收队列用尽、缓冲区不可读写等。 相关视频感兴趣者,请搜B站用户名: 专注与守望 或链接: https://space.bilibili.com/585132944/upload/video
  • 2025-6-18 00:00
    1 次阅读|
    0 个评论
    超越梦想:RDMA高性能IP # RDMA IP开发的目的 本IP开发的目的是研究一款适合于FPGA端的通用性强,性能优越的RDMA IP开发。它支持FPGA之间,FPGA与PC之间高速通信,只需一根光纤(当然,PC端需要转接卡,将光纤转入PC端,例如100G的CX455A-ECAT 100Gbe 网卡 就可以)。 ## RDMA架构 下面给出VCU118上验证通过得架构,该架构如下: 图1 RDMA架构图 对IP的简单控制由Microblaze完成,DDR负责读写等数据缓存。该结构也是便于后续NVMe oF 开发。 ## 性能测试 在xilinx开发平台测试,网卡支持100G,选用的是CX455A-ECAT 100Gbe。支持RDMA RoCE v2协议。 实测数据: SEND 71 Gbps READ 91 Gbps (PC端给FPGA发包,受PC性能限制多一点,需要较好一点的PC机或服务器) WRITE 96 Gbps R/W 延迟: 小于5 us (128字节) 感兴趣的请看视频: https://www.bilibili.com/video/BV1mPV5eCE8z/?spm_id_from=333.337.search-card.all.click 或者B站搜 用户名: 专注与守望, 或搜内容 RDMA IP。 目前也已在ZU47DR上验证通过,W/R同样超过90Gbps! 注意DDR位宽,需要保证它不是传输瓶颈。 一开始觉得 RDMA较难开发,资料比NVMe厚多了;可供参考的资料太少。但毕竟开发过NVMe host IP,积累一些经验,同时也是感受到相关的需求,就决定开发,幸不辱使命。后续会分享相关文档。
  • 热度 1
    2025-6-17 08:21
    499 次阅读|
    0 个评论
    RDMA协议共有四种子协议,分别为InfiniBand、iWARP、RoCE v1和RoCE v2协议。这四种协议使用统一的RDMA API,但在具体的网络层级实现上有所不同,如图1所示,接下来将分别介绍这四种子协议。 图1 RDMA四种子协议网络层级关系图 InfiniBand:InfiniBand是一种专为RDMA设计的网络,其传输层、网络层及链路层均遵循IB协议规范,没有类似以太网的复杂协议交互计算,从硬件级别保证传输可靠,但成本较为高昂,需要使用专用的IB交换机和IB网卡才可以正常路由。 RoCE v1与RoCE v2:RoCE协议即RDMA over Ethernet,其在以太网上承载IB协议,与IB协议具有相同的传输层,仅在网络层和链路层与IB协议存在差异。RoCE协议有v1和v2版本,其中RoCE v1只能部署于二层网络,其报文结构是在原有IB协议报文基础上增加二层以太网报文头,通过ETH Type标识RoCE报文。而RoCE v2基于UDP/IP协议承载RDMA,可部署在三层网络环境下,在原有IB协议报文基础上增加UDP头、IP头和ETH头,通过UDP端口号4791标识RoCE v2报文。使用普通以太网交换机搭配IB网卡即可实现网络路由。 iWARP:iWARP协议是基于TCP/IP协议的RDMA网络,能够工作在任何TCP/IP协议的网络上层,同时将TCP/IP处理流程从CPU卸载到RDMA网卡处理。仅需要使用普通以太网交换机和iWARP网卡即可实现路由。但在大规模部署时,由于TCP/IP协议点对点连接的特性,将会占用大量的内存资源,对系统规格的要求更高 在对比这四种子协议时,将RoCE v1与RoCE v2协议放在一起讨论,RDMA的子协议的比较如表1所示。 表1 RDMA四种子协议的比较 在当今数据中心应用中,综合考虑到成本、性能、硬件需求等因素的前提下,RoCE v2协议正逐渐成为主流RDMA协议。 相关视频感兴趣者,请搜B站用户名: 专注与守望 或链接: https://space.bilibili.com/585132944/upload/video
相关资源
  • 所需E币: 5
    时间: 2023-2-12 22:11
    大小: 573.96KB
    上传者: ZHUANG
    多核DSP系统高速传输核心的IP设计
  • 所需E币: 3
    时间: 2020-1-2 01:56
    大小: 226.62KB
    上传者: 2iot
    介绍了一种利用USB2.0的高速传输特性,基于USB和DSP的数据采集系统.详细论述了系统的总体结构、部分硬件设计,并简要叙述了相应固件程序的实现.基于USB和DSP昀数据采集系统帕设计戴小俊1’2,丁铁夫1,郑喜凤-(1.中国科学院长春光学精密机械与物理研究所,长春130033;2.中国科学院研究生院,北京100039)摘要:介绍了一种利用USB2.0的高速传输特性,基于USB和DSP的数据采集系统。详细论述了系统的总体结构、部分硬件设计,并简要叙述了相应固件程序的实现。关键词:USBDSPFPGA高速传输测量仪器一般由数据采集、数据分析和显示三部分入FIFO中;当FIFo数据半满后,产生中断,通知DSP进组成,而数据分析和显示可以由PC机的软件来完成,行数据压缩处理;DSP把压缩好的数据依次写入USB接因此只要额外提供一定的数据采集硬件就可以和PC机口芯片的4个从FIF0中,4个从nFO对应USB的4个组成测量仪器。这种基于PC机的测量仪器被称为虚拟端点,DSP一边写入数据,已写满的从FIFO就一边通过仪器…。而在一些数据量比较大、采集时间比……