ABC : Adaptive Binary Cuttings for Multidimensional Packet Classification Publisher : TRANSACTIONS ON NETWORKING Author : Haoyu Song, Jonathan S. Turner Presenter : Yu-Hsiang Wang Date : 2012/05/09
Outline Observations Algorithm Description Algorithm Optimizations Performance Evaluation
Observations In HiCuts and HyperCuts, a global expansion factor may not be suitable for all nodes. Bucket Size cannot guarantee either throughput or storage. Our goal is to make the “optimal” decisions that consistently improve the throughput until the given storage is used up.
Algorithm Description DT : Decision Tree CST : Cutting Shape Tree CSB : Encode each CST with a Cutting Shape Bitmap.
Algorithm Description ABC Variation I The maximum number of cuttings is constrained by the DT node size. Choose one of the subregions produced so far and split it into two equal-sized subregions along a certain dimension until we run out of space in the DT node.
Algorithm Description preference value :
Algorithm Description If the current number of leaf nodes is less than k, we choose one leaf node to cut on a specific dimension. Our goal is to find the leaf node i and the dimension d that can minimize the preference value.
Algorithm Description i : current index in CSB j: the current index in CDV. Next index i’ in CSB is Next index j’ in CDV is
Algorithm Description ABC Variation II Generate up to D separate CSTs, each for one dimension.
Algorithm Description ABC Variation III Any bit can be chosen to split the filter set Assume DT size = 128 bits ABC Variation I = 22 cuts ABC Variation III = 13 cuts
Algorithm Description
Algorithm Description
Algorithm Optimizations Reduce Filters Using a Hash Table. Filter Partition on the Protocol Field. Partitioning Filters Based on Duplication Factor. Holding Filters Internally and Reversing Search Order.
Performance Evaluation Performance : bytes retrieved per lookup Scalability on Filter Set Size
Performance Evaluation
Performance Evaluation
Performance Evaluation