Scalable Distribution in Dual-SmartNICs, Dual-NUMA Systems

Load Distribution

Platform
Napatech SmartNIC
Content Type
User Guide
Capture Software Version
Link™ Capture Software 12.14

NUMA-aware stream assignment

This NTPL and ntservice.ini configuration demonstrates how to independently capture traffic from two SmartNICs installed in a dual-NUMA system. Each SmartNIC supports a maximum of 128 RX streams, for a total of 256 streams that are local to its associated NUMA node, optimizing memory locality and system performance.

Configure RX host buffers in the ntservice.ini file as follows:
[Adapter0]
…
HostBuffersRx = [128,16,0]
…

[Adapter1]
…
HostBuffersRx = [128,16,1]
…
  • The first parameter in HostBuffersRx sets the number of host RX buffers to 128 for each SmartNIC.
  • The third parameter in HostBuffersRx = [128,16,<NUMA>] explicitly sets the NUMA node for memory allocation.
    • Adapter0 is associated with NUMA node 0.

    • Adapter1 is associated with NUMA node 1.

Setup[NUMANode=0] = StreamId == (0..127)
Setup[NUMANode=1] = StreamId == (128..255)

Assign[StreamID=(0..127)] = Port==(0..1)
Assign[StreamID=(128..255)] = Port==(2..3)
  • The Setup commands bind streams 0–127 to NUMA node 0 and streams 128–255 to NUMA node 1.
  • The Assign command maps:
    • Ports 0 and 1 (belonging to Adapter0) to streams 0–127.
    • Ports 2 and 3 (belonging to Adapter1) to streams 128–255.
This setup enables efficient use of all available streams while maintaining NUMA affinity for high-throughput capture on systems with two SmartNICs.