Multi-stage Large Send Offload for Virtualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization environments, the overhead of sending network packets is high due to fixed costs per packet, especially when larger packets need to be transmitted, as most hardware NICs support only small packet sizes, limiting the efficiency of network resource allocation.

Innovation Solution

Implementing a multi-pass Large Send Offload (LSO) mechanism by inserting a first-stage LSO filter between the network stack and the physical NIC to split large packets into smaller ones that can be handled by the NIC, which then further splits these into standard MTU-sized packets for transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If large TCP packets are sent through the network stack, then network throughput is improved, but CPU overhead and resource allocation cost increase significantly

Engineering Contradiction:
Improvenetwork throughputVSAvoidCPU overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent segments large TCP packets into smaller packets that fit within MTU limits before transmission. The network stack divides a large packet into multiple smaller packets, each with appropriate TCP headers, reducing the fixed overhead per packet while maintaining total data throughput. This segmentation allows efficient transmission without overwhelming CPU resources with excessive packet processing.

Inventive Principle:
Principle #1Segmentation

2Productivity

If packet size is increased beyond MTU limits, then fewer packets are transmitted reducing overhead, but network infrastructure compatibility is lost

Engineering Contradiction:
Improvepacket transmission efficiencyVSAvoidnetwork infrastructure compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies segmentation by dividing large packets into multiple smaller packets that each fit within standard MTU limits. This ensures compatibility with network infrastructure while still reducing overall overhead through optimized packetization. The segmentation maintains adherence to network protocols and infrastructure constraints.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes packet size parameters dynamically, sending packets at or near MTU limits rather than using fixed small sizes. By optimizing packet size to match network capabilities while staying within MTU constraints, the system improves transmission efficiency without sacrificing infrastructure compatibility. The parameter adjustment balances overhead reduction with protocol adherence.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If hardware NIC LSO packet size is increased, then fewer packets are processed reducing overhead, but hardware support limitations are exceeded

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidhardware compatibility
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent adjusts packet size parameters to match hardware NIC LSO capabilities. By querying and adapting to the specific LSO packet size supported by the hardware (e.g., 62 KB), the system optimizes packet processing efficiency while remaining within hardware limitations. This parameter adaptation ensures compatibility with diverse hardware configurations.

Inventive Principle:
Principle #35Parameter changes

4Adaptability or versatility

If multiple operating systems share a single NIC, then resource consolidation is improved, but packet routing and control complexity increases

Engineering Contradiction:
Improveresource consolidationVSAvoidpacket routing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the network packet handling function across multiple operating systems, with each OS responsible for specific packet ranges or flows. This segmentation allows resource consolidation on a single NIC while distributing packet routing complexity across multiple OS instances, reducing the burden on any single system and simplifying overall management.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9270608B2Multi-stage large send offload
Publication Date: 2016.02.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9270608B2 patent drawing
  • US9270608B2 patent drawing
  • US9270608B2 patent drawing

AI summary

A network stack sends very large packets with large segment offload (LSO) by performing multi-pass LSO. A first-stage LSO filter is inserted between the network stack and the physical NIC. The first-stage filter splits very large LSO packets into LSO packets that are small enough for the NIC. The NIC then performs a second pass of LSO by splitting these sub-packets into standard MTU-sized networking packets for transmission on the network.