Dynamic Thread Scaling for Network Transmission Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidscheduling and queuing system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #15Dynamics

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

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
ImprovethroughputVSAvoidsoftware transmission queues structure
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

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

3Adaptability or versatility

If static thread-to-queue assignment is used, then system simplicity is maintained, but adaptability to load changes deteriorates

Engineering Contradiction:
Improveload adaptation capabilityVSAvoiddynamic assignment mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10560394B2Dynamic transmission side scaling
Publication Date: 2020.02.11 CISCO TECHNOLOGY INC
  • US10560394B2 patent drawing
  • US10560394B2 patent drawing
  • US10560394B2 patent drawing

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.