vTCP Module Offloading TCP Processing in Virtualized Hosts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualized computing environments face performance bottlenecks in network protocol throughput, particularly with TCP/IP, due to high CPU overcommit ratios and independent scheduling of virtual machines, leading to significant throughput degradation and latency issues.

Innovation Solution

The implementation of a vTCP module within a hypervisor that offloads TCP processing and provides a buffer for early acknowledgement and packet loss recovery, allowing for accelerated TCP data transfer without relying on shared buffers or proprietary interfaces, thereby improving TCP performance by managing congestion and packet loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If high overcommit ratio is used to maximize CPU resource utilization, then cost efficiency is improved, but TCP throughput performance deteriorates

Engineering Contradiction:
ImproveCPU resource utilization efficiencyVSAvoidTCP throughput degradation
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

A TCP acceleration module is introduced as an intermediary component between the virtual machine and the network interface. This module handles TCP processing independently of the virtual machine's CPU scheduling, allowing TCP operations to continue even when the VM is not scheduled. The acceleration module acts as a mediator that decouples TCP throughput from CPU scheduling status, resolving the contradiction between high overcommit ratio and maintained throughput performance.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If virtual machines are scheduled independently to maximize CPU allocation flexibility, then resource allocation adaptability is improved, but TCP latency increases

Engineering Contradiction:
ImproveCPU resource allocation flexibilityVSAvoidTCP latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The TCP acceleration module performs preliminary actions by buffering incoming packets and generating acknowledgments in advance, before the virtual machine needs to process them. When packets arrive and the VM is not immediately scheduled, the acceleration module queues packets and prepares acknowledgments, then delivers them when the VM becomes ready. This preliminary buffering and preparation action eliminates waiting time caused by scheduling delays, maintaining low latency while preserving independent scheduling flexibility.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If traditional TCP processing is used in virtualized environments, then protocol compatibility is maintained, but network protocol throughput is reduced

Engineering Contradiction:
ImproveTCP protocol compatibilityVSAvoidTCP throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The TCP acceleration module creates a copy of the TCP processing function within the hypervisor layer. Instead of relying solely on the virtual machine's CPU to execute TCP protocols, the acceleration module maintains its own TCP state and processing logic. This copying approach allows TCP operations to be performed at the hypervisor level with full protocol compatibility, while the virtual machine only needs to handle simplified data transfer operations, thereby maintaining compatibility while improving throughput.

Inventive Principle:
Principle #26Copying

4Quantity of substance

If shared buffers are used for packet storage, then memory resource sharing is improved, but packet loss recovery capability deteriorates

Engineering Contradiction:
Improvememory resource sharing efficiencyVSAvoidpacket loss recovery
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The buffer resource is segmented into dedicated buffers within the TCP acceleration module rather than using a shared buffer pool. Each virtual machine or TCP connection gets its own dedicated buffer space managed by the acceleration module. This segmentation ensures that packet loss recovery operations have exclusive access to the necessary buffer resources without contention from other VMs, maintaining reliability while still allowing efficient memory utilization through proper buffer management and allocation strategies.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10355997B2System and method for improving TCP performance in virtualized environments
Publication Date: 2019.07.16 JUNIPER NETWORKS INC
  • US10355997B2 patent drawing
  • US10355997B2 patent drawing
  • US10355997B2 patent drawing

AI summary

A method and system of improving TCP performance by offloading TCP processing to a protocol acceleration module is provided. For example, one or more in-sequence data packets being transmitted between a protocol sender and a protocol receiver is observed, and either the protocol sender or receiver resides within a virtualized host. A determination is made whether the protocol packet buffer within the protocol acceleration module is full. In further examples, one or more in-sequence packets are processed in an accelerated mode, where the processing includes copying the in-sequence data packets into the protocol packet buffer.