Transmit-Side Scaling Tables for RSS-Aligned NIC Queue Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

There is no mechanism for transmit side scaling (TSS) in which the network interface card (NIC) specifies to the operating system the manner in which data packets transmitted by the OS are to be distributed, leading to processing latency, memory consumption, and packet drops, and there is no alignment between receive side scaling (RSS) and TSS.

Innovation Solution

Implementing TSS configuration information in an outbound transmission table of the host OS to specify data packet distribution to the NIC and aligning RSS and TSS through an inbound transmission table that maps data packets to CPUs and transmit queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If data packets are transmitted without transmit side scaling configuration, then the system structure remains simple, but processing latency increases and packet drops occur

Engineering Contradiction:
Improveprocessing latencyVSAvoidtransmission control mechanism
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system performs preliminary configuration by creating transmit side scaling tables (TST and TST-A) that pre-map data packet types to transmit queues. This advance preparation eliminates the need for complex real-time decisions during packet transmission, reducing processing latency while maintaining a manageable control structure.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces transmit side scaling tables as intermediary structures between the operating system and the network interface card. These tables act as mediators that translate high-level transmission requirements into specific queue assignments, reducing both latency and the perceived complexity of the control mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If transmit side scaling is implemented without alignment to receive side scaling, then transmit queue distribution can be optimized independently, but data packets may be requeued causing packet drops

Engineering Contradiction:
Improvepacket delivery consistencyVSAvoidscaling alignment mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges transmit side scaling configuration with receive side scaling configuration by aligning the TST tables with the existing RSS tables. This integration ensures that data packets received by a particular CPU are transmitted from the same CPU's associated transmit queue, eliminating unnecessary requeuing and packet drops while maintaining a unified scaling approach.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system enforces homogeneity between receive and transmit scaling configurations by ensuring that the same CPU handles both receiving and transmitting of data packets for a given flow. This consistent mapping across receive and transmit paths prevents packet drops caused by mismatched queue assignments.

Inventive Principle:
Principle #33Homogeneity

3Adaptability or versatility

If transmit side scaling configuration is stored in the operating system, then flexibility in configuration is improved, but memory consumption increases

Engineering Contradiction:
Improvetransmission configuration flexibilityVSAvoidmemory consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent creates compact copies of scaling configuration data in the form of TST and TST-A tables that are stored in memory. These tables contain only the essential mapping information (data packet type to transmit queue) rather than full configuration details, providing the needed flexibility while minimizing memory consumption through efficient data representation.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12388765B2Transmit side scaling and alignment
Publication Date: 2025.08.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12388765B2 patent drawing
  • US12388765B2 patent drawing
  • US12388765B2 patent drawing

AI summary

Examples of the present disclosure describe systems and methods for transmit side scaling. In examples, transmission side configuration information is received by a host operating system from a guest operating system, where the transmission side scaling configuration information specifies the manner in which data packets transmitted by the host operating system are to be distributed to a network interface card of the host operating system. The transmission side configuration scaling information is implemented in an outbound transmission table of the host operating system. When a data packet is received by the host operating system, the host operating system evaluates the data packet using the outbound transmission table. Based on the evaluation, that data packet is transmitted using a specified transmit queue of the network interface card.