Accelerating Decision Tree Based Traffic Classification on FPGA and Multicore Platforms

Machine learning (ML) algorithms have been shown to be effective in classifying a broad range of applications in the Internet traffic. In this paper, we propose algorithms and architectures to realize online traffic classification using flow level features. First, we develop a traffic classifier based on C4.5 decision tree algorithm and Entropy-MDL (Minimum Description Length) discretization algorithm. It achieves an overall accuracy of 97.92 percent for classifying eight major applications. Next we propose approaches to accelerate the classifier on FPGA (Field Programmable Gate Array) and multicore platforms. We optimize the original classifier by merging it with discretization. Our implementation of this optimized decision tree achieves 7500+ Million Classifications Per Second (MCPS) on a state-of-the-art FPGA platform and 75-150 MCPS on two state-of-the-art multicore platforms. We also propose a divide and conquer approach to handle imbalanced decision trees. Our implementation of the divide-and-conquer approach achieves 10,000+ MCPS on a state-of-the-art FPGA platform and 130-340 MCPS on two state-of-the-art multicore platforms. We conduct extensive experiments on both platforms for various application scenarios to compare the two approaches.

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

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

[3]  Roger F. Woods,et al.  Design of a flexible high-speed FPGA-based flow monitor for next generation networks , 2010, 2010 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[4]  Rommel García,et al.  A compact FPGA-based processor for the Secure Hash Algorithm SHA-256 , 2014, Comput. Electr. Eng..

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

[6]  Benjamin Humphries,et al.  3D FFTs on a Single FPGA , 2014, FCCM 2014.

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

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

[9]  Anirban Mahanti,et al.  Traffic classification using clustering algorithms , 2006, MineNet '06.

[10]  Ron Kohavi,et al.  A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection , 1995, IJCAI.

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

[12]  Gordon J. Brebner,et al.  400 Gb/s Programmable Packet Parsing on a Single FPGA , 2011, 2011 ACM/IEEE Seventh Symposium on Architectures for Networking and Communications Systems.

[13]  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).

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

[15]  Jun Zhang,et al.  An Effective Network Traffic Classification Method with Unknown Flow Detection , 2013, IEEE Transactions on Network and Service Management.

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

[17]  Yanghee Choi,et al.  Internet traffic classification demystified: on the sources of the discriminative power , 2010, CoNEXT.

[18]  Christos-Savvas Bouganis,et al.  Novel Cascade FPGA Accelerator for Support Vector Machines Classification , 2012, IEEE Transactions on Neural Networks and Learning Systems.

[19]  Maurice Gagnaire,et al.  Dynamic Resource Allocation in Cloud Environment Under Time-variant Job Requests , 2011, 2011 IEEE Third International Conference on Cloud Computing Technology and Science.

[20]  Sebastian Zander,et al.  A preliminary performance comparison of five machine learning algorithms for practical IP traffic flow classification , 2006, CCRV.

[21]  Isaac Keslassy,et al.  Palette: Distributing tables in software-defined networks , 2013, 2013 Proceedings IEEE INFOCOM.

[22]  Usama M. Fayyad,et al.  Multi-Interval Discretization of Continuous-Valued Attributes for Classification Learning , 1993, IJCAI.

[23]  Bogdan V. Ghita,et al.  On Internet Traffic Classification: A Two-Phased Machine Learning Approach , 2016, J. Comput. Networks Commun..

[24]  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.

[25]  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).

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

[27]  Sebastian Zander,et al.  Automated traffic classification and application identification using machine learning , 2005, The IEEE Conference on Local Computer Networks 30th Anniversary (LCN'05)l.

[28]  Marco Mellia,et al.  Revealing skype traffic: when randomness plays with you , 2007, SIGCOMM 2007.

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

[30]  Viktor K. Prasanna,et al.  Enabling High Throughput and Virtualization for Traffic Classification on FPGA , 2015, 2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines.

[31]  Franco Callegati,et al.  Clouds of virtual machines in edge networks , 2013, IEEE Communications Magazine.

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

[33]  Sandrine Vaton,et al.  Hardware acceleration of SVM-based traffic classification on FPGA , 2012, 2012 8th International Wireless Communications and Mobile Computing Conference (IWCMC).

[34]  Baohua Yang,et al.  Practical Multituple Packet Classification Using Dynamic Discrete Bit Selection , 2014, IEEE Transactions on Computers.

[35]  A. Nur Zincir-Heywood,et al.  A Preliminary Investigation of Skype Traffic Classification Using a Minimalist Feature Set , 2008, 2008 Third International Conference on Availability, Reliability and Security.