Network Acceleration Architecture Asynchronous Streamer TCE

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network acceleration solutions for iSCSI and RDMA are limited by embedded CPU capabilities, leading to high latency and increased costs, and lack flexibility in protocol processing, particularly for TCP, which is essential for adapting to changing network conditions.

Innovation Solution

A network acceleration architecture that separates data-intensive operations from protocol control, using a hardware acceleration engine (Streamer) for fast-path data processing and a software TCP Control Engine (TCE) for protocol processing, allowing asynchronous and independent operation, thus preserving flexibility and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If embedded CPUs are used for protocol processing, then data processing operations can be handled, but latency increases and performance benefits are limited

Engineering Contradiction:
Improvedata processing capabilityVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments protocol processing into two distinct paths: a fast path handled by hardware acceleration engines for time-critical operations, and a slow path handled by embedded CPUs for complex protocol logic. This segmentation allows latency-sensitive operations to bypass CPU processing entirely, resolving the contradiction between data processing capability and latency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Descriptor rings serve as an intermediary data structure between the hardware acceleration engines and embedded CPUs. The descriptors contain pre-computed information that allows hardware engines to process packets without CPU intervention for routine operations, while still enabling CPU involvement when complex protocol processing is required. This intermediary mechanism resolves the latency issue while preserving processing capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple CPUs are placed on the data path to handle multiple packets simultaneously, then networking rates increase, but implementation difficulty increases and cost increases

Engineering Contradiction:
Improvenetworking rateVSAvoidimplementation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system uses descriptor ring copies that can be processed in parallel by multiple hardware acceleration engines simultaneously. Instead of requiring multiple complex CPU systems, the same descriptor data structure is replicated and processed by independent hardware engines, achieving high networking rates through hardware parallelism rather than CPU multiplication, thus reducing implementation complexity and cost.

Inventive Principle:
Principle #26Copying

3Speed

If state machine implementation is used, then hardware acceleration can be achieved, but flexibility in protocol processing is lost

Engineering Contradiction:
Improveprocessing speedVSAvoidprotocol processing flexibility
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The system dynamically selects between hardware acceleration and software processing based on the specific protocol processing requirements. The descriptor structure includes fields that indicate whether a packet should be processed by the hardware fast path or passed to the software slow path. This dynamic selection mechanism preserves protocol processing flexibility while maintaining high speed hardware acceleration for appropriate operations, resolving the contradiction between speed and adaptability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7733875B2Transmit flow for network acceleration architecture
Publication Date: 2010.06.08 MELLANOX TECHNOLOGIES LTD(IL)
  • US7733875B2 patent drawing
  • US7733875B2 patent drawing
  • US7733875B2 patent drawing

AI summary

A method for receiving data in a network acceleration architecture for use with TCP (transport control protocol), iSCSI (Internet Small Computer System Interface) and/or RDMA (Remote Direct Memory Access) over TCP, including providing a hardware acceleration engine, called a streamer, adapted for communication with and processing data from a consumer application in a system that supports TCP, iSCSI and RDMA over TCP, providing a software protocol processor adapted for carrying out TCP implementation, the software control processor being called a TCE (TCP Control Engine), wherein the streamer and the TCE are adapted to operate asynchronously and independently of one another, and transmitting a TCP segment with the streamer.