Multi-Home NIC Logical Switch for NUMA Network I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing technologies, particularly in high-performance computing environments, face inefficiencies in non-uniform network I/O access due to the need for multiple physical NICs and remote memory access, leading to increased load, contention, and latency.

Innovation Solution

The implementation of a multi-home network interface controller (NIC) with logical NICs and a logical switch that manages network packets to direct them to locally homed NUMA nodes, reducing the need for remote memory access by using logical NICs to enqueue packets directly into locally allocated memory queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple physical NICs are used to handle network I/O in NUMA environments, then network throughput can be increased, but device complexity and system cost increase

Engineering Contradiction:
Improvenetwork throughputVSAvoidnumber of physical NICs
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A single physical NIC is configured to perform multiple functions by creating multiple virtual NICs (vNICs) that can be independently assigned to different NUMA nodes. The physical NIC acts as a universal interface that can serve multiple logical purposes simultaneously, eliminating the need for separate physical NICs for each NUMA node while maintaining the benefits of localized network access.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The single physical NIC is segmented into multiple virtual NICs, each of which can be independently managed and assigned to specific NUMA nodes. This segmentation allows the system to achieve the functionality of multiple physical NICs through virtualization, reducing hardware complexity while maintaining network performance.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If remote memory access is used for network packet processing, then memory capacity is increased, but access latency increases

Engineering Contradiction:
Improvememory capacityVSAvoidaccess latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

Virtual NICs act as intermediaries between the physical NIC and remote memory resources. By introducing this intermediate layer, the system can manage memory access more efficiently, allowing packets to be processed with reduced latency while still utilizing remote memory capacity when necessary.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system prioritizes local memory access by assigning vNICs to specific NUMA nodes and preferring local memory buffers. When local memory is available, packet processing occurs with minimal latency. Remote memory is only accessed when absolutely necessary, thus minimizing the impact of remote access latency while maintaining overall memory capacity.

Inventive Principle:
Principle #3Local quality

3Productivity

If multiple physical NICs are deployed for each NUMA node, then network I/O performance is improved, but load and contention on interconnects increases

Engineering Contradiction:
Improvenetwork I/O performanceVSAvoidload on interconnects
Core Design Contradiction:
ProductivityVSStress or pressure

Solution Approach 1:

A single physical NIC serves multiple NUMA nodes through virtualization, reducing the total number of physical NICs and their associated interconnect traffic. This universal approach eliminates redundant data transmission over interconnects that would occur with multiple physical NICs, thereby reducing load and contention while maintaining network I/O performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Device complexity

If a single physical NIC is used without virtualization, then device complexity is reduced, but network I/O performance in NUMA environments deteriorates

Engineering Contradiction:
Improvenumber of physical NICsVSAvoidnetwork I/O performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system dynamically assigns virtual NICs to different NUMA nodes based on workload requirements. This dynamic configuration allows a single physical NIC to adapt to changing network demands and optimize performance for different NUMA nodes without requiring static hardware assignments, thereby maintaining low device complexity while achieving high network I/O performance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10142231B2Technologies for network I/O access
Publication Date: 2018.11.27 INTEL CORP
  • US10142231B2 patent drawing
  • US10142231B2 patent drawing
  • US10142231B2 patent drawing

AI summary

Technologies for accelerating non-uniform network input/output accesses include a multi-home network interface controller (NIC) of a network computing device communicatively coupled to a plurality of non-uniform memory access (NUMA) nodes, each of which include an allocated number of processor cores of a physical processor package and an allocated portion of a main memory directly linked to the physical processor package. The multi-home NIC includes a logical switch communicatively coupled to a plurality of logical NICs, each of which is communicatively coupled to a corresponding NUMA node. The multi-home NIC is configured to facilitate the ingress and egress of network packets by determining a logical path for each network packet received at the multi-home NIC based on a relationship between one of the NUMA nodes and/or a logical NIC (e.g., to forward the network packet from the multi-home NIC) coupled to the one of the NUMA nodes. Other embodiments are described herein.