RDMA for 10GigE Cameras: Enhanced Speed and Reliability
20.12.2023 - Lowering CPU Usage in High-Bandwidth Ethernet Camera Applications
An alternative for high bandwidth in multi-camera applications is Remote Direct Memory Access (RDMA) which bypasses CPU and operating system (OS), storing image data directly in the host PC memory. So it is very helpful handling large data in high-bandwidth Ethernet camera applications.
High-speed data transmission continually evolves to match bandwidth-intensive application demands. User Datagram Protocol (UDP) has traditionally excelled for GigE Vision camera data streaming due to efficiency but falls short in flow control and packet retransmissions for higher bandwidth applications such as 10GigE and 25GigE. Remote Direct Memory Access (RDMA) is a viable alternative for high bandwidth, multi-camera applications, offering a more robust and efficient data transmission method. RDMA bypasses CPU and operating system (OS), storing image data directly in the host PC memory. This is perfect for managing large data in modern high-bandwidth Ethernet camera applications.
Eliminating the CPU Bottleneck
UDP for GigE Vision suits 1GigE, relying on OS and CPU for missing packet management. For higher bandwidth, RDMA provides a solution by enabling CPU-free data movement between network devices, allowing network adapters to directly write data into host PC memory.
RDMA’s success began with Infiniband, popular in high-performance computing. Roce v1 (2010) addressed Infiniband needs over the Ethernet link layer protocol, and Roce v2 (2014) extended routing across Layer 3 networks and flow control. Adapting RDMA to Ethernet offers high throughput, low latency, hardware offload, industrial connectivity, long cable lengths via Power over Ethernet (PoE), and interoperability.
Implementing RDMA over GigE Vision involves adapting the GigE Vision Stream Protocol (GVSP) by establishing an RDMA stream channel through a reliable connection (RC), similar to a TCP connection. GVSP eliminates GVSP headers for image payload transfers, with Roce v2 HCA managing packet resends. Flow control occurs as the camera retains packets until acknowledged by the receiver (ACK), reducing overhead and CPU usage, managed by dedicated HCA hardware.
Only 0.08 percent CPU usage with RDMA
Lucid leveraged RoCE v2, an open standard network technology, and tailored it to GigE Vision to conquer UDP's challenges in achieving 10GigE bandwidth. This significantly reduces CPU load from image acquisition, minimizing image delivery latency and boosting data throughput. Lucid’s tests with a typical industrial PC system show that streaming 4x Atlas10 10GigE cameras only uses 0.08 percent CPU with RDMA, compared to 5.38 percent with conventional GigE Vision UDP.
The camera manufacturer recently announced the integration and availability of RDMA across its complete range of Atlas10 10GigE cameras. RDMA provides optimized, zero-copy image transfer over a 10GigE interface. The Atlas10 with RDMA reliably streams 1.2GB/s of data directly to main memory, bypassing the CPU and OS.
Lucid’s RDMA implementation includes an updated Arena SDK version featuring RDMA support, a complimentary RDMA firmware upgrade for all existing Atlas10 camera models, and a selection of two compatible, cost-effective dual port 1G/10 G PoE+ RDMA-enabled network interface cards. RDMA empowers Ethernet-based cameras in high-bandwidth applications, ensuring faster, dependable data transmission and reinforcing Ethernet as the preferred industrial interface for machine vision.
Author
Alexis Teissie, Senior Product Manager at Lucid Vision Labs