Nathan Brunelle

Learn More
High-performance automata-processing engines are traditionally evaluated using a limited set of regular expressionrulesets. While regular expression rulesets are valid real-world examples of use cases for automata processing, they represent a small proportion of all use cases for automata-based computing. With the recent availability of architectures and(More)
The Levenshtein Nondeterministic Finite state Automaton (NFA) recognizes input strings within a set edit distance of a configured pattern in linear time. This automaton can be pipelined to recognize all substrings of an input text in linear time with additional use of nondeterminism. In general, von Neumann hardware cannot directly execute NFAs without(More)
Micron's Automata Processor (AP) efficiently emulates non-deterministic finite automata and has been shown to provide large speedups over traditional von Neumann execution for massively parallel, rule-based, data-mining and pattern matching applications. We demonstrate the AP's ability to generate high-quality and energy efficient pseudo-random behavior for(More)
Micron's new Automata Processor (AP) architecture exploits the very high and natural level of parallelism found in DRAM technologies to achieve native-hardware implementation of non-deterministic finite automata (NFAs). The use of DRAM technology to implement the NTA states provides high capacity and therefore provide extraordinary parallelism for pattern(More)
We study compression-aware algorithms, i.e. algorithms that can exploit regularity in their input data by directly operating on compressed data. While popular with string algorithms, we consider this idea for algorithms operating on numeric sequences and graphs that have been compressed using a variety of schemes including LZ77, grammar-based compression, a(More)
Micron’s Automata Processor is an innovative reconfigurable hardware accelerator for parallel finite-automatabased regular-expression matching. While the Automata Processor has demonstrated potential for many pattern matching applications, other applications receive reduced benefit from the architecture due to capacity limitations or routing limitations. In(More)
Propensity scores (PS) have been widely used in epidemiology to control for confounding bias in non-experimental comparative studies of drugs, but the technique of matching patients by score becomes computationally impractical with studies of three or more treatment groups. Imbens’ generalized propensity score (GPS) provides a method for comparing multiple(More)
While massive datasets are often stored in compressed format, most algorithms are designed to operate on uncompressed data. We address this growing disconnect by developing a framework for compression-aware algorithms that operate directly on compressed datasets. Synergistically, we also propose new algorithmically-aware compression schemes that enable(More)
When writing a program, the programmers may wish to verify certain properties of this program. For example, will my variable X always be an integer? To answer these questions we use program analysis. Constraint-based program analysis is a form of static program analysis. This means that all of these questions about the program’s run-time behavior are(More)
  • 1