TCP Tunnel Aggregation for Short-Packet Overhead Reduction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for transferring short packets between Virtual Machines (VMs) in computing systems are inefficient, wasting communication bandwidth and CPU resources due to naive packet-by-packet processing.

Innovation Solution

Establishing dedicated Transport Control Protocol (TCP) connections, or TCP tunnels, between compute nodes to aggregate and transmit packets, reducing overhead by encapsulating multiple packets into TCP segments and leveraging offloading capabilities of Network Interface Controllers (NICs).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If packets are transferred one by one between compute nodes, then each packet can be processed individually, but communication bandwidth is wasted and CPU resources are consumed inefficiently

Engineering Contradiction:
Improvepacket transfer efficiencyVSAvoidbandwidth and CPU usage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

Multiple individual packets are merged into a single aggregated TCP segment for transmission over the dedicated TCP connection. This combining approach reduces the number of separate transmissions and processing operations, thereby improving packet transfer efficiency while reducing bandwidth waste and CPU resource consumption.

Inventive Principle:
Principle #5Merging (Combining)

2Loss of energy

If multiple packets are aggregated into TCP segments, then bandwidth efficiency improves, but packet processing complexity increases

Engineering Contradiction:
Improvebandwidth usageVSAvoidpacket aggregation complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

A dedicated TCP connection acts as an intermediary mechanism between compute nodes, providing a standardized framework for packet aggregation. This intermediary approach simplifies the aggregation process by establishing predefined protocols and structures, reducing the complexity that would otherwise arise from ad-hoc aggregation methods.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If dedicated TCP connections are established between compute nodes, then communication efficiency improves, but connection management overhead increases

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidconnection management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dedicated TCP connection serves multiple functions simultaneously: it carries aggregated packets between compute nodes, provides a standardized transmission framework, and enables efficient resource utilization. This multi-functionality reduces the need for separate mechanisms for each function, thereby improving communication efficiency while limiting the growth of connection management overhead.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10298494B2Reducing short-packet overhead in computer clusters
Publication Date: 2019.05.21 MELLANOX TECHNOLOGIES LTD(IL)
  • US10298494B2 patent drawing
  • US10298494B2 patent drawing
  • US10298494B2 patent drawing

AI summary

A method includes, in a computing system that includes multiple compute nodes that run workloads and are connected by a network, establishing a dedicated Transport Control Protocol (TCP) connection over the network between a first compute node and a second compute node. Packets, which originate from one or more source workloads on the first compute node and are destined to one or more destination workloads on the second compute node, are identified and queued in the first compute node. The queued packets are aggregated in the first compute node into one or more TCP segments, and the TCP segments are sent over the dedicated TCP connection to the second compute node. In the second compute node, the TCP segments are received over the dedicated TCP connection, the packets are extracted from the received TCP segments, and the extracted packets are forwarded to the destination workloads.