Whether you’re researching how to use 10GigE or are looking for tips on what you need to consider, this paper offers some best practices to help ensure the smooth set up and optimal performance of a single-camera 10GigE vision system. We list out our best practices for host system configuration, cabling, and camera settings.
On a modern PC, reassembling ethernet packets into image data requires a small percentage of the CPU’s available processing power. However, most vision applications do far more than simply capture and store image data. To ensure you have enough processing power to analyze image data in real time, FLIR recommends a fourth generation Intel® Core™ i7 CPU or greater.
To stream to disk from an Oryx camera requires mass storage to keep up with the 10GigE interface. The popular SATA 3.0 mass storage interface has a maximum bandwidth of 6 GBit/sec. To stream at full bandwidth using SATA Hard Disk Drives or Solid State Drives (SSDs), a RAID array of two or more SATA 3.0 disks is required.
Most new motherboards support M.2 SSD. The M.2 standard uses a PCIe 2.0 x4 or PCIe 3.0 x4 interface that can theoretically provide enough bandwidth to keep pace with a 10GigE camera. Sequential write speed is still limited by flash memory technology. As of early 2018, the M.2 SSD with the fastest write speed is the Samsung NVMe SM951 series, which delivers a sequential write speed of 5.2 Gbit/sec.
Intel’s new Optane 3D XPoint™ memory can deliver write speeds up to 16Gbit/sec; however, the storage capacity of these devices is currently quite small.
10 Gbit/sec is a lot of data; adequate memory bandwidth is essential for reliable operation of 10GigE cameras. A dual channel memory configuration ensures there is sufficient bandwidth to receive incoming packets, assemble them into images, and manipulate them in a vision application.
Rather than one large DIMM, use two smaller DIMMs that add up to the desired memory capacity. By installing system memory in a dual-channel configuration, memory bandwidth is doubled. Memory channels are color-coded on motherboards, simplifying setup. The speed and capacity of memory modules used in dual-channel configurations should match. Many memory manufacturers sell dual-channel kits.
Your system should automatically detect and enable a dual-channel memory configuration. However, it is recommended that this be confirmed and enabled in the BIOS, if necessary.
Systems that support triple and quad-channel configurations are also available. While the additional memory bandwidth of these systems will not improve the performance of 10GigE cameras, they may speed up memory and CPU-intensive vision processing applications. The current DDR4 memory standard is recommended, as it provides greater memory bandwidth than older technologies.
Using the latest version of Spinnaker is recommended and will ensure your system always has the latest features and performance enhancements.
Increasing the Stream Default Buffer Count creates more software buffers. This will improve system performance at the expense of consuming system memory. Buffer size is proportional to image size, so stream buffers for higher-resolution cameras will require more memory.
The PCIe slot that the Network Interface Card (NIC) is installed in can have a significant impact on system performance. Best practice is to plug the 10GigE NIC into the PCIe slot closest to the CPU. Not all motherboards can deliver full bandwidth to all PCIe slots. PCIe slots may share bandwidth with other peripherals such as USB ports or other PCIe slots. To determine which PCIe slots operate at full bandwidth, please see the detailed specifications in your motherboard’s user guide.
Jumbo frames reduce the load on the CPU by reducing the number of packets that must be reassembled into an image. NICs and switches used to connect 10GigE cameras should support 9K jumbo frames.
As 10GBASE-T is increasingly adopted for consumer products, a wide range of NICs has become available. Third-party testing has shown that not all 10GBASE-T NICs can deliver the full 10GigE bandwidth. The GE10-PCIE4XG202 sold by FLIR has been thoroughly tested and validated for use with our Oryx camera.
Coiling ethernet cables that are longer than they need to be may result in connectivity issues, or the link between the camera and the host stepping down from 10GigE to GigE. This is due to interference between adjacent coils. The effect will be more prominent with CAT5e than CAT6A due to the additional shielding of CAT6A. Tight bends in CAT5e cables may also result in signal quality issues. RJ45 couplers should not be used.
For distances less than 30 meters, CAT5e will support a 10GigE link speed. For distances greater than 30m, CAT6A should be used. CAT6A cables have more robust shielding than CAT5e and may work better over short distances in environments prone to electromagnetic interference.
Oryx can be used in multi-camera systems with other Oryx 10GigE cameras or with GigE cameras like the FLIR Blackfly S.
To ensure reliable performance, the available interface bandwidth must be shared between the cameras. Exceeding the bandwidth of the interface between the switch and the host will result in packet loss and dropped frames.
The recommended method for setting camera bandwidth limits is with the Device Link Throughput Limit control. Once the Device Link Throughput is set, the camera will restrict the maximum frame rate to ensure it does not exceed its allocated bandwidth.
In the SpinView GUI, the Device Link Throughput Limit setting can be found under the Device Control section in the feature browser, or using the search bar.
The 10GigE interface is relatively new to machine vision. FLIR is committed to sharing our best practices to help you integrate 10GigE cameras into your systems. For more papers like this, continue to visit www.flir.com/oryx or sign up for our eNewsletter.