Affiliation:
1. Microsoft Research, Redmond, USA
2. Microsoft, Redmond, USA
Abstract
A finite-state machine (FSM) is an important abstraction for solving several problems, including regular-expression matching, tokenizing text, and Huffman decoding. FSM computations typically involve data-dependent iterations with unpredictable memory-access patterns making them difficult to parallelize. This paper describes a parallel algorithm for FSMs that breaks dependences across iterations by efficiently enumerating transitions from all possible states on each input symbol. This allows the algorithm to utilize various sources of data parallelism available on modern hardware, including vector instructions and multiple processors/cores. For instance, on benchmarks from three FSM applications: regular expressions, Huffman decoding, and HTML tokenization, the parallel algorithm achieves up to a 3x speedup over optimized sequential baselines on a single core, and linear speedups up to 21x on 8 cores.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference36 articles.
1. Canonical regular expressions and minimal state graphs for definite events;Brzozowski J. A.;Mathematical Theory of Automata,1962
2. R. L. Cloud M. L. Curry H. L. Ward A. Skjellum and P. Bangalore. Accelerating lossless data compression with GPUs. Computing Research Repository (CoRR) abs/1107.1525 2011. R. L. Cloud M. L. Curry H. L. Ward A. Skjellum and P. Bangalore. Accelerating lossless data compression with GPUs. Computing Research Repository (CoRR) abs/1107.1525 2011.
3. MapReduce
Cited by
2 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献