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 HyperSplit, 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. |
Year | DOI | Venue |
---|---|---|
2017 | 10.1016/j.comcom.2017.05.001 | Computer Communications |
Keywords | Field | DocType |
Packet classification,High-performance,Decision-tree algorithm | Decision tree,Tree traversal,Computer science,Algorithm,Search engine indexing,Software,Throughput,Network management,Packet classification,Decision tree learning | Journal |
Volume | ISSN | Citations |
109 | 0140-3664 | 7 |
PageRank | References | Authors |
0.48 | 17 | 5 |