NUMA-Aware Output Interface Selection for Cross-Node Traffic Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network devices with multiple network interfaces associated with different NUMA nodes experience resource-intensive cross-NUMA traffic due to logical networking operations that bundle interfaces together, leading to inefficient data traffic processing.

Innovation Solution

A data message processing device selects output options in a NUMA-aware manner by preferring interfaces or tunnel endpoints associated with the same NUMA node where the data message was received, thereby avoiding cross-NUMA processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If logical networking operations bundle multiple network interfaces together, then networking functionality is improved, but cross-NUMA traffic increases which is resource intensive

Engineering Contradiction:
Improvenetworking functionalityVSAvoidresource intensity
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by making the output interface selection dependent on the NUMA node where the data message was received. Instead of uniform interface bundling, the system selects interfaces locally associated with the receiving NUMA node, thereby maintaining networking functionality while avoiding cross-NUMA traffic and reducing resource intensity.

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If multiple network interfaces are bundled for ECMP purposes, then routing flexibility is improved, but cross-NUMA processing is triggered which reduces efficiency

Engineering Contradiction:
Improverouting flexibilityVSAvoidprocessing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent resolves this contradiction by implementing NUMA-aware output interface selection. The system maintains ECMP routing flexibility by considering multiple interfaces but applies local quality constraints by selecting only interfaces associated with the receiving NUMA node, thereby avoiding cross-NUMA processing and improving processing efficiency.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the set of available output interfaces into NUMA-node-specific groups. By dividing the interface pool based on their NUMA node associations, the system can maintain routing flexibility through ECMP within each segment while avoiding cross-NUMA traffic between segments, thus improving overall processing efficiency.

Inventive Principle:
Principle #1Segmentation

3Reliability

If cross-NUMA traffic is allowed, then network connectivity is maintained, but processing overhead increases

Engineering Contradiction:
Improvenetwork connectivityVSAvoidprocessing overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent maintains network connectivity reliability by ensuring that data messages can still be forwarded through the network, but it does so with local quality constraints by selecting output interfaces associated with the receiving NUMA node. This approach avoids cross-NUMA traffic and reduces processing overhead while maintaining necessary connectivity.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20260032073A1NUMA-aware output interface selection
Publication Date: 2026.01.29 VMWARE INC
  • US20260032073A1 patent drawing
  • US20260032073A1 patent drawing
  • US20260032073A1 patent drawing

AI summary

Some embodiments provide a method for a data message processing device that includes multiple network interfaces associated with at least two different non-uniform memory access (NUMA) nodes. The method receives a data message at a first network interface associated with a particular one of the NUMA nodes. Based on processing of the data message, the method identifies multiple equivalent output options for the data message. Each of the output options is associated with a respective one of the NUMA nodes. The method selects an equivalent output option for the data message that is associated with the particular NUMA node.