Introduction
Running multiple Atlas10 10GigE cameras requires a certain level of computer resources for streaming reliability. This KB will describe our PC configuration and network settings, where images were captured from multiple Atlas10 cameras simultaneously on an Intel i9 PC in ArenaView without any dropped packets.
Hardware and Software Test Environment
Cameras:
|
Camera Settings:
|
Software:
- ArenaSDK 1.0.29.5
- LUCID Light Weight Filter Driver:
- Driver Name: LUCIDLwf.sys
- Driver Version: 0.0.25.0
- Windows 10 Pro 64-bit version 20H2, build 19042.804
Host PC System Configuration:
Motherboard | ASUS WS X299 PRO/SE Intel LGA2066 M.2 PCIe USB3.1 Dual Lan ATA |
Processor | Intel(R) Core(TM) i9-10900X CPU @ 3.70GHz |
Memory | Corsair VENGEANCE LPX 128GB (8x16GB) DDR4 DRAM 2933MHz (Quad Channel) |
Operating System | Windows 10 Pro 64-bit version 20H2, build 19042.804 |
Video | Zotac nVidia GeForce GT710 2GB GDDR3 PCIe |
Storage | Kingston A2000 M.2 2280 500GB Internal Solid State Drive (SA2000M8/500G) |
Network Interface Cards (more details below) |
PCIE-POE2-MG (MFR P/N: IOI DGEAP2X-PCIE8XG302, 2-port 10G/5G/2.5G/1G PoE+ NBASE-T) PCIE-POE1-MG2 (MFR P/N: IOI GE10P-PCIE4XG301, 1-port 2-port 10G/5G/2.5G/1G PoE+ NBASE-T) |
Network Card #1 Settings
- PCIE-POE2-MG (MFR P/N: IOI DGEAP2X-PCIE8XG302)
- 2-port, 2-ch, 10G/5G/2.5G/1G PoE+ NBASE-T
- Chipset: Marvell Aquantia ACQ107 (2x)
- Driver Version: 2.2.1.0, Date: 8/13/2020
- Each NIC had the following settings:
- Receiver Buffers: 4096
- Jumbo Packets: 9014 Bytes
- Interrupt Moderation: Enabled
- Interrupt Moderation Rate: Adaptive
- IPv4 Checksum Offload = Rx & Tx enabled
- Power Management: Disabled
Network Card #2 Settings
- PCIE-POE1-MG2 (MFR P/N: IOI GE10P-PCIE4XG301)
- 1-port, 10G/5G/2.5G/1G PoE+ NBASE-T
- Chipset: Marvell Aquantia ACQ107
- Driver Version: 2.2.1.0, Date: 8/13/2020
- Each NIC had the following settings:
- Receiver Buffers: 4096
- Jumbo Packets: 9014 Bytes
- Interrupt Moderation: Enabled
- Interrupt Moderation Rate: Adaptive
- IPv4 Checksum Offload = Rx & Tx enabled
- Power Management: Disabled
Network Card #3 Settings
- PCIE-POE1-MG2 (MFR P/N: IOI GE10P-PCIE4XG301)
- 1-port, 10G/5G/2.5G/1G PoE+ NBASE-T
- Chipset: Marvell Aquantia ACQ107
- Driver Version: 2.2.1.0, Date: 8/13/2020
- Each NIC had the following settings:
- Receiver Buffers: 4096
- Jumbo Packets: 9014 Bytes
- Interrupt Moderation: Enabled
- Interrupt Moderation Rate: Adaptive
- IPv4 Checksum Offload = Rx & Tx enabled
- Power Management: Disabled
Additional Comments on Setup
- This motherboard (ASUS WS X299 PRO/SE) supports 4 memory channels and installing RAM at each memory controller will give us 4 active memory channels (quad-channel). For an application that needs a lot of bandwidth and processing, you’ll want to look into activating all of the memory channels to maximize the memory bandwidth as much as possible. We filled each DIMM on this system as well. If you don’t fill in each DIMM, the motherboard manual should state the order of DIMM slots to install to make sure you’re activating the most memory channels possible (see Diagram 1). Important! While installing 128 GB might not be necessary for the system, it is highly recommended to pair DIMMs to enable quad-channel bandwidth or at the very least dual-channel DDR bandwidth. Installing all memory on 1 DIMM for single channel operation is not recommended and will result in streaming issues.
- Side note: Why is memory bandwidth so important? Streaming in ArenaView means we’re taking the image, converting it to BGR8 for display, and rendering the converted image on screen (also include Windows 10 background tasks and other actions or metrics that ArenaView performs or monitors in the background, for example, some node polling, the status bar counters, the log window, heartbeat threads for cameras, etc.). For example, a 24.5MP BGR8 image means streaming 3 color channels of 8-bit data, equating to 5320 x 4600 x 3. Do this for each Atlas10 camera attached and processing image data can quickly stress memory bandwidth and capacity.
Diagram 1
- You will also want to take a look at the maximum memory bandwidth supported by the CPU too. Your theoretical maximum memory bandwidth may be higher than what the CPU itself supports. For example, this Intel CPU supports up to 94GB/s: https://ark.intel.com/content/www/us/en/ark/products/198019/intel-core-i9-10900x-x-series-processor-19-25m-cache-3-70-ghz.html
- It is recommended to install a PCIe card on a slot that is connected to the CPU controller rather than to the PCIe controller and over a bridge. For example, see the Diagram 2, there’s an x4 slot that has to go over a bridge which is less optimal.
Diagram 2
Test Results
The PC host system did not report any dropped frames or packet resend requests while streaming 3 Atlas10 cameras simultaneously.