Optimizing Regular Expression Matching with SR-NFA on Multi-Core Systems Authors : Yang, Y.E., Prasanna, V.K. Yang, Y.E. Prasanna, V.K. Publisher : Parallel.

Slides:



Advertisements
Similar presentations
Deep Packet Inspection with DFA-trees and Parametrized Language Overapproximation Author: Daniel Luchaup, Lorenzo De Carli, Somesh Jha, Eric Bach Publisher:
Advertisements

Scalable Packet Classification Using Hybrid and Dynamic Cuttings Authors : Wenjun Li,Xianfeng Li Publisher : Engineering Lab on Intelligent Perception.
An Efficient Regular Expressions Compression Algorithm From A New Perspective Authors : Tingwen Liu,Yifu Yang,Yanbing Liu,Yong Sun,Li Guo Tingwen LiuYifu.
Pipelined Parallel AC-based Approach for Multi-String Matching Department of Computer Science and Information Engineering National Cheng Kung University,
1 An adaptable FPGA-based System for Regular Expression Matching Department of Computer Science and Information Engineering National Cheng Kung University,
Compact State Machines for High Performance Pattern Matching Department of Computer Science and Information Engineering National Cheng Kung University,
1 Regular expression matching with input compression : a hardware design for use within network intrusion detection systems Department of Computer Science.
1 Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Department of Computer Science and Information Engineering National.
OpenFlow-Based Server Load Balancing GoneWild Author : Richard Wang, Dana Butnariu, Jennifer Rexford Publisher : Hot-ICE'11 Proceedings of the 11th USENIX.
High-Performance Packet Classification on GPU Author: Shijie Zhou, Shreyas G. Singapura and Viktor K. Prasanna Publisher: HPEC 2014 Presenter: Gang Chi.
Thopson NFA Presenter: Yuen-Shuo Li Date: 2014/5/7 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
Packet Classification using Rule Caching Author: Nitesh B. Guinde, Roberto Rojas-Cessa, Sotirios G. Ziavras Publisher: IISA, 2013 Fourth International.
Sampling Techniques to Accelerate Pattern Matching in Network Intrusion Detection Systems Author: Domenico Ficara, Gianni Antichi, Andrea Di Pietro, Stefano.
Fast forwarding table lookup exploiting GPU memory architecture Author : Youngjun Lee,Minseon Jeong,Sanghwan Lee,Eun-Jin Im Publisher : Information and.
Leveraging Traffic Repetitions for High- Speed Deep Packet Inspection Author: Anat Bremler-Barr, Shimrit Tzur David, Yotam Harchol, David Hay Publisher:
SI-DFA: Sub-expression Integrated Deterministic Finite Automata for Deep Packet Inspection Authors: Ayesha Khalid, Rajat Sen†, Anupam Chattopadhyay Publisher:
A Regular Expression Matching Algorithm Using Transition Merging Department of Computer Science and Information Engineering National Cheng Kung University,
EQC16: An Optimized Packet Classification Algorithm For Large Rule-Sets Author: Uday Trivedi, Mohan Lal Jangir Publisher: 2014 International Conference.
Pattern-Based DFA for Memory- Efficient and Scalable Multiple Regular Expression Matching Author: Junchen Jiang, Yang Xu, Tian Pan, Yi Tang, Bin Liu Publisher:IEEE.
Scalable Many-field Packet Classification on Multi-core Processors Authors : Yun R. Qu, Shijie Zhou, Viktor K. Prasanna Publisher : International Symposium.
StriD 2 FA: Scalable Regular Expression Matching for Deep Packet Inspection Author: Xiaofei Wang, Junchen Jiang, Yi Tang, Bin Liu, and Xiaojun Wang Publisher:
1 Optimization of Regular Expression Pattern Matching Circuits on FPGA Department of Computer Science and Information Engineering National Cheng Kung University,
Deterministic Finite Automaton for Scalable Traffic Identification: the Power of Compressing by Range Authors: Rafael Antonello, Stenio Fernandes, Djamel.
Regular Expression Matching for Reconfigurable Packet Inspection Authors: Jo˜ao Bispo, Ioannis Sourdis, Jo˜ao M.P. Cardoso and Stamatis Vassiliadis Publisher:
DBS A Bit-level Heuristic Packet Classification Algorithm for High Speed Network Author : Baohua Yang, Xiang Wang, Yibo Xue, Jun Li Publisher : th.
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
TFA: A Tunable Finite Automaton for Regular Expression Matching Author: Yang Xu, Junchen Jiang, Rihua Wei, Yang Song and H. Jonathan Chao Publisher: ACM/IEEE.
Binary-tree-based high speed packet classification system on FPGA Author: Jingjiao Li*, Yong Chen*, Cholman HO**, Zhenlin Lu* Publisher: 2013 ICOIN Presenter:
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
Lightweight Traffic-Aware Packet Classification for Continuous Operation Author: Shariful Hasan Shaikot, Min Sik Kim Presenter: Yen-Chun Tseng Date: 2014/11/26.
Range Enhanced Packet Classification Design on FPGA Author: Yeim-Kuan Chang, Chun-sheng Hsueh Publisher: IEEE Transactions on Emerging Topics in Computing.
PC-TRIO: A Power Efficient TACM Architecture for Packet Classifiers Author: Tania Banerjee, Sartaj Sahni, Gunasekaran Seetharaman Publisher: IEEE Computer.
LaFA Lookahead Finite Automata Scalable Regular Expression Detection Authors : Masanori Bando, N. Sertac Artan, H. Jonathan Chao Masanori Bando N. Sertac.
Packet Classification Using Dynamically Generated Decision Trees
GFlow: Towards GPU-based High- Performance Table Matching in OpenFlow Switches Author : Kun Qiu, Zhe Chen, Yang Chen, Jin Zhao, Xin Wang Publisher : Information.
LOP_RE: Range Encoding for Low Power Packet Classification Author: Xin He, Jorgen Peddersen and Sri Parameswaran Conference : IEEE 34th Conference on Local.
SRD-DFA Achieving Sub-Rule Distinguishing with Extended DFA Structure Author: Gao Xia, Xiaofei Wang, Bin Liu Publisher: IEEE DASC (International Conference.
Series DFA for Memory- Efficient Regular Expression Matching Author: Tingwen Liu, Yong Sun, Li Guo, and Binxing Fang Publisher: CIAA 2012( International.
Practical Multituple Packet Classification Using Dynamic Discrete Bit Selection Author: Baohua Yang, Fong J., Weirong Jiang, Yibo Xue, Jun Li Publisher:
Hierarchical Hybrid Search Structure for High Performance Packet Classification Authors : O˜guzhan Erdem, Hoang Le, Viktor K. Prasanna Publisher : INFOCOM,
LightFlow : Speeding Up GPU-based Flow Switching and Facilitating Maintenance of Flow Table Author : Nobutaka Matsumoto and Michiaki Hayashi Conference:
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
JA-trie: Entropy-Based Packet Classification Author: Gianni Antichi, Christian Callegari, Andrew W. Moore, Stefano Giordano, Enrico Anastasi Conference.
A Multi-dimensional Packet Classification Algorithm Based on Hierarchical All-match B+ Tree Author: Gang Wang, Yaping Lin*, Jinguo Li, Xin Yao Publisher:
Reorganized and Compact DFA for Efficient Regular Expression Matching
2018/4/27 PiDFA : A Practical Multi-stride Regular Expression Matching Engine Based On FPGA Author: Jiajia Yang, Lei Jiang, Qiu Tang, Qiong Dai, Jianlong.
A DFA with Extended Character-Set for Fast Deep Packet Inspection
2018/6/26 An Energy-efficient TCAM-based Packet Classification with Decision-tree Mapping Author: Zhao Ruan, Xianfeng Li , Wenjun Li Publisher: 2013.
Regular Expression Matching in Reconfigurable Hardware
2018/11/19 Source Routing with Protocol-oblivious Forwarding to Enable Efficient e-Health Data Transfer Author: Shengru Li, Daoyun Hu, Wenjian Fang and.
SigMatch Fast and Scalable Multi-Pattern Matching
Parallel Processing Priority Trie-based IP Lookup Approach
Scalable Memory-Less Architecture for String Matching With FPGAs
2018/12/29 A Novel Approach for Prefix Minimization using Ternary trie (PMTT) for Packet Classification Author: Sanchita Saha Ray, Abhishek Chatterjee,
2019/1/3 Exscind: Fast Pattern Matching for Intrusion Detection Using Exclusion and Inclusion Filters Next Generation Web Services Practices (NWeSP) 2011.
Memory-Efficient Regular Expression Search Using State Merging
Scalable Multi-Match Packet Classification Using TCAM and SRAM
A New String Matching Algorithm Based on Logical Indexing
Compact DFA Structure for Multiple Regular Expressions Matching
2019/5/3 A De-compositional Approach to Regular Expression Matching for Network Security Applications Author: Eric Norige Alex Liu Presenter: Yi-Hsien.
2019/5/5 A Flexible Wildcard-Pattern Matching Accelerator via Simultaneous Discrete Finite Automata Author: Hsiang-Jen Tsai, Chien-Chih Chen, Yin-Chi Peng,
Published in 2016 International Computer Symposium (ICS) Authors
Power-efficient range-match-based packet classification on FPGA
Presenter: Yu Hao, Tseng Date: 2014/8/25
Large-scale Packet Classification on FPGA
A Hybrid IP Lookup Architecture with Fast Updates
2019/9/3 Adaptive Hashing Based Multiple Variable Length Pattern Search Algorithm for Large Data Sets 比對 Simple Pattern 的方法是基於 Hash 並且可以比對不同長度的 Pattern。
2019/10/9 Regular Expression Matching for Reconfigurable Constraint Repetition Inspection Authors : Miad Faezipour and Mehrdad Nourani Publisher : IEEE.
Towards TCAM-based Scalable Virtual Routers
Presentation transcript:

Optimizing Regular Expression Matching with SR-NFA on Multi-Core Systems Authors : Yang, Y.E., Prasanna, V.K. Yang, Y.E. Prasanna, V.K. Publisher : Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on Parallel Architectures and Compilation Techniques (PACT), 2011 International Conference on Presenter : 楊皓中 Date : 2014/09/17 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.

NFA (Basic modified McNaughton-Yamada Constructions) National Cheng Kung University CSIE Computer & Internet Architecture Lab 2 \x2F(fn|s)\x3F[^\r\n]*(i|&*)

Single-Segment SR-NFA National Cheng Kung University CSIE Computer & Internet Architecture Lab 3 State-reachability matrix Character-acceptance matrix Input : \x2Ffn\x3Fssi Q = (initial state from root) V = \x2F(fn|s)\x3F[^\r\n]*(i|&*)

SR-NFA ARCHITECTURE National Cheng Kung University CSIE Computer & Internet Architecture Lab 4 State-reachability matrix Character-acceptance matrix Input : \x2Ffn\x3Fssi T = Q = V = T and C(\x2F) = and =

SR-NFA ARCHITECTURE National Cheng Kung University CSIE Computer & Internet Architecture Lab 5 State-reachability matrix Character-acceptance matrix Input : \x2Ffn\x3Fssi T = R(V) or Q = R(1) or Q = or = V : T and C(f) = and =

SR-NFA ARCHITECTURE National Cheng Kung University CSIE Computer & Internet Architecture Lab 6 State-reachability matrix Character-acceptance matrix Input : \x2Ffn\x3Fssi T = R(V) or Q = R(2) or Q = or = V : T and C(n) = and =

SR-NFA ARCHITECTURE National Cheng Kung University CSIE Computer & Internet Architecture Lab 7 State-reachability matrix Character-acceptance matrix Input : \x2Ffn\x3Fssi T = R(V) or Q = R(3) or Q = or = V : T and C(\x3f) = and =

SR-NFA ARCHITECTURE National Cheng Kung University CSIE Computer & Internet Architecture Lab 8 State-reachability matrix Character-acceptance matrix Input : \x2Ffn\x3Fssi T = R(V) or Q = R(5) or Q = or = V : T and C(s) = and =

SR-NFA ARCHITECTURE National Cheng Kung University CSIE Computer & Internet Architecture Lab 9 State-reachability matrix Character-acceptance matrix Input : \x2Ffn\x3Fssi T = R(V) or Q = R(6) or Q = or = V : T and C(s) = and =

SR-NFA ARCHITECTURE National Cheng Kung University CSIE Computer & Internet Architecture Lab 10 State-reachability matrix Character-acceptance matrix Input : \x2Ffn\x3Fssi T = R(V) or Q = R(6) or Q = or = V : T and C(i) = and =

Single-Segment SR-NFA National Cheng Kung University CSIE Computer & Internet Architecture Lab memory complexity of the SRM grows quadratically in the number of states

Single-Segment SR-NFA National Cheng Kung University CSIE Computer & Internet Architecture Lab bit-AND and bit-OR on the state vector becomes a proportionally more complex operation

Single-Segment SR-NFA National Cheng Kung University CSIE Computer & Internet Architecture Lab the SRM is usually very sparse in the NFAs for most real-life regexes

Multi-Segment SR-NFA National Cheng Kung University CSIE Computer & Internet Architecture Lab 14 \x2F(fn|s)\x3F[^\r\n]*(i|&*)

Multi-Segment SR-NFA National Cheng Kung University CSIE Computer & Internet Architecture Lab 15 Segment 0 Segment 1 Segment 2 Forward-pseudo state

Multi-Segment SR-NFA 16 F1 F2 F3

Multi-Segment SR-NFA 17 F1 F2 F3 Segment 0 : (1,2,3) Q : 100 V : 000 Segment 1 : (4,5,6) Q : 000 V : 000 Segment 2 : (7,8) Q : 000 V : 000 Input : \x2Ffn\x3Fssi

Multi-Segment SR-NFA 18 F1 F2 F3 Segment 0 : (1,2,3) T = Q = 100 V = T and C(\x2F) = 100 and 100 = 100 Segment 1 : (4,5,6) T = Q = 000 V = T and C(\x2F) = 000 and 001 = 000 Segment 2 : (7,8) T = Q = 000 V = T and C(\x2F) = 000 and 000 = 000 Input : \x2Ffn\x3Fssi

Multi-Segment SR-NFA 19 F1 F2 F3 Segment 0 : (1,2,3) T = 100 V = 100 Segment 1 : (4,5,6) T = 000 V = 000 Segment 2 : (7,8) T = 000 V = 000 Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 0 non

Multi-Segment SR-NFA 20 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 010 or 100 = 110 V = Segment 1 : (4,5,6) T = 000 V = Segment 2 : (7,8) T = 000 V = Input : \x2Ffn\x3Fssi F1=0,F2=1 F3 = 0 non

Multi-Segment SR-NFA 21 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 010or100 = 110 V = Segment 1 : (4,5,6) T = 100 V = Segment 2 : (7,8) T = 000 V = Input : \x2Ffn\x3Fssi F1=0,F2=1 F3 = 0 non

Multi-Segment SR-NFA 22 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 010or100 = 110 V = 110 and 010 = 010 Segment 1 : (4,5,6) T = 100 V = 100 and 001 = 000 Segment 2 : (7,8) T = 000 V = 000 Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 0 non

Multi-Segment SR-NFA 23 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 001or100 = 101 V = Segment 1 : (4,5,6) T = 000 V = Segment 2 : (7,8) T = 000 V = Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 0 non

Multi-Segment SR-NFA 24 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 001or100 = 101 V = 101 and 001 = 001 Segment 1 : (4,5,6) T = 000 V = 000 Segment 2 : (7,8) T = 000 V = 000 Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 0 non

Multi-Segment SR-NFA 25 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = Segment 1 : (4,5,6) T = 000 V = Segment 2 : (7,8) T = 000 V = Input : \x2Ffn\x3Fssi F1=1,F2=0 F3 = 0 non

Multi-Segment SR-NFA 26 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = Segment 1 : (4,5,6) T = 010 V = Segment 2 : (7,8) T = 000 V = Input : \x2Ffn\x3Fssi F1=1,F2=0 F3 = 0 non

Multi-Segment SR-NFA 27 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = 100 and 000 =000 Segment 1 : (4,5,6) T = 010 V = 010 and 011 = 010 Segment 2 : (7,8) T = 000 V = 000 Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 0 non

Multi-Segment SR-NFA 28 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = Segment 1 : (4,5,6) T = 001 V = Segment 2 : (7,8) T = 000 V = Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 1 non

Multi-Segment SR-NFA 29 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = Segment 1 : (4,5,6) T = 001 V = Segment 2 : (7,8) T = 111 V = Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 1 non

Multi-Segment SR-NFA 30 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = 100 and 000 = 000 Segment 1 : (4,5,6) T = 001 V = 001 and 101 = 001 Segment 2 : (7,8) T = 111 V = 111 and 000 = 000 Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 0 non

Multi-Segment SR-NFA 31 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = Segment 1 : (4,5,6) T = 001 V = Segment 2 : (7,8) T = 000 V = Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 1 non

Multi-Segment SR-NFA 32 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = Segment 1 : (4,5,6) T = 001 V = Segment 2 : (7,8) T = 111 V = Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 1 non

Multi-Segment SR-NFA 33 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = 100 and 000 = 000 Segment 1 : (4,5,6) T = 001 V = 001 and 101 = 001 Segment 2 : (7,8) T = 111 V = 111 and 000 = 000 Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 0 non

Multi-Segment SR-NFA 34 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = Segment 1 : (4,5,6) T = 001 V = Segment 2 : (7,8) T = 000 V = Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 1 non

Multi-Segment SR-NFA 35 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = Segment 1 : (4,5,6) T = 001 V = Segment 2 : (7,8) T = 111 V = Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 1 non

Multi-Segment SR-NFA 36 F1 F2 F3 Segment 0 : (1,2,3) T = R(V)orQ = 000or100 = 100 V = 100 and 000 = 000 Segment 1 : (4,5,6) T = 001 V = 001 and 001= 001 Segment 2 : (7,8) T = 111 V = 111 and 010= 010 Input : \x2Ffn\x3Fssi F1=0,F2=0 F3 = 0 non

PERFORMANCE EVALUATION National Cheng Kung University CSIE Computer & Internet Architecture Lab 37

National Cheng Kung University CSIE Computer & Internet Architecture Lab 38

National Cheng Kung University CSIE Computer & Internet Architecture Lab 39

Throughput scaling National Cheng Kung University CSIE Computer & Internet Architecture Lab 40