NUMA Network Device Data Traffic Processing via Local Memory Copying
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The performance degradation of network devices when porting software from a Uniform Memory Access (UMA) structure to a Non-Uniform Memory Access (NUMA) structure leads to inefficiencies due to high-frequency remote memory access, which is not effectively addressed by existing solutions.
Innovation Solution
The method involves identifying frequently accessed data and copying it to local memory on each processor in a NUMA structure, modifying software to include processor identifiers in index tables, and controlling execution units to process data locally, thereby reducing remote access and enhancing performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If software under UMA structure is simply ported to NUMA hardware platform, then the number of available processors increases, but remote memory access latency increases and processing efficiency deteriorates
Solution Approach 1:
The patent applies local quality by creating local copies of frequently accessed data (Forwarding Table, Session Table, DP Configuration, DP Statistic) in the local memory of each processor. This ensures that each processor can access its required data locally without incurring remote memory access latency, while still benefiting from multiple processors. The data is distributed across local memories based on processor affinity, resolving the contradiction between having multiple processors and avoiding remote access.
Solution Approach 2:
The patent uses copying by creating multiple local copies of critical data structures in the local memory of different processors. Instead of having a single global copy that requires remote access, the system maintains local copies that can be accessed immediately by each processor. This copying strategy eliminates remote memory access latency while preserving the benefits of multi-processor architecture.
2Loss of time
If frequently accessed data is copied to local memory of each processor, then remote memory access is reduced, but software modification complexity and maintenance workload increase
Solution Approach 1:
The patent applies segmentation by dividing the data access architecture into distinct segments: local memory segments for each processor containing frequently accessed data, and separate control logic segments that manage data distribution. The software is segmented into data plane functions that operate on local data and control plane functions that manage data distribution. This segmentation reduces complexity by localizing data access patterns and making the system more modular and maintainable.
3Speed
If multiple copies of global data are created in local memory, then local access speed improves, but real-time query accuracy for frequently written data deteriorates
Solution Approach 1:
The patent applies dynamics by implementing a dynamic data distribution strategy that adapts to different data types and access patterns. Frequently written global data is handled differently from read-heavy data: frequently written data maintains a single authoritative copy for accuracy, while read-heavy data is replicated locally for speed. The system dynamically selects the appropriate data placement strategy based on access characteristics, resolving the contradiction between speed and accuracy.
Data Source
AI summary
A method for processing network data traffic includes obtaining a first distributed structure corresponding to a program based on a first storage structure, wherein the program is configured to process network data traffic; dividing a network device based on a second storage structure into a plurality of execution units, wherein the plurality of execution units is configured to execute the program; mapping the first distributed structure and the plurality of execution units to obtain a second distributed structure; and controlling the plurality of execution units to process network data traffic based on the second distributed structure.


