Bump-in-the-Wire Accelerator for Offloading Cryptographic Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Bump-in-the-wire computational accelerators are limited in their usefulness and scalability when dealing with connection-oriented transport-layer traffic, leading to cryptographic operations being performed in software on the host CPU rather than being offloaded to hardware accelerators, especially for protocols like TCP.

Innovation Solution

A bump-in-the-wire accelerator device that performs opportunistic decryption of packets using a flow state table with cryptographic context information, allowing offloading of cryptographic operations from the host processor while maintaining transport logic on the host processor, and resumes hardware processing after packet rearrangement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cryptographic operations are performed in software on the host CPU, then the host processor can handle transport-layer protocols like TCP, but cryptographic operations cannot be offloaded to hardware accelerators

Engineering Contradiction:
Improveability to handle transport-layer protocolsVSAvoidcryptographic operation throughput
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system segments the processing responsibilities between the host CPU and the hardware accelerator. The host CPU handles transport-layer protocol processing (TCP/IP stack), while the hardware accelerator handles cryptographic operations. This segmentation is achieved through a co-processor architecture where the accelerator appears as a network interface to the host, allowing simultaneous handling of protocol logic and cryptographic computations without interference.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A network interface controller (NIC) or bridge device acts as an intermediary between the host CPU and the hardware accelerator. This intermediary manages the interface between the software-based transport layer and the hardware-based cryptographic engine, enabling the host to send cryptographic operations to the accelerator while maintaining protocol handling responsibilities. The intermediary translates and coordinates data flows between the two processing domains.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If cryptographic operations are offloaded to a hardware accelerator, then cryptographic throughput increases, but the accelerator cannot handle connection-oriented transport-layer traffic

Engineering Contradiction:
Improvecryptographic operation throughputVSAvoidability to handle connection-oriented protocols
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The transport-layer protocol handling functionality is extracted from the hardware accelerator and placed in the host CPU's software stack. This extraction allows the accelerator to focus exclusively on cryptographic operations without the complexity of maintaining connection state, sequence numbers, or retransmission logic. The host CPU retains full control over TCP/IP protocol processing while the accelerator provides dedicated cryptographic acceleration.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of having the hardware accelerator handle both transport protocols and cryptography (as in traditional approaches), the system inverts the architecture: the host CPU handles transport protocols in software while the accelerator handles only cryptography in hardware. This inversion resolves the contradiction by assigning each component to its strength - software flexibility for protocol handling and hardware speed for cryptographic computations.

Inventive Principle:
Principle #13The other way round (Inversion)

3Productivity

If a bump-in-the-wire accelerator is deployed, then cryptographic operations can be intercepted and accelerated, but the accelerator requires implementation of transport layer logic and data buffering

Engineering Contradiction:
Improvecryptographic operation throughputVSAvoidtransport layer implementation requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The host CPU's network stack is designed to be universal, handling both standard network traffic and cryptographic operations through a unified interface. The NIC or bridge device provides multi-functionality by supporting both regular packet forwarding and cryptographic acceleration modes. This universality eliminates the need for the accelerator to implement specialized transport layer logic, as the host's existing network stack already provides this functionality.

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

Solution Approach 2:

The host CPU's existing network stack and memory resources are utilized to provide transport layer services and data buffering, rather than requiring the accelerator to implement these functions. The accelerator leverages the host's self-service capabilities for protocol handling and buffer management, focusing its resources on cryptographic computations. This approach reduces the accelerator's complexity by having it rely on the host's established infrastructure.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10715451B2Efficient transport flow processing on an accelerator
Publication Date: 2020.07.14 MELLANOX TECHNOLOGIES LTD(IL)
  • US10715451B2 patent drawing
  • US10715451B2 patent drawing
  • US10715451B2 patent drawing

AI summary

Data processing apparatus includes a host processor and a network interface controller (NIC), which is configured to couple the host processor to a packet data network. A memory holds a flow state table containing context information with respect to computational operations to be performed on multiple packet flows conveyed between the host processor and the network. Acceleration logic is coupled to perform the computational operations on payloads of packets in the multiple packet flows using the context information in the flow state table.