随着 RoCE v2 集成至 GigE Vision 3.0,远程直接内存访问(RDMA)已成为高速以太网相机的标准技术。这一机制可实现更可靠的图像数据传输,同时显著降低 CPU 负载,非常适合可扩展的多相机部署应用。 GigE Vision 3.0 与 RoCE v2:
以太网上高性能图像传输的标准化
RDMA

创新提速

随着机器视觉系统不断追求更高分辨率与更高帧率,图像数据量迅速增长,传统网络架构逐渐接近甚至触及性能上限。系统集成商在部署高吞吐量的 10GigE 与 25GigE 相机、并叠加更复杂的视觉算法时,往往会遇到数据包丢失等问题,进而引发 CPU 负载上升与系统时延抖动。为解决这些挑战,通常需要进行细致的系统调优,有时甚至不得不引入定制化或专有方案。
在此背景下,GigE Vision 3.0 的发布,以及通过 RoCE v2 标准引入 RDMA(Remote Direct Memory Access,远程直接内存访问)支持,为行业带来了新的路径。这套机制已在数据中心与高性能计算(HPC)环境中得到充分验证。本文将探讨 GigE Vision 与 RoCE v2 如何协同,为机器视觉网络提供更高效率、更强可扩展性以及更长生命周期的标准化解决方案。

目录

创新提速

GigE Vision 与 RoCE v2:两条独立的标准路径
为什么是现在:RDMA 与 GigE Vision 的融合
RoCE v2 RDMA 如何降低视觉系统中的 CPU 负载
开发者 API 及 RDMA 的软件支持
GigE Vision 的 RDMA:面向未来,准备就绪

数据增加,CPU 负载提升 更高速度、更高分辨率的传感器以及更高带宽的接口正在推动机器视觉领域的快速创新,而日益复杂的检测任务也在不断增加主机系统的数据量和处理负载。

GigE Vision 与 RoCE v2:两条独立的标准路径

GigE Vision 标准于 2006 年推出,旨在统一机器视觉应用中图像数据在以太网上的传输方式。该标准由相机与软件供应商的工程师共同推动与维护,是典型的行业协作项目。只有在对提案进行充分调研与讨论后,新的增补与变更才会被纳入规范,这一流程在 GigE Vision 技术委员会内完成。合规性通过线下的标准一致性测试进行验证,测试包含严格的检查流程,覆盖数百项要求。只有通过测试的产品才会被认定为符合 GigE Vision 标准,从而确保跨供应商的互操作性,以及量产环境下可预测的系统性能。

该标准最初基于 UDP 建立通用传输框架,以实现相机、软件与网络硬件之间的互操作。随着时间推移,GigE Vision 不断扩展能力:
• 2008 年 GigE Vision 1.1:支持数据包重传与块数据(Chunk Data)
• 2012 年 GigE Vision 2.0:官方支持链路聚合(Link Aggregation)与 10Gb 以太网(IEEE 802.3ba),并引入压缩支持与非流式设备控制
• 2018 年 GigE Vision 2.1:改进缓冲区与事件处理,支持更复杂的 3D 数据结构
• 2022 年 GigE Vision 2.2:支持 GenDC 流式传输与多事件数据(Multi Event Data)

GigE Vision

与此同时,数据中心与高性能计算(HPC)领域在解决另一个关键问题:如何在服务器之间以更低延迟、更低 CPU 开销传输海量数据。这推动了 RDMA(远程直接内存访问)技术的发展,并衍生出 RoCE(基于以太网的 RDMA)。RoCE 由 InfiniBand Trade Association(IBTA)制定,目标是将 InfiniBand 的高性能 RDMA 传输机制扩展到标准以太网之上。
• RoCE v1(2010):工作在二层网络,通常限制在本地网段内。
• RoCE v2(2014):加入 UDP/IP 封装后具备可路由能力,可扩展至标准以太网网络。
过去十年间,尽管也出现过其他 RDMA 技术路线,RoCE v2 仍逐步成熟,并在云计算、存储与实时分析等领域得到广泛部署。

10 Mbps
1983
100 Mbps
1993
1 Gbps
1998
10 Gbps
2002
RoCE v1
Released

2010
InfiniBand
Spec v1 Released

2000
(InfiniBand originated from a merger of Future I/O & Next Generation I/O) 2006 40 / 100 Gbps
2010
InfiniBand
Linux Compatibility

2004
GigE Vision 2.1
2018
RoCE v2
Released

2014
25 Gbps,
2.5 / 5 Gbps
(NBase-T)
2016
200 /
400 Gbps
2017
GigE Vision 2.0
2011
GigE Vision 2.2
2012
800 Gbps - 10 Tbps
2023 and Beyond...
GigE Vision logo

GigE Vision 与 RoCE RDMA 两项标准都经历了长期演进。

为什么是现在:RDMA 与 GigE Vision 的融合

