22
Author : Masanori Bando, N. Sertac Artan Author : Masanori Bando, N. Sertac Artan and H. Jonathan Chao and H. Jonathan Chao Publisher : Parallel & Distributed Publisher : Parallel & Distributed Processing, Workshops and Phd Forum Processing, Workshops and Phd Forum (IPDPSW), 2010 (IPDPSW), 2010 Presenter : Jo-Ning Yu Presenter : Jo-Ning Yu Date : 2011/05/11 Date : 2011/05/11

Hardware Implementation for Scalable Lookahead Regular Expression Detection

  • Upload
    raziya

  • View
    57

  • Download
    4

Embed Size (px)

DESCRIPTION

Hardware Implementation for Scalable Lookahead Regular Expression Detection. Author : Masanori Bando, N. Sertac Artan and H. Jonathan Chao Publisher : Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW), 2010 Presenter : Jo-Ning Yu Date : 2011/05/11. Example - PowerPoint PPT Presentation

Citation preview

Page 1: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

Author : Masanori Bando, N. Sertac Artan and H. Author : Masanori Bando, N. Sertac Artan and H. Jonathan ChaoJonathan Chao

Publisher : Parallel & Distributed Processing, Publisher : Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW), 2010Workshops and Phd Forum (IPDPSW), 2010

Presenter : Jo-Ning YuPresenter : Jo-Ning YuDate : 2011/05/11Date : 2011/05/11

Page 2: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

Example

LaFA Architecture

Correlation Block

Detection Block

Evaluations

2

Outline

Page 3: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

Example

3

Page 4: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

Detection Block : detect the simple strings and variable strings in the input string.

Correlation block : correlate detected Events(* ) to determine whether the input matches any of the RegExes in its RegEx set.

* The match signal is called an Event in this paper.

LaFA Architecture

4

Page 5: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

5

LaFA Architecture

Correlation Block

n = 3

Page 6: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

RegEx1 :

abc[a-z]op S1 V1 S2

RegEx4 : abc[^x]{3}xyz

S1 V2 S3

Timing History

6

Page 7: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

Node Infomation

7

Page 8: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

Correlation Block

8

Page 9: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

Buffered Lookup Modules The modules use previously detected character

histories to verify a queried variable string. Time Lookup Module (TLM) Contents Lookup Module (CLM) Frequently appearing Repetition detection Module (FRM) Short simple string Detection Module (SDM)

In-line Lookup Module The module processes incoming characters in real time.

Repetition Detection Module(RDM)

Detection Modules

9

Page 10: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

TLM detects character classes and negated character classes with

no repetition, ex : [a-z], or [ˆ0-9].

TLM incorporates an input buffer, which stores characters recently received from a packet in chronological order.

Ex:

Time Lookup Module (TLM)

10

Page 11: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

TLM Architecture

11

Page 12: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

CLM detects negated single characters with

repetitions, ex : [ˆa]{3}, [ˆa]{3,5}, or [ˆa]{3,}.

CLM stores timestamps of every ASCII character. Thus, 256 memory locations are reserved, each for one ASCII character.

Ex:

Contents Lookup Module (CLM)

12

Page 13: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

13

CLM ArchitectureC = 8

Page 14: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

RDM detects character classes and negated character

classes with repetitions, ex : [a-z]{3}, [a-z]{3,5}, and [a-z]{3,} ( base{min, max} ).

The RDM is the only in-line detection module.

Once number of repetitions reaches to the minimum repetition value, a next simple string is activated. The next simple string inactivate when number of repetitions reaches to the maximum repetition value.

Ex:

Repetition Detection Module (RDM)

14

Page 15: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

15

RDM Architecture

R = 2

Page 16: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

The FRM can detect any type of repetition using a

buffered lookup approach.

FRM can be shared among multiple RegExes that helps to improve resource efficiency.

When the sequence breaks, the count and timestamp are stored in a history memory inside of the FRM.

Frequently Appearing Repetition Detection Module(FRM)

16

Page 17: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

17

FRM Architecture

F = 4

Page 18: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

We classify strings with less than 5 characters

as a short simple string.

It naturally generate more Events.

The SDM architecture is very similar to the TLM except that in the SDM, there are multiple memory blocks to support multiple character lookups at a clock cycle.

Short Simple String Detection Module (SDM)

18

Page 19: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

19

SDM Architecture

Page 20: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

* SSD : Simple String Detector[11]

Evaluations

20

Page 21: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

Memory Requirements for the System

21

Evaluations

Page 22: Hardware Implementation for Scalable  Lookahead Regular Expression Detection

The design is running at a clock frequency of

250MHz, which is equivalent to 2Gbps detection throughput per engine.

Xilinx Virtex-6 FPGA contains 32Mbits of block RAM. Since 17 LaFA engine can fit in the FPGA, we expect the total throughput can reach to 34Gbps.

22

Evaluations