vTCP Module Offloading TCP Processing in Virtualized Hosts
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Productivity
If high overcommit ratio is used to maximize CPU resource utilization, then cost efficiency is improved, but TCP throughput performance deteriorates
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.
2Adaptability or versatility
If virtual machines are scheduled independently to maximize CPU allocation flexibility, then resource allocation adaptability is improved, but TCP latency increases
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.
3Reliability
If traditional TCP processing is used in virtualized environments, then protocol compatibility is maintained, but network protocol throughput is reduced
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.
4Quantity of substance
If shared buffers are used for packet storage, then memory resource sharing is improved, but packet loss recovery capability deteriorates
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.
Data Source
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.


