Transmit Queue Alignment for Host OS Side Scaling
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
There is currently no mechanism for transmit side scaling (TSS) in which the network interface card (NIC) specifies to the operating system (OS) 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 also no alignment between receive side scaling (RSS) and TSS to ensure proper data packet transmission.
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 this with inbound transmission table configuration to ensure data packets are transmitted to the correct CPU and queue, using hash functions or direct mapping to determine the appropriate transmit queue.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If transmit side scaling is not implemented, then the system structure remains simple, but processing latency increases and packet transmission efficiency deteriorates
Solution Approach 1:
The patent segments the packet transmission process by introducing transmit side scaling that divides packets into different transmit queues based on their destination or type. The outbound transmission table segments the configuration space into multiple entries, each mapping specific packet characteristics to appropriate transmit queues, thereby reducing processing latency through parallel化处理 while maintaining manageable system complexity.
Solution Approach 2:
The patent implements preliminary action by pre-configuring the outbound transmission table with mapping rules before packet transmission begins. This allows the NIC to determine the appropriate transmit queue in advance based on packet evaluation against pre-established criteria, eliminating the need for runtime decision-making and reducing processing latency without adding complex runtime logic.
2Quantity of substance
If transmit side scaling is not implemented, then the configuration mechanism remains simple, but memory consumption increases due to inefficient packet handling
Solution Approach 1:
The outbound transmission table segments the configuration space into discrete, manageable entries that map specific packet characteristics to transmit queues. This segmented approach allows efficient memory utilization by storing only necessary mapping information in a structured format, reducing overall memory consumption while providing sophisticated packet distribution capabilities.
Solution Approach 2:
The patent uses copying by implementing the outbound transmission table as a data structure that can be efficiently replicated or referenced. The configuration information is copied from a structured format into the table, allowing the system to maintain compact representations of transmission rules that consume less memory while still providing comprehensive packet routing capabilities.
3Reliability
If transmit side scaling is not implemented, then the packet distribution mechanism remains simple, but packet drops increase due to queue misalignment
Solution Approach 1:
The patent segments the packet distribution mechanism by evaluating packets against multiple criteria in the outbound transmission table and routing them to specific transmit queues based on matched entries. This segmented approach ensures packets are directed to appropriate queues, preventing misalignment and reducing packet drops, while the segmentation itself provides a clear, maintainable structure that manages complexity.
Solution Approach 2:
The outbound transmission table implements a feedback mechanism where packet characteristics are evaluated against configured criteria, and the results feed back into queue selection decisions. This feedback loop ensures packets are consistently routed to the correct transmit queues based on their properties, improving reliability by preventing queue misalignment while maintaining a systematic approach to packet distribution.
4Productivity
If receive side scaling and transmit side scaling are not aligned, then the configuration process remains simple, but data packet transmission efficiency deteriorates due to requeuing
Solution Approach 1:
The patent applies asymmetry by allowing the outbound transmission table (transmit side) and inbound transmission table (receive side) to have different structures and configurations optimized for their respective functions. The transmit side configuration focuses on outgoing packet routing to queues, while the receive side focuses on incoming packet distribution to CPUs. This asymmetric design enables efficient packet transmission without requiring symmetric configuration, improving productivity while managing alignment complexity through independent optimization.
Data Source
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.


