Dynamic Thread Scaling for Network Transmission Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional scheduling and queuing systems in high throughput networks, such as 5G next generation mobile cores, fail to efficiently utilize hardware resources and scale with increasing core size or load, leading to inefficiencies like tail-drops and lower Non-Drop Rate (NDR) throughput.
Innovation Solution
Dynamic transmission side scaling is achieved by assigning threads to transmit queues and dynamically updating their allocation based on load, using software transmission queues to distribute processing resources across multiple queues, thereby improving resource utilization and throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional scheduling and queuing systems are used in high throughput networks, then hardware resources cannot be efficiently utilized, but system simplicity is maintained
Solution Approach 1:
The patent implements dynamic thread-to-queue assignment where the mapping between software transmission queues and hardware transmit queues is not fixed but can be dynamically adjusted based on load conditions. This dynamic approach allows the system to adapt to varying network traffic patterns and efficiently utilize hardware resources without requiring a completely complex static scheduling system
Solution Approach 2:
The patent segments the transmission function into multiple software transmission queues (STQs) that can be independently managed and mapped to hardware transmit queues. This segmentation allows parallel processing of packets across multiple queues, improving resource utilization while keeping each individual queue management relatively simple
2Productivity
If the number of threads exceeds the number of transmit queues, then resource utilization improves through better distribution, but system complexity increases due to additional software transmission queues
Solution Approach 1:
The patent introduces software transmission queues (STQs) as an intermediary layer between the threads and hardware transmit queues. This intermediary structure allows multiple threads to be mapped to fewer hardware queues in a controlled manner, enabling better load distribution and throughput while managing complexity through a standardized intermediate layer
Solution Approach 2:
The software transmission queues serve multiple functions: they act as buffers, load distributors, and mapping intermediaries between threads and hardware queues. This multi-functionality allows the system to handle thread-to-queue mapping complexity in a unified manner that supports high throughput without proportionally increasing overall system complexity
3Adaptability or versatility
If static thread-to-queue assignment is used, then system simplicity is maintained, but adaptability to load changes deteriorates
Solution Approach 1:
The patent implements a feedback mechanism where the system monitors load conditions on threads and transmit queues, and uses this information to dynamically adjust the thread-to-queue mapping. This feedback-driven approach enables the system to adapt to load changes while keeping the control mechanism relatively simple through periodic or event-triggered updates rather than continuous complex adjustments
Data Source
AI summary
In one embodiment, a method includes assigning a number of threads for user plane functions to a corresponding number of transmit queues for transmission of packets on a network interface, assigning additional threads exceeding the number of transmit queues to software transmission queues associated with the threads assigned to the transmit queues, identifying a load at each of the threads, dynamically updating assignment of the additional threads to the software transmission queues based on the load at the threads, and transmitting packets from the transmit queues for transmission on a network from a physical interface at a network device. An apparatus and logic are also disclosed herein.


