Regex Accelerator Batching Small Data Chunks to Reduce PCIe Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing regex matching technologies face performance bottlenecks when processing small data chunks, leading to reduced throughput due to PCIe write overheads and hardware queuing, rather than regex processing efficiency, especially in applications like ACL lookups where jobs are under 20 bytes.

Innovation Solution

Offloading regex processing to a lookaside accelerator that batches smaller data chunks into larger ones for regex matching, using scatter-gather memory capabilities to process them as a single large job, and modifying the DPDK driver and rules compiler to validate matches based on metadata and anchoring information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If regex processing is performed on small data chunks individually, then processing accuracy is maintained, but throughput is reduced due to PCIe write overheads and hardware queuing

Engineering Contradiction:
ImprovethroughputVSAvoidPCIe write overhead
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent combines multiple small data chunks into a single larger composite data chunk for regex processing. This merging approach reduces the number of PCIe write operations and hardware queue submissions, thereby reducing overhead and improving throughput. The composite chunk is processed as a single unit, and match results are subsequently validated against the original chunk boundaries to ensure accuracy.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If data chunks are batched into larger composite chunks for processing, then throughput is improved, but device complexity increases due to additional processing blocks and metadata management

Engineering Contradiction:
Improvejobs per secondVSAvoidprocessing block structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the processing system into distinct functional blocks: a first processing block responsible for forming composite chunks and managing metadata, and a second processing block isolated from configuration information that performs regex matching. This segmentation allows each block to be optimized independently while maintaining overall system efficiency and managing complexity through clear separation of concerns.

Inventive Principle:
Principle #1Segmentation

3Productivity

If composite data chunks are processed without validation, then processing speed is maximized, but match accuracy decreases due to boundary crossing issues

Engineering Contradiction:
Improveprocessing speedVSAvoidmatch accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent implements a validation feedback mechanism where match results from composite chunk processing are checked against metadata representing original data chunk boundaries. This feedback loop ensures that matches spanning invalid boundaries are identified and corrected, maintaining accuracy while preserving the speed benefits of composite chunk processing.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12169489B2Devices, systems, and methods for accelerating character matching
Publication Date: 2024.12.17 MELLANOX TECHNOLOGIES LTD(IL)
  • US12169489B2 patent drawing
  • US12169489B2 patent drawing
  • US12169489B2 patent drawing

AI summary

A network device comprises processing circuitry configured to: receive a plurality of data chunks from at least one source; form a composite data chunk from at least first and second data chunks of the plurality of data chunks; process the composite data chunk to identify a match between a first pattern of characters within the composite data chunk and a stored pattern of characters; and validate or invalidate the match based on metadata of the composite data chunk.