Deterministic and Non-deterministic Finite Automata (DFA and NFA) comprise the core of many big data applications. Recent efforts to develop Domain-Specific Architectures (DSAs) for DFA/NFA have taken divergent approaches, but achieving consistent throughput for arbitrarily-large pattern sets, state activation rates, and pattern match rates remains a challenge. In this article, we present NAPOLY (Non-Deterministic Automata Processor OverLaY), an FPGA overlay and associated compiler. A common limitation of prior efforts is a limit on NFA size for achieving the advertised throughput. NAPOLY is optimized for fast re-programming to permit practical time-division multiplexing of the hardware and permit high asymptotic throughput for NFAs of unlimited size, unlimited state activation rate, and high pattern reporting rate. NAPOLY also allows for offline generation of configurations having tradeoffs between state capacity and transition capacity. In this article, we (1) evaluate NAPOLY using benchmarks packaged in the ANMLZoo benchmark suite, (2) evaluate the use of an SAT solver for allocating physical resources, and (3) compare NAPOLY's performance against existing solutions. NAPOLY performs most favorably on larger benchmarks, benchmarks with higher state activation frequency, and benchmarks with higher reporting frequency. NAPOLY outperforms the fastest of the CPU and GPU implementations in 10 out of 12 benchmarks.
机构:
Univ Paris Saclay, LSV, CNRS, Cachan, France
Univ Paris Saclay, ENS Paris Saclay, Cachan, France
Univ Rennes, INRIA, CNRS, IRISA, Rennes, FranceENS Lyon, CNRS, LIP, Lyon, France
机构:
Univ Prince Edward Isl, Dept Comp Sci & Informat Technol, Fac Sci, Charlottetown, PE C1A 4P3, CanadaUniv Prince Edward Isl, Dept Comp Sci & Informat Technol, Fac Sci, Charlottetown, PE C1A 4P3, Canada
机构:
CNRS, Villetaneuse, France
Univ Copenhagen, Copenhagen, Denmark
CNRS, LIPN UMR 7030, F-93430 Villetaneuse, France
Univ Paris 13, Inst Galilee, Univ Paris 13, 99 Ave Jean Baptiste Clement, F-93430 Villetaneuse, FranceCNRS, Villetaneuse, France