1 / 20

Memory-Efficient Regular Expression Search Using State Merging

Memory-Efficient Regular Expression Search Using State Merging. Authors: Michela Becchi; Srihari Cadambi Publisher: IEEE INFOCOM 2007 Present: Chia-Ming ,Chang Date: 3, 18, 2009. Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. 1.

lolita
Download Presentation

Memory-Efficient Regular Expression Search Using State Merging

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Memory-Efficient Regular Expression Search Using State Merging Authors:Michela Becchi; Srihari Cadambi Publisher:IEEE INFOCOM 2007 Present:Chia-Ming ,Chang Date:3, 18, 2009 Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. 1

  2. Outline • 1. Introduction • 2. State merging • 3. Experimental results • 4. Conclusion 2

  3. Introduction (1/4) 3

  4. Introduction (2/4) 4

  5. Introduction (3/4) e d c b a 0 1 fghi 2 Fig. 3. (a) Rudimentary bitmap-based data structure. The lower part shows the bitmap and its transition table for State 3 from the example in Figure 1. Fig. 3. (b) More compact bitmap-based data structure using pointer indirection. 5

  6. Introduction (4/4) Bitmap-based data structures have two other disadvantages, especially when implemented in software. First; some computation(1’s counting) is necessary in order to process the bitmap and obtain an address into the transition table. Second: fetching the bitmap could require several memory accesses. These issues may be resolved to a certain extent by breaking up a large bitmap into several smaller bitmaps, each annotated with some extra information. 6

  7. Outline • 1. Introduction • 2. State merging • 3. Experimental results • 4. Conclusion 7

  8. Architecture (1/8) State merging method : source label 0 1 a 3 a/0,b/1 1_2 3 b 2 source 1 8

  9. Architecture (2/8) State merging method : destination label 0 a 2 1 a.0,b.1 1 2_3 b 3 destination 1 9

  10. Architecture (3/8) 8 10

  11. Architecture (4/8) 8 11

  12. Architecture (5/8) a a b f c g d h e f 0 1 12

  13. Architecture (2/3) D is the DFA being processed, G is the weight graph corresponding to D. e is an edge in G, h is a heap storing weight graph edges ordered according to edge weights. two DFA states s and t, metric(s, t) is a measure of the memory savings when s and t are merged. max labels is the maximum number of labels allowed. 13

  14. Architecture (7/8) Algorithm V.1 shows the core of our procedure, which is a loop that terminates when merging can no longer produce memory savings, or if more than the maximum allowed labels are required. Algorithm V.2 constructs the weight graph G and stores the edges in heap h. It considers all pairs of states in the given DFA. If the total number of sub-states in the state pair under consideration is less than the number of labels,it evaluates metric(s, t) and assigns it to the weight of the edge connecting states s and t in the weight graph. Recall that metric(s, t) is an exact measure of the memory savings possible when states s and t are merged. Algorithm V.3 recalculates the metric corresponding to state pairs where one state is connected to the merged state. 14

  15. Architecture (8/8) 15

  16. Outline • 1. Introduction • 2. State merging • 3. Experimental results • 4. Conclusion 16

  17. Experimental results(1/2) Merging-128 labels 17

  18. Experimental results(2/2) 18

  19. Outline • 1. Introduction • 2. Architecture • 3. Experimental results • 4. Conclusion 19

  20. Conclusion (1/1) • We describe a compact data structure that can representa DFA with merged states and transition labels. • We present a merging and labeling algorithm. • We extend the bitmap data structure proposed for string matching [7] to DFAs, and introduce a modification using pointer indirection, which also reduces memory usage in its own right. • We present an analysis of our scheme, and perform a systematic experimental study comparing state merging to previous compaction techniques. 20

More Related