NUMA-Aware Network Queue Allocation for Latency Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NUMA architecture systems, remote memory accesses lead to higher latency and degrade system performance, while local memory accesses improve performance, due to non-uniform memory access times across nodes.

Innovation Solution

Allocating transmit/receive queue pairs per node in node local memory, rather than per core, to store and process packets associated with applications, thereby reducing remote memory accesses and cacheline thrashing, and optimizing network traffic distribution across nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If queue pairs are allocated per core in NUMA system, then processing capacity is increased, but remote memory accesses increase causing higher latency and performance degradation

Engineering Contradiction:
Improveprocessing capacityVSAvoidmemory access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies local quality by allocating queue pairs to node local memory instead of distributing them across cores in a NUMA system. This ensures that memory accesses are localized to the same node, reducing remote memory accesses and associated latency. Each node maintains its own queue pairs in local memory, creating a localized processing architecture that minimizes cross-node memory traffic.

Inventive Principle:
Principle #3Local quality

2Productivity

If queue pairs are allocated per core, then network traffic processing capability is improved, but memory allocation increases and cache footprint expands

Engineering Contradiction:
Improvenetwork traffic processing capabilityVSAvoidmemory allocation
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent merges queue pair allocations at the node level rather than maintaining separate queue pairs for each core. By consolidating queue pairs in node local memory and having multiple cores share access to these node-level queue pairs, the system reduces total memory allocation while maintaining processing capability. This merging approach eliminates redundant queue pair instances that would exist if each core had its own dedicated queue pairs.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If queue pairs are allocated per core, then packet processing throughput is increased, but cacheline thrashing between nodes increases

Engineering Contradiction:
Improvepacket processing throughputVSAvoidcacheline thrashing
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent eliminates cacheline thrashing by ensuring that queue pairs and their associated data structures reside in node local memory. This localizes packet processing operations to individual nodes, preventing cacheline conflicts between nodes. By making the memory allocation local rather than distributed, the system maintains high packet processing throughput without the harmful effect of inter-node cacheline thrashing.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9069722B2NUMA-aware scaling for network devices
Publication Date: 2015.06.30 INTEL CORP
  • US9069722B2 patent drawing
  • US9069722B2 patent drawing
  • US9069722B2 patent drawing

AI summary

The present disclosure describes a method and apparatus for network traffic processing in a non-uniform memory access architecture system. The method includes allocating a Tx/Rx Queue pair for a node, the Tx/Rx Queue pair allocated in a local memory of the node. The method further includes routing network traffic to the allocated Tx/Rx Queue pair. The method may include designating a core in the node for network traffic processing. Of course, many alternatives, variations and modifications are possible without departing from this embodiment.