Micron’s Automata Processor (AP) is a new processor architecture that accelerates a class of algorithms called Non-deterministic Finite Automata (NFA) [cite: https://en.wikipedia.org/wiki/Nondeterministic_finite_automaton]. Over the past few decades, automata algorithms have been developed to solve complex problems on unstructured data in domains including computer security, bioinformatics, text analysis, and image processing. Existing research has focused on computing these automata on CPUs and GPU by using one of two techniques: NFA simulation and DFA conversion. These techniques trade off runtime for memory, where simulated NFAs are more compact, but have considerably longer runtimes, while DFAs have faster runtimes, but require significantly higher memory usage.
The AP is a processor architecture purpose-built for the hardware implementation of NFAs. Implementing automata directly in hardware by using millions of interconnected processing elements overcomes the limitations of software-implemented automata by exploring all active-set NFA states simultaneously and in parallel, achieving DFA processing runtimes without the associated memory explosion.
The AP hardware also comes with a suite of software development tools. The SDK offers support for C++, Java and Python programming languages. Developers can design and build their automata, reconfigure the hardware, stream input data to the hardware, and receive computed results from within their program without specialized hardware knowledge. With the included SDK and software tools, developers can rapidly design and deploy NFAs ready to process complex unstructured data problems.
By Tommy Tracy II