1 processor array architectures for deep packet classification authors: fayez gebali and a.n.m....

35
1 Processor Array Architectures for Deep Packet Classification Authors: Fayez Gebali and A.N.M. Ehtesham Rafiq Publisher: IEEE Transactions on Parallel and Distributed Systems Present: Kai-Tso Chang Date: October, 22, 2008

Post on 19-Dec-2015

234 views

Category:

Documents


1 download

TRANSCRIPT

1

Processor Array Architectures for Deep Packet Classification

Authors: Fayez Gebali and A.N.M. Ehtesham RafiqPublisher: IEEE Transactions on Parallel and Distributed SystemsPresent: Kai-Tso ChangDate: October, 22, 2008

2

Define

T: text length : n t0 t1…tn-1

P: pattern length : m p0 p1 …pm-1

3

The basic string matching algorithm

4

Expressing the algorithm as an iterative expression

1. represents an m-input AND function

2. Match(a,b) is a function that is true when character a matches b

1=y0 input text: abcdx xxxxx

1=y1 input text: xabcd xxxxx

1=y6 input text: xxxxx xabcd

5

Dependence graph (DG)

a

b

c

d

6

Timing fuction

The column vector s =[s1,s2] is the scheduling vector and s is an integer

7

Timing function

8

Pipeline , broadcast

Pipeline a certain variable whose null vector is e, we must satisfy the following inequality

Broadcast a variable whose null vector is e, we must have

9

Pipeline , broadcast

We have only one output variable Y whose null-vector is

Pipeline:

Broadcast:

10

Timing function

1

10

2

2

2

3

3

3

3

4

4

4

4 5

5

5

5 6

6

6

6

7

87

7 8 9

a

b

c

d

11

Pipeline , broadcast

12

DG Node Projection

a

b

c

d

13

DG Node Projection

14

DG Node Projection

15

Design 1.a

1

10

2

2

2

3

3

3

3

4

4

4

4 5

5

5

5 6

6

6

6

7

87

7 8 9

a

b

c

d

16

Design 1.a

11

00

22

33

T

d

c

b

aa

b

c

d

a

a

a

b

b

b

c

c

c

d

d

d

1

1

1

1

1

1

1

1

clock 0clock 1clock 2clock 3

Input text: abcdx xxxxx

18

Design 1.b

1

10

2

2

2

3

3

3

3

4

4

4

4 5

5

5

5 6

6

6

6

7

87

7 8 9

a

b

c

d

19

Design 1.b

20

Design 1.b

21

Design 1.c

1

10

2

2

2

3

3

3

3

4

4

4

4 5

5

5

5 6

6

6

6

7

87

7 8 9

a

b

c

d

22

23

Design 1.c

24

Comparing designs 1.a and 1.b

25

Design 2

26

Design 2

5

6

7

8

6

7

8

8

7 8 9

10

11

12

9

9

9

10

10 11

10

11

12

11

12

13

13

14a

b

c

d

27

Design 2.a

5

6

7

8

6

7

8

8

7 8 9

10

11

12

9

9

9

10

10 11

10

11

12

11

12

13

13

14a

b

c

d

28

Design 2.a

29

00

11

22

33

clock 0

a

a

b

c

d

clock 1clock 2clock 3clock 4clock 5clock 6clock 7clock 8

ab

a

abc

ab

bcd

a

bc

dx

c

ab

cd

xx

d

a

bc

dx

xx

x

a

cd

xx

xx

x

abc

dx

xx

xx

x

1

1

1

1

1

1

1

c

b

abdx

ac

b

30

Design 2.b

31

Comparing designs 1.a and 2.a

32

Design 3

Broadcast:

33

Design 3

4

4

4

4

5 6 7 8 9 10

5 6 7 8 9 10

5 6 7 8 9 10

5 6 7 8 9 10a

b

c

d

34

Design 3.a

0

1

2

3

T

35

a

a

a

a

a

a

a

b

b

b

b

b

b

b

c

c

c

a

c

c

d

d

d d

c

b

a

clock 0clock 1clock 2clock 3clock 4