Scalable Algorithms for NFA Multi-Striding and NFA-Based Deep Packet Inspection on GPUs
IEEE/ACM Trans. Netw.(2016)
摘要
Finite state automata (FSA) are used by many network processing applications to match complex sets of regular expressions in network packets. In order to make FSA-based matching possible even at the ever-increasing speed of modern networks, multi-striding has been introduced. This technique increases input parallelism by transforming the classical FSA that consumes input byte by byte into an equivalent one that consumes input in larger units. However, the algorithms used today for this transformation are so complex that they often result unfeasible for large and complex rule sets. This paper presents a set of new algorithms that extend the applicability of multi-striding to complex rule sets. These algorithms can transform nondeterministic finite automata (NFA) into their multi-stride form with reduced memory and time requirements. Moreover, they exploit the massive parallelism of graphical processing units for NFA-based matching. The final result is a boost of the overall processing speed on typical regex-based packet processing applications, with a speedup of almost one order of magnitude compared to the current state-of-the-art algorithms.
更多查看译文
关键词
Automata,Instruction sets,Memory management,Parallel processing,Complexity theory,Compounds,Pattern matching
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络