Bit Compression Algorithm - CSIE -NCKU

advertisement
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
 Aggregated Bit Vector (ABV)
 Bit Compression Algorithm
 Fast Boolean Expasion
 Performance
2
Related Work
Bitmap intersection
Each interval associated with an N-bits bit vector.
R5
R6
R3
R4
R2
R1
1
2
3
4
5
6
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
3
Related Work
Aggregated Bit Vector (ABV)
Rule Field1
Field2
0
1
Field1
R0
00*
00*
0000 1110 000
0000 0001 100
R1
00*
01*
010
011
R2
10*
11*
R3
11*
10*
R4
0*
10*
R5
0*
11*
R6
0*
0*
R7
1*
01*
0000 0010 110
R8
1*
0*
011
R9
11*
0*
R10
10*
10*
0
0
1
1100 1110 000
0010 0001 101
0001 0001 110
110
111
111
0
0
1
1
0
Field2
1
Aggregate size = 4
1000 0010 110
0100 0011 110
0001 1000 001
0010 0100 000
111
111
111
110
Related Work
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.
5
Outline
 Related Work
 Bitmap intersection
 Aggregated Bit Vector (ABV)
 Bit Compression Algorithm
 Fast Boolean Expasion
 Performance
7
Bit Compression Algorithm
 Memory storage - θ(dN㏒N)
 Require additional time for decompression
8
Bit Compression Algorithm
Construct Don’t Care Vectors (DCV)
Removing the redundant “1”
bits
Don’t Care Vectors (DCV)
0 0 0 0 0 0 0 0 0 0 1 1
9
Bit Compression Algorithm
Removing redundant ‘0’ bits
10
Bit Compression Algorithm
Construct Compressed Bit Vector(CBV)
Append “index table
lookup address” (ITLA)
For convience of memory access, fill up ‘0’ to the end of the CBVs and index table.
11
Bit Compression Algorithm
Construct index table
00
01
10
11
Index table
1 3 4 0
1 2 5 6
1 2 7 0
9 10 0 0
0
8
0
0
Filled up with ‘0’
12
Bit Compression Algorithm
Search
(DCV)
13
Bit Compression Algorithm
Maxmum Overlap Analysis
β – denote the probability that PA is a prefix of PB.
(PA and PB are randomly selected from the rule table)
14
Region Segmentation
The 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.
15
Region Segmentation
1. Find connected component.
2. Remove maximum degree vectex if set smaller than
maximum overlap.
Maximum overlap = 5
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}
16
Merge Rule Set
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.
CR1 {1, 3, 4}
CR2 {1, 2, 5, 6, 8}
CR3 {1, 2, 6, 7}
CR4 {9, 10}
00
01
10
11
Index table
1 3 4 0
1 2 5 6
1 2 6 7
9 10 0 0
Merge
0
8
0
0
CR1 {1, 3, 4. 9, 10}
CR2 {1, 2, 5, 6, 8}
CR3 {1, 2, 6, 7}
New index table
00 1 3 4 9 10
01 1 2 5 6 8
10 1 2 6 7 0
17
Merge Rule Set
New index table
00 1 3 4 9 10
01 1 2 5 6 8
10 1 2 6 7 0
18
Merge Rule Set
19
Outline
 Related Work
 Bitmap intersection
 Aggregated Bit Vector (ABV)
 Bit Compression Algorithm
 Fast Boolean Expasion
 Performance
20
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
21
Outline
 Related Work
 Bitmap intersection
 Aggregated Bit Vector (ABV)
 Bit Compression Algorithm
 Fast Boolean Expasion
 Performance
22
Performance
23
Performance
24
Performance
Transmission rate
Without wildcard rule
(K)
25
Performance
Transmission rate
Contain 20% wildcard rule
(K)
26
Performance
Transmission rate
Contain 50% wildcard rule
(K)
27
Download