fast packet classification using bit compression with fast boolean expansion

26
Fast Packet Classification Using Bit Compression with Fast Boolean Expansion Author: Chien Chen, Chia-Jen Hsu and Chi-Chia Huang Publisher: Journal of Information Science and Engineering, 2007 Presenter: Chun-Yi Li Date: 2009/03/11

Upload: kitra

Post on 04-Feb-2016

40 views

Category:

Documents


0 download

DESCRIPTION

Fast Packet Classification Using Bit Compression with Fast Boolean Expansion. Author: Chien Chen, Chia-Jen Hsu and Chi-Chia Huang Publisher: Journal of Information Science and Engineering, 2007 Presenter: Chun-Yi Li Date: 2009/03/11. Outline. Related Work Bitmap intersection - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

Author: Chien Chen, Chia-Jen Hsu and Chi-Chia Huang

Publisher: Journal of Information Science and Engineering, 2007

Presenter: Chun-Yi Li

Date: 2009/03/11

Page 2: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

2

Outline

Related Work Bitmap intersection Aggregated Bit Vector (ABV)

Bit Compression Algorithm

Fast Boolean Expasion

Performance

Page 3: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

3

Bitmap intersectionEach interval associated with an N-bits bit

vector.

0

0

0

0

0

0

1

0

0

0

1

0

1

1

0

0

1

0

1

1

1

0

0

0

1

1

1

0

0

1

1

0

1

0

0

1

1

0

0

0

0

1

1

0

0

1

0

1

0

0

0

0

0

0

1

2

3

4

5

6

R1

R2

R3

R6

R4

R5

Related Work

Page 4: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

Aggregated Bit Vector (ABV)

0000 1110 000

1100 1110 000 0010 0001 101 0001 0001 110

0000 0001 100010

110 111 111

011

0000 0010 110

1000 0010 110 0001 1000 001 0010 0100 000

011

111 111 1100100 0011 110

111

1

1

1

1

0

0 0

0

0 0 1

Field1

Field2

Rule Field1 Field2

R0 00* 00*

R1 00* 01*

R2 10* 11*

R3 11* 10*

R4 0* 10*

R5 0* 11*

R6 0* 0*

R7 1* 01*

R8 1* 0*

R9 11* 0*

R10 10* 10*

Related Work

Aggregate size = 4

Page 5: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

5

Aggregated Bit Vector (ABV) Aggregation tries to decrease the memory

access time by adding ABV. Generates false matching.

- Rule rearrangement. Faster than bitmap intersection, but use more

space.

Related Work

Page 6: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

7

Outline

Related Work Bitmap intersection Aggregated Bit Vector (ABV)

Bit Compression Algorithm

Fast Boolean Expasion

Performance

Page 7: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

8

Bit Compression Algorithm

Memory storage - θ(dN ㏒ N)

Require additional time for decompression

Page 8: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

9

0 0 0 0 0 0 0 0 0 0 1 1

Don’t Care Vectors (DCV)

Bit Compression Algorithm

Removing the redundant “1” bits

Construct Don’t Care Vectors (DCV)

Page 9: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

10

Removing redundant ‘0’ bits

Bit Compression Algorithm

Page 10: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

11For convience of memory access, fill up ‘0’ to the end of the CBVs and index table.

Bit Compression Algorithm

Append “index table lookup address” (ITLA)

Construct Compressed Bit Vector(CBV)

Page 11: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

12

Index table

00 1 3 4 0 0

01 1 2 5 6 8

10 1 2 7 0 0

11 9 10 0 0 0

Filled up with ‘0’

Bit Compression AlgorithmConstruct index table

Page 12: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

13

Bit Compression AlgorithmSearch

(DCV)

Page 13: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

14

Maxmum Overlap Analysis

β – denote the probability that PA is a prefix of PB. (PA and PB are randomly selected from the rule table)

Bit Compression Algorithm

Page 14: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

15

Region SegmentationThe region segmentation algorithm constructs an undirected graph first.

Each vertex vi corresponds to a rule Ri, and an edge is constructed between vi and vj if rules i and j are dependent.

Page 15: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

16

Region Segmentation

STEP1:C1 {1, 2, 3, 4, 5, 6, 7, 8}C2 {9, 10}

STEP2:C11 {1, 3, 4}C12 {1, 2, 5, 6, 7, 8}C2 {9, 10}

STEP3:C11 {1, 3, 4}C121 {1, 2, 5, 6, 8}C122 {1, 2, 6, 7}C2 {9, 10}

1. Find connected component.2. Remove maximum degree vectex if set smaller than

maximum overlap.

Maximum overlap = 5

Page 16: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

17

Merge Rule Set

CR1 {1, 3, 4}CR2 {1, 2, 5, 6, 8}CR3 {1, 2, 6, 7}CR4 {9, 10}

MergeCR1 {1, 3, 4. 9, 10}CR2 {1, 2, 5, 6, 8}CR3 {1, 2, 6, 7}

Index table

00 1 3 4 0 0

01 1 2 5 6 8

10 1 2 6 7 0

11 9 10 0 0 0

New index table

00 1 3 4 9 10

01 1 2 5 6 8

10 1 2 6 7 0

Two rule sets can be merged together if the rule numbers of the merged rule sets are smaller than or equal to the maximum overlap.

Page 17: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

18

Merge Rule Set

New index table

00 1 3 4 9 10

01 1 2 5 6 8

10 1 2 6 7 0

Page 18: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

19

Merge Rule Set

Page 19: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

20

Outline Related Work

Bitmap intersection Aggregated Bit Vector (ABV)

Bit Compression Algorithm

Fast Boolean Expasion

Performance

Page 20: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

21

Fast Boolean Expasion(FBE) Original boolean expression:

(CBVS+DCVS)*(CBVD+DCVD)

Modify boolean expression:

(CBVS*CBVD)+(CBVS*DCVD)+

(DCVS*CBVD)+(DCVS*DCVD)Takes few memory accesses since CBVS and CBVD are compressed bit vector. Only extract the essential bits

from DCV that are corresponding to the set bits of CBV

Default rule

Page 21: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

22

Outline

Related Work Bitmap intersection Aggregated Bit Vector (ABV)

Bit Compression Algorithm

Fast Boolean Expasion

Performance

Page 22: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

23

Performance

Page 23: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

24

Performance

Page 24: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

25

Performance

Transmission rateWithout wildcard rule

(K)

Page 25: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

26

Performance

Transmission rateContain 20% wildcard rule

(K)

Page 26: Fast Packet Classification Using Bit Compression with Fast Boolean Expansion

27

Transmission rateContain 50% wildcard rule

Performance

(K)