NUMA Packet Forwarding via Local Interface Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In NUMA-based network systems, packet forwarding efficiency is reduced due to unnecessary forwarding across NUMA nodes, leading to bandwidth overhead and decreased throughput, as packets are often sent through interfaces belonging to other nodes instead of local ones.
Innovation Solution
A method where a NUMA node queries a forwarding table based on the destination IP address to determine if egress interfaces belong to the same NUMA node, allowing packets to be sent directly through local interfaces, thereby reducing cross-NUMA node forwarding and improving efficiency and throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If packets are forwarded through any available egress interface in an SMP system, then load distribution across processors is improved, but packet forwarding efficiency deteriorates due to unnecessary cross-NUMA node forwarding
Solution Approach 1:
The patent applies local quality by making the forwarding decision dependent on the specific characteristics of each egress interface - specifically which NUMA node it belongs to. The system selectively forwards packets through local interfaces when possible, rather than uniformly distributing across all interfaces. This localized approach optimizes each forwarding decision based on the specific interface's NUMA node affiliation, resolving the contradiction between load distribution and forwarding efficiency.
Solution Approach 2:
The patent segments the forwarding decision process into two distinct phases: first identifying egress interfaces belonging to the current NUMA node, then forwarding packets through those local interfaces. This segmentation allows the system to maintain both load distribution (by considering multiple interfaces) and forwarding efficiency (by prioritizing local interfaces), as the decision process is divided into manageable steps that can be executed systematically.
2Adaptability or versatility
If packets are sent through interfaces belonging to other NUMA nodes, then interface utilization is improved, but bandwidth overhead on the CSI bus increases
Solution Approach 1:
The patent applies preliminary action by pre-identifying and filtering egress interfaces that belong to the current NUMA node before packet forwarding occurs. The system proactively queries the forwarding table to determine interface-NUMA node associations in advance, so that when a packet needs forwarding, the local interface is already identified and ready. This preliminary filtering prevents unnecessary cross-NUMA node traffic, reducing CSI bus bandwidth overhead while still maintaining interface utilization.
3Adaptability or versatility
If cross-NUMA node forwarding is performed, then routing flexibility is improved, but network device throughput decreases
Solution Approach 1:
The patent applies dynamics by making the forwarding path selection adaptive and conditional rather than static. The system dynamically determines whether to use local or remote interfaces based on real-time conditions - specifically whether local egress interfaces are available for the given destination. This dynamic approach allows the system to maintain routing flexibility by still considering multiple interfaces, while optimizing throughput by preferring local interfaces when conditions permit.
Data Source
Figure 1~2
Figure 3~4
AI summary
Methods of sending a packet, NUMA nodes and non-transitory machine-readable storage mediums are provided in examples of the present disclosure. In one aspect, a first NUMA node queries a forwarding table based on a destination IP address of a packet to be forwarded to obtain a plurality of egress interfaces corresponding to the destination IP address; obtain, for each of the plurality of egress interfaces, node information of a second NUMA node to which the egress interface belongs, determining that the egress interface is on the first NUMA node when the node information of the second NUMA node is same as node information of the first NUMA node, wherein the second NUMA node is on the network device; and send the packet via an egress interface which belongs to the first NUMA node and is in the plurality of egress interfaces.