1 efficuts : optimizing packet classification for memory and throughput author: balajee vamanan,...

13
1 EffiCuts : Optimizing Packet Classification for Memory and Through put Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM SIGCOMM 2010 Presenter: Han-Chen Chen Date: 2010/09/29

Post on 21-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

1

EffiCuts : Optimizing Packet Classification for Memory and Throughput

Author:Balajee Vamanan, Gwendolyn Voskuilen and T. N. VijaykumarPublisher:ACM SIGCOMM 2010Presenter:Han-Chen ChenDate:2010/09/29

Page 2: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

2

Introduction Drawbacks of Hicuts and Hypercuts

1. Many rules in a classifier overlap and the overlapping rules vary vastly in size, causing the algorithms’ fine cuts for separating the small rules to replicate the large rules.

2. Because a classifier’s rule-space density varies significantly, the algorithms’ equi-sized cuts for separating the dense parts needlessly partition the sparse parts, resulting in many ineffectual nodes that hold only a few rules.

Page 3: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

3

Introduction EffiCuts employs four novel ideas:1. Separable trees: To eliminate overlap among small and large rules,

we separate all small and large rules.2. Selective tree merging: To reduce the multiple trees’ extra access

es which degrade throughput, we selectively merge separable trees.

3. Equi-dense cuts: We employ unequal cuts which distribute a node’s rules evenly among the children, avoiding ineffectual nodes at the cost of a small processing overhead in the tree traversal.

4. Node Co-location: To achieve fewer accesses per node than HiCuts and HyperCuts, we co-locate parts of a node and its children.

Page 4: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

4

Separable Trees

Efficuts separates rules by wildcard.

• Category 1: rules with four wildcards• Category 2: rules with three wildcards• Category 3: rules with two wildcards• Category 4: rules with one or no wildcards no sub-category

• There all 26 categories.

• A threshold to define large rules. For SIP and DIP the threshold is 0.05. The other fields is 0.5.

51C 5

2C 53C

Page 5: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

5

Selective Tree Merging

1. To achieve a good compromise of access times and memory, we observe that merging two separable trees usually results in a tree whose depth, and hence number of accesses, is much less than the sum of the original trees’ depths.

2. The wildcard field merge with non-wildcard field makes duplicating seriously.

3. Categories only merging with there neighbor categories. EX: Category i can only merge either with category i-1 or i+1.

4. Once a tree has been merged with another tree, the merged tree cannot be merged with yet another tree.

5. Using rule copies instead of pointers in leaf nodes.

Page 6: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

6

Equi-dense Cuts

1. Hicuts and Hypercuts use equal-size cutting, causes some rule replication among the ineffectual nodes.

2. Equi-dense cuts achieve fine cuts in the dense parts of the rule space and coarse cuts in the sparse parts.

3. To capture rule replication in denser regions, our heuristic fuses contiguous the resulting node has fewer rules than (1) the sum of the rules in the original nodes, and (2) the maximum number of rules among all the siblings of the original nodes.

X Y

ZA

C

B

Page 7: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

7

Equi-dense Cuts

1. To control the complexity of the comparison hardware, we constrain the number of unequal cuts per node, called max_cuts (8 in our experiments).

2. For nodes that need more cuts, we use equal-size cutting.

Page 8: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

8

Node Co-location

Page 9: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

9

Data Structure

Page 10: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

10

Performance Evaluation (1/4)

Page 11: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

11

Performance Evaluation (2/4)

Page 12: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

12

Performance Evaluation (3/4)

Page 13: 1 EffiCuts : Optimizing Packet Classification for Memory and Throughput Author: Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar Publisher: ACM

13

Performance Evaluation (4/4)