Multi-Home NIC Logical Switch for NUMA Network I/O
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Quantity of substance
If remote memory access is used for network packet processing, then memory capacity is increased, but access latency increases
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.
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.
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
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.
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
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.
Data Source
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.


