![Page 1: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/1.jpg)
1
A Memory-Efficient and Modular Approach for Large-Scale String
Pattern Matching
Author:Hoang Le, Viktor K. PrasannaPublisher: IEEE Transactions on Computers, 2012Presenter:Zi-Yang OuDate:2012/02/29
![Page 2: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/2.jpg)
Introduction
2
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 the throughput by exploiting its simple architecture.
![Page 3: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/3.jpg)
Definitions
3
![Page 4: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/4.jpg)
Leaf-Attaching Algorithm
4
![Page 5: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/5.jpg)
Leaf-Attaching Algorithm
5
![Page 6: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/6.jpg)
BST String Matching Algorithm
6
![Page 7: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/7.jpg)
Memory Efficiency of The BST String Matching Algorithm
7
![Page 8: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/8.jpg)
Cascading approach
8
![Page 9: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/9.jpg)
Cascading approach
9
![Page 10: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/10.jpg)
Cascading approach
10
![Page 11: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/11.jpg)
Arbitrary-Length String Matching Algorithm
11
![Page 12: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/12.jpg)
Arbitrary-Length String Matching Algorithm
12
![Page 13: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/13.jpg)
Overall Architecture
13
![Page 14: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/14.jpg)
Pattern Matching Module (PMM) Architecture
14
![Page 15: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/15.jpg)
Label Matching Module (LMM) Architecture
15
![Page 16: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/16.jpg)
Dictionary Update (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
![Page 17: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/17.jpg)
Modular Extensibility horizontally
vertically
-intra-stream
-inter-stream
both
17
![Page 18: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/18.jpg)
Experimental Setup
18
![Page 19: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/19.jpg)
Memory Efficiency
19
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.
![Page 20: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/20.jpg)
Memory Efficiency
20
![Page 21: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/21.jpg)
Throughput
21
![Page 22: A Memory-Efficient and Modular Approach for Large-Scale String Pattern Matching](https://reader036.vdocuments.mx/reader036/viewer/2022062321/56813207550346895d985b0a/html5/thumbnails/22.jpg)
Performance Comparison
22