Extensions to decision-tree based packet classification algorithms to address new classification paradigms
Abstract The decision-tree based packet-classification algorithm field has seen many contributions since the first algorithm using a geometrical rule representation, HiCuts, has been proposed. While hardware reported implementations for this class of algorithms have proven that a high throughput can be reached, those algorithms are inherently facing a tradeoff between speed and memory consumption. This paper presents two extensions applicable to decision-tree based algorithms designed to tackle two of their common drawbacks. Applied together, they achieve a reduction of the number of memory accesses, while reducing the data structure size. The first contribution consists of a new rule-clustering method aimed for the reduction of the number of trees built. The second contribution relies on a leaf compression method that allows tackling the problem that stems from linear leaf traversal. Applied together, as shown by simulations, those two new methods improve the trade-off between search-time complexity and data structure size. These strategies provide gains in many contexts, although they are tailored for handling complex rule sets used in the context of Software Defined Networking. For sets of 100,000 and 10,000 rules, those two strategies reduce the number of memory accesses by a factor of 3 on average, while decreasing the size of the data structure by about 45% over EffiCuts, a well-known decision-tree based algorithm.