TNIC Offload Engine Synchronous Data Transmission

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for offloading connections from a kernel to a TNIC are inefficient for short-lived connections, resulting in significant latency and processing burdens on the CPU, as the setup process takes longer than the transmission time for these connections, making it impractical to relieve kernel processing loads for internet and web-based message traffic.

Innovation Solution

The method involves sending message packets to an endpoint simultaneously with the offload setup process, allowing initial data transmission to the remote TCP endpoint before receiving an acknowledgement, thereby reducing latency and continuing data processing during setup, and includes a system with a TNIC, CPU, and offload engine that analyzes connections and facilitates synchronous data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If connection offloading is performed using conventional methods, then the TNIC can relieve the kernel of TCP/IP processing burden, but the setup time (10-15 ms) exceeds the transmission time for short-lived connections, making offloading ineffective

Engineering Contradiction:
Improvekernel processing reliefVSAvoidoffload setup time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by initiating the offload setup process before the connection is fully established. The TNIC driver receives offload requests and begins resource allocation and state synchronization in advance, allowing the offloading to be completed during the data transfer phase rather than before it begins. This eliminates the 10-15ms setup delay for short-lived connections by performing the preparatory work concurrently with connection establishment.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If the kernel processes all TCP/IP packets, then short-lived connections can be handled without offloading delays, but the kernel becomes overwhelmed and spends 70-80% of CPU resources on packet processing

Engineering Contradiction:
Improveconnection handling timeVSAvoidapplication processing capacity
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies the extraction principle by removing TCP/IP processing functions from the kernel and transferring them to the TNIC. The TNIC driver captures offload requests from application sockets and transfers connection state and data to the TNIC, which then handles packet processing independently. This extraction relieves the kernel of 70-80% of its packet processing burden while maintaining efficient handling of both short-lived and long-lived connections.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If TNIC offloading is implemented, then long-lived connections benefit from reduced kernel processing, but the complex setup process involving resource allocation and state synchronization makes it impractical for short-lived connections

Engineering Contradiction:
Improvelong-lived connection efficiencyVSAvoidoffload setup complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by enabling the TNIC driver to autonomously manage offload operations without requiring complex kernel coordination. The driver directly receives offload requests from application sockets, allocates TNIC resources, synchronizes connection state, and manages the offloading process independently. This self-service approach simplifies the setup process by eliminating complex inter-layer coordination requirements, making offloading viable for both short-lived and long-lived connections.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7672239B1System and method for conducting fast offloading of a connection onto a network interface card
Publication Date: 2010.03.02 ORACLE AMERICAN INC
  • US7672239B1 patent drawing
  • US7672239B1 patent drawing
  • US7672239B1 patent drawing

AI summary

Techniques, systems, and apparatus for offloading data connections from a kernel onto an associated TNIC are disclosed. Generally, embodiments of the invention are configured to send message packets of a connection to an endpoint at substantially the same time as an associated offload set-up process is performed. A method provides a data connection enabling data exchange between two TCP endpoints. After a determination is made that the connection is suitable for offloading, the kernel sends connection state information and a request that the connection be offloaded to a TNIC. Prior to completion of offload set up, an initial transmission of connection data is sent to an associated TCP endpoint. These principles can be implemented as software operating on a computer system, as a computer system module, as a computer program product and as a series of related devices and products.