Publication | Open Access
CICERO: A Domain-Specific Architecture for Efficient Regular Expression Matching
20
Citations
19
References
2021
Year
EngineeringCompiler TechnologyComputer ArchitectureEmbedded SystemsDomain-specific ArchitectureHardware SystemsCorpus LinguisticsNatural Language ProcessingString-searching AlgorithmInformation RetrievalString ProcessingComputational LinguisticsComputing SystemsLanguage StudiesParallel ComputingCompilersIntrinsic ParallelismMachine TranslationProgramming LanguagesKnowledge DiscoveryComputer EngineeringComputer ScienceEmbedded FpgaFpga DesignHardware AccelerationAutomated ReasoningCombinatorial Pattern MatchingFormal MethodsRe MatchingLinguistics
Regular Expression (RE) matching is a computational kernel used in several applications. Since RE complexity and data volumes are steadily increasing, hardware acceleration is gaining attention also for this problem. Existing approaches have limited flexibility as they require a different implementation for each RE. On the other hand, it is complex to map efficient RE representations like non-deterministic finite-state automata onto software-programmable engines or parallel architectures. In this work, we present CICERO , an end-to-end framework composed of a domain-specific architecture and a companion compilation framework for RE matching. Our solution is suitable for many applications, such as genomics/proteomics and natural language processing. CICERO aims at exploiting the intrinsic parallelism of non-deterministic representations of the REs. CICERO can trade-off accelerators’ efficiency and processors’ flexibility thanks to its programmable architecture and the compilation framework. We implemented CICERO prototypes on embedded FPGA achieving up to 28.6× and 20.8× more energy efficiency than embedded and mainstream processors, respectively. Since it is a programmable architecture, it can be implemented as a custom ASIC that is orders of magnitude more energy-efficient than mainstream processors.
| Year | Citations | |
|---|---|---|
Page 1
Page 1