A MemoryEfficient and Modular Approach for LargeScale String

  • Slides: 22
Download presentation
A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching Author: Hoang Le, Viktor

A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching Author: Hoang Le, Viktor K. Prasanna Publisher: IEEE Transactions on Computers, 2012 Presenter: Zi-Yang Ou Date: 2012/02/29 1

Introduction n n An algorithm called leaf-attaching to efficiently disjoint a given dictionary without

Introduction n n An algorithm called leaf-attaching to efficiently disjoint a given dictionary without increasing the number of patterns. An architecture that achieves a memory efficiency of 0. 56 (for Rogets) and 1. 32 byte/char (for Snort). State-of-the-art designs can only achieve the memory efficiency of over 2 byte/char in the best case. The implementation on ASIC and FPGA shows a sustained aggregated throughput of 24 Gbps and 3. 2 Gbps, respectively. The design can be duplicated to improve throughput by exploiting its simple architecture. 2

Definitions 3

Definitions 3

Leaf-Attaching Algorithm 4

Leaf-Attaching Algorithm 4

Leaf-Attaching Algorithm 5

Leaf-Attaching Algorithm 5

BST String Matching Algorithm 6

BST String Matching Algorithm 6

Memory Efficiency of The BST String Matching Algorithm 7

Memory Efficiency of The BST String Matching Algorithm 7

Cascading approach 8

Cascading approach 8

Cascading approach 9

Cascading approach 9

Cascading approach 10

Cascading approach 10

Arbitrary-Length String Matching Algorithm 11

Arbitrary-Length String Matching Algorithm 11

Arbitrary-Length String Matching Algorithm 12

Arbitrary-Length String Matching Algorithm 12

Overall Architecture 13

Overall Architecture 13

Pattern Matching Module (PMM) Architecture 14

Pattern Matching Module (PMM) Architecture 14

Label Matching Module (LMM) Architecture 15

Label Matching Module (LMM) Architecture 15

Dictionary Update n n (1) pattern deletion -(a) including more than one pattern -(b)

Dictionary Update n n (1) pattern deletion -(a) including more than one pattern -(b) including only one pattern -lazy deletion -complete deletion (2) new pattern insertion -has parent pattern(s) -has no parent pattern 16

Modular Extensibility n n n horizontally vertically -intra-stream -inter-stream both 17

Modular Extensibility n n n horizontally vertically -intra-stream -inter-stream both 17

Experimental Setup 18

Experimental Setup 18

Memory Efficiency n n The window size L should be greater than or equal

Memory Efficiency n n The window size L should be greater than or equal to the matching latency of the LMM. Hence, 3 values of L(16, 20, 24) are used in our analysis. 19

Memory Efficiency 20

Memory Efficiency 20

Throughput 21

Throughput 21

Performance Comparison 22

Performance Comparison 22