Regex Accelerator Batching Small Data Chunks to Reduce PCIe Overhead
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
3Productivity
If composite data chunks are processed without validation, then processing speed is maximized, but match accuracy decreases due to boundary crossing issues
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.
Data Source
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.


