Software-Hardware Codesign for Efficient In-Memory Regular Pattern Matching
Lingkun Kong, Qixuan Yu, Agnishom Chattopadhyay, Alexis Le Glaunec, Yi, Huang, Konstantinos Mamouras, Kaiyuan Yang

TL;DR
This paper presents a specialized hardware architecture for efficient in-memory regular expression matching with counting, leveraging static analysis and a regex-to-hardware compiler, resulting in significant performance and energy improvements.
Contribution
It introduces a novel hardware design integrating counters and bit vectors for in-memory NFA execution, guided by static regex analysis for optimized resource allocation.
Findings
Up to 76% energy reduction compared to traditional methods.
58% area reduction in hardware implementation.
Order-of-magnitude performance improvement for small counting quantifiers.
Abstract
Regular pattern matching is used in numerous application domains, including text processing, bioinformatics, and network security. Patterns are typically expressed with an extended syntax of regular expressions that include the computationally challenging construct of bounded iteration or counting, which describes the repetition of a pattern a fixed number of times. We develop a design for a specialized in-memory hardware architecture for NFA execution that integrates counter and bit vector elements. The design is inspired by the theoretical model of nondeterministic counter automata (NCA). A key feature of our approach is that we statically analyze regular expressions to determine bounds on the amount of memory needed for the occurrences of counting. The results of this analysis are used by a regex-to-hardware compiler in order to make an appropriate selection of counter or bit vector…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