将 RDMA 引入基于以太网的机器视觉相机,这一思路早在 2016 年就由 GigE Vision 标准委员会提出。2017 年,该委员会进一步提交提案,概述了面向 RDMA 设计的新 GVSP 负载类型。尽管技术上可行,但当时整个机器视觉生态尚未成熟:一方面,RDMA 路线仍不明朗,iWARP 与英特尔 Omni-Path 等方案也在竞争;另一方面,RoCE v2 虽然热度上升,但 RoCE v2 网络接口卡(NIC)价格高、选择少,且将其集成进视觉系统仍需额外工程投入。

HPC-RDMA-1

RoCE 于 2010 年由 IBTA 引入,旨在将 RDMA 引入高性能计算(HPC)领域。RoCE v2(2014 年)通过加入 IP 路由与流量控制能力,使其更易于规模化、标准化部署。

与此同时,多数机器视觉应用仍可通过 1GigE 相机满足需求;对更高带宽有要求的用户,也已有 USB 3.0、Camera Link 与 CoaXPress 等替代接口可用。高吞吐量以太网的需求虽在增长,但整体规模仍相对有限。早期采用 10GigE 的用户通常依赖高性能主机 PC、较轻量的视觉处理,并通过合理调优即可让基于 UDP 的传输满足要求。因此,许多相机制造商并未积极投入 RDMA,也不愿构建与维护完整的 RDMA 兼容生态。缺少广泛的厂商支持与明确的终端需求,使得 RDMA 纳入 GigE Vision 标准的推进一度被搁置。

随着多路 10GigE 相机应用逐渐普及,RDMA 的价值再次凸显。越来越多客户选择以太网,不仅因为带宽提升,更因为其工业可靠性与网络灵活性。以太网具备电隔离、长距离布线、以太网供电(PoE)、精确时间协议(PTP)与动作命令等特性,非常适合构建复杂且可扩展的视觉系统。用户希望在保留这些工业优势的同时,获得 10GigE 及更高带宽下的稳定性能。
然而,当系统扩展到多路 10GigE 相机并叠加更高级的视觉处理时,UDP 数据包丢失与重传往往会抬升 CPU 负载并削弱系统稳定性。为管理多相机数据流所需的 CPU 资源快速上升,这清晰表明:GigE Vision 需要重新评估并推进 RDMA 的标准化落地路径。

UDP 数据包重传性能瓶颈: 10GigE 和 25GigE 相机可产生海量数据流,在 CPU 资源有限且系统未优化的情况下,容易造成系统性能受限。当发生丢包时,UDP 重传带来的额外处理开销可能引发连锁反应,导致更多数据包丢失和图像损坏,尤其是在多相机部署环境下,进而形成 CPU 负载持续升高、系统可靠性下降的恶性循环。 UDP 数据包重传机制: 该动画展示了主机 PC 处理乱序数据包和丢包的过程。相机厂商提供的 Filter Driver 通过读取 GVSP 报文头来监控 UDP 数据流,从而实现数据包重传。在 1GigE、2.5GigE 和 5GigE 速率下,由于数据吞吐量相对较低,系统通常能够有效处理重传过程,确保数据传输的可靠性。

随着多路 10GigE 相机应用不断增长,RDMA 再次成为行业关注焦点。客户选择以太网不仅因为其高速传输,更因为其工业可靠性与网络灵活性。以太网具备电隔离、长距离布线、以太网供电(PoE)、精确时间协议(PTP)与动作命令等特性,使其成为复杂且可扩展视觉系统的理想基础。用户希望在保留这些工业优势的同时,获得 10GigE 及更高带宽下的稳定性能。

然而,当系统扩展到多路 10GigE 相机并叠加更高级的视觉处理时,UDP 数据包丢失与重传 往往会引发更高的 CPU 负载,并带来可靠性风险。为管理多相机数据流所需的 CPU 资源快速上升,使得重新评估 RDMA 在 GigE Vision 标准中的应用变得愈加迫切。

与此同时,RoCE v2 RDMA 的生态也发生了显著变化。由于采用 UDP 封装,RoCE v2 的部署规模快速扩张。随着 博通 BCM57414BCM957414 芯片组推出,RDMA 网络接口卡(NIC)逐渐普及且成本下降,价格也更接近非 RDMA NIC。操作系统在 WindowsLinux 上的支持日趋成熟,RoCE v2 被更广泛理解并规模化部署,逐步超越其他竞争性 RDMA 技术路线。

基于上述变化,GigE Vision 标准委员会决定将 RoCE v2 RDMA 纳入规范,作为可选的传输机制。原有的 UDP 传输仍将继续支持,而 RDMA 则为需要更高带宽、同时希望降低 CPU 数据流管理开销的系统,提供了符合标准的替代方案。

RoCE v2 RDMA 如何降低视觉系统中的 CPU 负载

在传统的基于 UDP 的系统中,相机将图像数据发送到主机后,CPU 需要负责数据包重组、校验、重传处理,并将数据复制到应用缓冲区。RDMA 提供了更高效的替代路径。使用 RoCE v2 时,数据可直接从相机的内存缓冲区传输到主机内存,绕过内核参与并显著减少 CPU 介入。
RDMA 通过将主机内存注册到支持 RDMA 的网络接口卡(NIC,也称为主机通道适配器 HCA)来实现“固定内存(pinning)”,确保相机数据驻留在物理 RAM 中,不被操作系统迁移。随后,NIC 被授权直接访问该内存并负责数据流管理,包括流量控制与数据包重传。

