Compact Hash Tables for High-Performance Traffic Classification on Multi-core Processors - Qu, Yun R.; Prasanna, Viktor K. (Anais do International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), 2014)
Traffic classification is one of the kernel applications in network management. Many Machine Learning (ML) traffic classification algorithms are based on decision-trees. While most of the existing implementations of decision-trees are hardware-based, a new trend in network applications is to use software-based solutions. The decision-tree used for traffic classification is highly unbalanced; it is challenging to achieve high performance on multi-core platforms. In this paper, we present a high-throughput and low-latency traffic classification engine on multi-core platforms. We convert the decision-tree used in the C4.5 algorithm into multiple compact tables. All the compact tables are searched in parallel; efficient hashing techniques are employed to reduce the processing latency. The outcomes from all the tables are merged into the final classification result. High throughput can be sustained even if we scale up (1) the number of concurrent traffic classifiers, (2) the number of decision-tree leaves and (3) the number of features examined during the classification process. We prototype our design on state-of-the-art AMD and Intel multi-core platforms. For a typical C4.5 decision-tree consisting of 92 leaf nodes and 7 flow-level features, we achieve 134.15 Million Lookups Per Second (MLPS) throughput and 238.53 ns processing latency per lookup. Even for highly unbalanced decision-trees or large decision-trees consisting of up to 2 K leaf nodes, our traffic classification engine sustains high throughput and low latency without sacrificing classification accuracy (≥ 98.15%). We achieve 2.7× throughput compared with the classic C4.5 decision-tree-based implementations, and at least 12× speed-up compared with the existing traffic classifiers on multi-core platforms.