End-Terminal Traffic Control Using Per-Core Network Stack Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing network protocols focus on ensuring performance in network sections but fail to consider traffic performance in end terminals, where limited resources can be overwhelmed by mixed services, leading to suboptimal overall service performance.
Innovation Solution
A method and device that measure and reserve CPU core resources using AF_INET and AF_XDP network stacks, allocate CPU cores with SCHED_DEADLINE scheduling, and control queuing to ensure bandwidth and delay requirements for each service, employing techniques like received-traffic steering and Linux traffic control.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If network protocols are used to ensure performance in network sections, then network performance is improved, but end terminal traffic performance is not considered and resources are overwhelmed
Solution Approach 1:
The patent segments the network stack into multiple independent network stacks (e.g., first network stack using AF_INET and second network stack using AF_XDP), each handling different types of traffic. This segmentation allows dedicated resource allocation to each network stack, preventing resource overwhelming while maintaining network performance requirements.
Solution Approach 2:
The patent performs preliminary measurement of transmission/reception processing performance for each network stack according to each CPU core before actual traffic handling. Based on these measurements, CPU core resources are reserved in advance for each network stack, ensuring that end terminal traffic processing capability meets application requirements before traffic mixing occurs.
2Productivity
If CPU resources are allocated dynamically to handle mixed traffic, then resource utilization is improved, but traffic performance requirements for specific applications cannot be guaranteed
Solution Approach 1:
The patent applies local quality by allocating different scheduling policies to different network stacks based on their specific performance requirements. For example, the second network stack (AF_XDP) which requires ultra-high speed bandwidth is allocated with SCHED_DEADLINE policy to guarantee performance, while other stacks may use different policies. This ensures each network stack receives appropriate resource guarantees tailored to its needs.
Solution Approach 2:
The patent changes the scheduling parameter by introducing SCHED_DEADLINE scheduling policy specifically for network stacks requiring guaranteed performance. This parameter change enables the system to differentiate between traffic types and allocate CPU time slices with deadlines, ensuring that ultra-high speed bandwidth requirements are met while still allowing dynamic resource allocation.
3Adaptability or versatility
If multiple network stacks operate simultaneously with mixed traffic, then service versatility is improved, but resource contention occurs and performance jitter increases
Solution Approach 1:
The patent segments mixed traffic into different network stacks (AF_INET, AF_XDP) that operate independently with dedicated CPU core allocations. This segmentation prevents resource contention between different service types while maintaining the ability to handle diverse traffic, thus reducing performance jitter and stabilizing traffic handling.
Solution Approach 2:
The patent performs preliminary performance measurement and CPU core reservation for each network stack before simultaneous operation begins. This preliminary action establishes stable resource boundaries for each stack, preventing resource contention when multiple network stacks operate simultaneously with mixed traffic, thereby maintaining performance stability.
Data Source
AI summary
A device and method for controlling traffic transmission/reception in a network end terminal is provided. The method includes measuring a transmission/reception processing performance value of a first network stack and a transmission/reception processing performance value of a second network stack according to each central processing unit (CPU) core, reserving network performance required for an application on the basis of the transmission/reception processing performance value of the first network stack and the transmission/reception processing performance value of the second network stack measured according to each CPU core, and allocating a CPU core corresponding to the reserved network performance to a networking thread of the application to control traffic transmission/reception.