要使 RDMA 生效,网卡(NIC)必须将内存固定在物理 RAM 中。固定内存会为相机数据传输与缓存预留这部分内存资源。

RDMA 数据流可视化:简化示意图,展示队列对与完成队列如何协同实现零拷贝内存传输。

每个 RDMA 连接使用队列对(Queue Pair)结构,每对队列包含一个发送队列和一个接收队列。同时,完成队列(Completion Queue)用于跟踪每次传输的状态,使应用程序能够判断数据何时就绪并进入后续处理。这些队列由主机侧的 RDMA NIC 硬件管理。由于数据传输主要在相机与 NIC 硬件之间完成,CPU 无需参与数据流的搬运与管理,这一机制被称为 零拷贝传输(Zero-Copy Transfer)。它能够显著降低系统开销、提升确定性,并释放 CPU 资源用于视觉算法、用户界面或控制逻辑。

开发者 API 及 RDMA 的软件支持

要实现 RDMA 通信,开发者通常使用被称为 verbs 的底层编程 API。在 Linux 上,libibverbs 提供用户空间访问接口;在 Windows 上,微软提供 Network Direct Service Provider Interface。这些库使软件与相机制造商能够调用 RDMA 硬件能力,从而实现高性能流式传输。例如,它们支持将 RDMA 流集成到 LUCID Arena SDK 中,包括 ArenaView GUI、API,以及其他符合 GigE Vision 标准的软件。

RDMA-Verbs-Microsoft-Linux-1

在应用程序中,RDMA 设备编程通常从 RDMA verbs 入手。verbs 是构建 RDMA 应用的底层基础模块。

这些 API 提供内存注册与固定、创建并管理队列对、以及发布数据传输操作等核心能力,是依托 RDMA NIC 实现零拷贝传输的关键。但需要注意的是:这些 API 仅提供通信机制本身,并不规定 RDMA 在机器视觉应用中的组织方式或管理模型。

数据包序列号(PSN)嵌入在 InfiniBand 基础传输头(IB BTH)中,接收端仅接受按顺序到达的数据包。

这正是 GigE Vision 3.0 的关键价值所在。该标准定义了基于 RDMA 的图像流应如何建立、运行与终止,并规定所需的设备寄存器与控制节点、内存资源的分配方式,以及用于传输图像数据的数据包格式。这确保了相机行为一致、性能可预测,并实现不同实现方案之间的互操作性。

GigE Vision 3.0 中对 RDMA 的标准化,为系统集成商带来重要价值,其中最突出的优势是软硬件选择的自由度。集成商无需绑定单一厂商生态,而可以采用广泛支持、符合标准的组件来构建系统。此外,RoCE v2 可运行在可路由的 IP 网络之上,更易兼容常见以太网基础设施与现有交换机,从而进一步降低部署复杂度。

LUCID Vision Labs 已为其 10GigE 相机系列(Atlas10Triton10)实现 RDMA 支持,并将在 GigE Vision 3.0 标准完成认证后提供正式支持。当与 RDMA NIC(例如 LUCID 的低成本 4 端口与 2 端口 10GigE PoE 网卡)配合使用时,图像数据可直接写入主机内存。该能力对需要实时推理或高帧率图像处理的应用尤为关键,例如机器人引导、工厂自动化与制造检测。通过将 CPU 从数据路径中“剥离”,开发者能够在多相机持续负载下获得更稳定的吞吐表现与更低的端到端延迟。

Triton10 Camera

Atlas10 Camera

4-CH PoE RDMA NIC

2-CH PoE RDMA NIC

2-CH RDMA NIC

GigE Vision 的 RDMA:面向未来,准备就绪

通过 RoCE v2RDMA 纳入 GigE Vision 3.0 标准,标志着高性能机器视觉系统迈出关键一步。尽管 RDMA 的技术基础早已成熟,但直到近期,相关生态才在成本、可获得性与软件支持方面达到“可规模化应用”的水平,使其真正适用于工业成像场景。

对用户而言,其价值不仅在于性能提升,更关键在于标准化GigE Vision 3.0 明确了 RDMA 在不同设备与平台上的使用方式,而 RoCE v2 提供了可靠、可 IP 路由的传输机制,并已在数据中心、云基础设施与高性能计算(HPC)系统中得到大规模验证。这意味着相关协议不再依赖实验性或专有实现,而是具备清晰定义、广泛落地,并在严苛环境中经受过验证的标准技术。

当 RDMA 纳入 GigE Vision 标准后,用户可更有把握地实现跨厂商软硬件的稳定协同,从而降低集成成本与周期。同时,这也有助于获得更长期的可维护性、更强的扩展能力,以及更丰富的工具链与组件选择。

美国自动化促进协会(A3)关于 GigE Vision 3.0 与 RDMA 的宣传声明