Hardware Accelerated String Filter for Columnar Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face inefficiencies and bottlenecks when performing string-based column filters in columnar data formats due to heavy CPU cycle consumption and throughput constraints, particularly when dealing with variable-length strings.
Innovation Solution
The implementation of in-memory analytics acceleration (IAA) that offloads CPU cycles and improves filter throughput by using cooperative operations between the CPU and IAA module, specifically leveraging hardware-specific operations like run length encoding (RLE) and scanning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If string-based column filters are performed using traditional CPU processing, then filtering functionality is achieved, but CPU cycle consumption is excessive and throughput is constrained
Solution Approach 1:
The patent replaces traditional CPU-based string filtering with a hardware accelerator that uses specialized circuitry and instruction sets (such as bit-wise parallel operations and run-length encoding hardware) to perform filtering operations. This substitution of general-purpose CPU mechanics with dedicated hardware mechanics achieves higher throughput and lower CPU cycle consumption.
Solution Approach 2:
The patent transforms variable-length string data into fixed-length encoded representations using run-length encoding and bit-packing techniques. This parameter transformation enables parallel hardware processing by converting irregular data into a uniform format that can be efficiently processed by hardware circuits, thereby improving throughput while reducing computational overhead.
2Productivity
If variable-length strings are processed directly, then data fidelity is maintained, but processing efficiency deteriorates due to alignment and padding overhead
Solution Approach 1:
The patent changes the parameter of string length from variable to fixed through run-length encoding and bit-packing. Each variable-length string is transformed into a fixed-width binary representation that includes length information and character data in a standardized format, enabling efficient hardware processing without sacrificing data fidelity.
Solution Approach 2:
The patent segments strings into fixed-size chunks or blocks that can be processed in parallel by hardware circuits. By dividing the data into uniform segments with consistent alignment, the system achieves efficient vectorized processing while maintaining the ability to reconstruct the original variable-length strings.
Data Source
AI summary
An apparatus may include an accelerator and a processor. The processor may receive an input string targeting a data buffer comprising a plurality of strings. The processor may receive, from the accelerator, a fixed-length data buffer based on the data buffer, respective ones of a plurality of entries of the fixed-length data buffer based on respective ones of the strings. The processor may receive, from the accelerator, a plurality of streams, respective ones of the plurality of streams to comprise a portion of respective entries in the fixed-length data buffer. The processor may generate, based on the input string, a plurality of target portions of the input string. The processor may receive, from the accelerator, indexes of the plurality of streams based on respective target portions of the input string matching respective entries of the plurality of streams. The processor may aggregate the indexes received from the accelerator.


