Compact Hash Tables for High-Performance Traffic Classification on Multi-core Processors

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.

[1]  Michalis Faloutsos,et al.  BLINC: multilevel traffic classification in the dark , 2005, SIGCOMM '05.

[2]  Luca Salgarelli,et al.  MTCLASS: Enabling statistical traffic classification of multi-gigabit aggregates on inexpensive hardware , 2012, 2012 8th International Wireless Communications and Mobile Computing Conference (IWCMC).

[3]  Ian H. Witten,et al.  The WEKA data mining software: an update , 2009, SKDD.

[4]  Bruno Schulze,et al.  A Walking Dwarf on the Clouds , 2013, 2013 IEEE/ACM 6th International Conference on Utility and Cloud Computing.

[5]  Marco Mellia,et al.  TCP Statistic and Analysis Tool , 2002 .

[6]  Richard W. Vuduc,et al.  Performance evaluation of concurrent collections on high-performance multicore computing systems , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[7]  Michalis Faloutsos,et al.  Internet traffic classification demystified: myths, caveats, and the best practices , 2008, CoNEXT '08.

[8]  Viktor K. Prasanna,et al.  Scalable Many-Field Packet Classification on Multi-core Processors , 2013, 2013 25th International Symposium on Computer Architecture and High Performance Computing.

[9]  Luca Salgarelli,et al.  On-line SVM traffic classification , 2011, 2011 7th International Wireless Communications and Mobile Computing Conference.

[10]  Maya Gokhale,et al.  Real-Time Classification of Multimedia Traffic Using FPGA , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[11]  Omer F. Rana,et al.  Broker Emergence in Social Clouds , 2013, 2013 IEEE Sixth International Conference on Cloud Computing.

[12]  Padma Raghavan,et al.  Similarity Graph Neighborhoods for Enhanced Supervised Classification , 2012, ICCS.

[13]  Laxmikant V. Kalé,et al.  A Hierarchical Approach for Load Balancing on Parallel Multi-core Systems , 2012, 2012 41st International Conference on Parallel Processing.

[14]  Luca Salgarelli,et al.  Support Vector Machines for TCP traffic classification , 2009, Comput. Networks.

[15]  Andrew W. Moore,et al.  Internet traffic classification using bayesian analysis techniques , 2005, SIGMETRICS '05.

[16]  Renata Teixeira,et al.  Traffic classification on the fly , 2006, CCRV.

[17]  Viktor K. Prasanna,et al.  High throughput and programmable online trafficclassifier on FPGA , 2013, FPGA '13.

[18]  Yan Luo,et al.  Acceleration of decision tree searching for IP traffic classification , 2008, ANCS '08.

[19]  Riyad Alshammari,et al.  Machine learning based encrypted traffic classification: Identifying SSH and Skype , 2009, 2009 IEEE Symposium on Computational Intelligence for Security and Defense Applications.

[20]  John W. Lockwood,et al.  Deep packet inspection using parallel bloom filters , 2004, IEEE Micro.

[21]  Cristina Boeres,et al.  Improving Memory Hierarchy Utilisation for Stencil Computations on Multicore Machines , 2013, ArXiv.

[22]  Marco Canini,et al.  Experience with high-speed automated application-identification for network-management , 2009, ANCS '09.

[23]  Paul Chow,et al.  K-means implementation on FPGA for high-dimensional data using triangle inequality , 2012, 22nd International Conference on Field Programmable Logic and Applications (FPL).