Offload Engine for Hardware-Accelerated Data Lookup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data lookup operations in network functions, particularly in virtual switches, face performance bottlenecks due to high latency and resource consumption, especially in cloud-native scenarios where massive network traffic and concurrent data structures lead to increased CPU usage and core-to-core communication delays.

Innovation Solution

Offloading hash-table lookups and tree traversals to a lookup engine, which accelerates flow classification by utilizing a last-level cache (LLC) and employing hardware-accelerator features like query distribution, cache locking, and hardware-implemented hash calculators to reduce CPU compute cycles and improve data access latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data lookup operations are performed using traditional CPU-based methods, then implementation flexibility is maintained, but processing latency increases and throughput decreases

Engineering Contradiction:
Improvedata lookup speedVSAvoidlookup system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent replaces CPU-based software lookup operations with a hardware lookup engine that performs data structure traversals in hardware. This substitution of mechanical (software) operations with hardware operations dramatically increases lookup speed while offloading the complexity from the CPU to dedicated hardware circuitry.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces a lookup engine as an intermediary component between the CPU and the data structures stored in memory/LLC. This intermediary handles the complex lookup operations, freeing the CPU from these tasks while providing a dedicated pathway for high-speed data retrieval.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If hash-table lookups are offloaded to a lookup engine, then processing throughput increases, but hardware resource consumption increases

Engineering Contradiction:
Improveflow classification throughputVSAvoidhardware energy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent pre-loads flow classification data structures into the Last Level Cache (LLC) before lookup operations begin. This preliminary action ensures that frequently accessed data is already in high-speed cache memory, reducing the need for repeated main memory accesses and lowering overall energy consumption during throughput-intensive operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a hybrid architecture where the lookup engine uses a combination of LLC and main memory, with the LLC serving as a high-speed local cache for frequently accessed data. This local quality optimization reduces average access times and energy consumption by keeping hot data locally available while maintaining the ability to access less frequently used data in main memory.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If concurrent data structures are used to handle massive network traffic, then system capacity increases, but core-to-core communication delays increase

Engineering Contradiction:
Improvenetwork traffic capacityVSAvoidcore-to-core communication delay
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent extracts the lookup operation from the CPU core execution path and relocates it to a dedicated hardware lookup engine. This extraction eliminates the need for CPU cores to participate in lookup operations, thereby removing core-to-core communication delays entirely from the data path while maintaining the ability to handle massive concurrent traffic.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11698929B2Offload of data lookup operations
Publication Date: 2023.07.11 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US11698929B2 patent drawing
  • US11698929B2 patent drawing
  • US11698929B2 patent drawing

AI summary

A central processing unit can offload table lookup or tree traversal to an offload engine. The offload engine can provide hardware accelerated operations such as instruction queueing, bit masking, hashing functions, data comparisons, a results queue, and a progress tracking. The offload engine can be associated with a last level cache. In the case of a hash table lookup, the offload engine can apply a hashing function to a key to generate a signature, apply a comparator to compare signatures against the generated signature, retrieve a key associated with the signature, and apply the comparator to compare the key against the retrieved key. Accordingly, a data pointer associated with the key can be provided in the result queue. Acceleration of operations in tree traversal and tuple search can also occur.