Bitcuts: A Fast Packet Classification Algorithm Using Bit-Level Cutting

Zhi Liu,Shijie Sun,Hang Zhu,Jiaqi Gao,Jun Li
DOI: https://doi.org/10.1016/j.comcom.2017.05.001
IF: 5.047
2017-01-01
Computer Communications
Abstract:Packet classification is one of the fundamental techniques required by various network management functionalities. As the state-of-the-art of software packet classification, decision-tree algorithms employ various geometrical cutting schemes to build optimized decision trees. However, existing cutting schemes cannot meet the desired performance on large rulesets because they sacrifice either classification speed or memory size by design. In this paper, we reveal the inefficiencies of current cutting schemes equi-sized cutting and equi-dense cutting and propose a new cutting scheme and its corresponding decision-tree algorithm, named "BitCuts". BitCuts achieves only 42%-59% the memory accesses of Hyper Split, HyperCuts and EffiCuts, the typical decision-tree algorithms. In addition, BitCuts accelerates child node indexing with bit-manipulation instructions, enabling fast tree traversal. A DPDK-based evaluation on the ACL10K ruleset shows that BitCuts achieves 2.0x - 2.2x the throughput of HyperSplit, HyperCuts and EffiCuts. Furthermore, BitCuts is the only algorithm that achieves 10 Gbps throughput with 3 cores. The memory consumption of BitCuts is only 12% of HyperCuts, 19% of EffiCuts, and is comparable to that of HyperSplit, which proves that BitCuts outperforms existing algorithms in achieving a good trade-off between speed and space. (C) 2017 Elsevier B.V. All rights reserved.
What problem does this paper attempt to address?