A Linear Space Algorithm for Computing Maximal - CSIE -NCKU

EffiCuts : Optimizing Packet
Classification for Memory and
Throughput
Author:
Balajee Vamanan, Gwendolyn Voskuilen and T. N. Vijaykumar
Publisher:
ACM SIGCOMM 2010
Presenter:
Han-Chen Chen
Date:
2010/09/29
1
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.
2
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
accesses 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.
3
Separable Trees
Efficuts separates rules by wildcard.
C15
•
•
•
•
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
•
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.
4
C25
C35
no sub-category
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.
5
Equi-dense Cuts
C
Y
X
Z
A
B
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.
6
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.
7
Node Co-location
8
Data Structure
9
Performance Evaluation (1/4)
10
Performance Evaluation (2/4)
11
Performance Evaluation (3/4)
12
Performance Evaluation (4/4)
13