NUMA-Aware Network Queue Allocation for Latency Reduction
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Productivity
If queue pairs are allocated per core, then network traffic processing capability is improved, but memory allocation increases and cache footprint expands
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.
3Productivity
If queue pairs are allocated per core, then packet processing throughput is increased, but cacheline thrashing between nodes increases
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.
Data Source
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.


