本系列主要是结合RDMA项目需求展开。 通过分析工作在 FPGA 上的基于 RoCE v2 协议的高速数据传输系统,展开其主要功能仿真验证和板级测试,最后在实际应用环境中对性能进行
了测试。

本系列博文主要分享内容如下:
(1)对 RoCE v2 高速传输系统所涉及到的关键基础技术进行了分析。详细分析了 RDMA 技术及相关子协议的优缺点,而后对 RoCE v2 协议栈的原语、队列、连接方式和可靠传输等方面的技术细节进行了具体分析,最后分析了 AXI 总线传输协议,为 RoCE v2 高速传输系统的设计做好准备工作。
(2)结合项目需求提出了具体的设计目标和性能指标,对 RoCE v2 高速传输系统的整体架构进行了设计,并根据功能进行各个功能模块的划分和定义。而后分别对系统控制模块、融合以太网协议栈和以太网协议栈进行设计与实现。其中系统控制模块使用 AXI4-Lite 总线接口进行寄存器读取及写入,降低了系统集成到生产应用环境的难度,同时也降低了用户使用时的复杂度。融合以太网协议栈负责实现 RoCE v2 协议栈相关功能,包括队列及连接管理、包处理、ICRC 校验生成及拥塞管理等子模块,为了进一步降低系统处理时延,在关键数据路径上均采用流水线设计,仅在连接建立或包发送等需要组装数据包的过程中使用了状态机。同时在队列管理子模块中,通过存储与控制分离的方式实现了最大队列数量为 8 的可动态配置队列。以太网协议栈则实现了 UDP/IP 及 ETH 层中的关键功能,同时也为局域网内部署提供了网络嗅探功能支持,便于系统能够更轻松的部署到应用环境。
(3)针对 RoCE v2 高速传输系统搭建了基于 System Verilog 的验证平台,同时设计了用于模拟 RoCE v2 远程主机行为的 RoCE v2 子系统模型。在该验证平台上对RoCE v2 高速传输系统的主要功能进行了仿真验证,并对仿真验证结果进行了分析,其中主要功能包括寄存器、队列管理及连接建立、RoCE v2 单双边语义、网络嗅探功能等。验证结果表明 RoCE v2 高速传输系统的主要功能符合设计需求。
(4)在基于 XCZU47DR 的开发板上搭建了硬件测试平台,并为功能和性能测试开发了对应的基于 Vitis 的软件测试平台,同时在远程主机上搭建了用于测试的软件环境。首先对 RoCE v2 高速传输系统的主要功能进行了测试,并对测试结果进行了详细分析,确保其在实际生产应用环境中功能的正确性,而后分别对数据吞吐量、包吞吐量和延迟等性能指标进行了测试,并对测试数据进行了详细分析。测试结果表明RoCE v2 高速传输系统的数据吞吐量接近理论极限,同时传输延迟较 Linux 基线有所降低,满足项目性能需求。
B站已给出相关性能的视频,如想进一步了解,请搜索B站用户:专注与守望