Performance modeling and optimizations for decomposition-based large-scale packet classification on multi-core processors

Large-scale packet classification such as Open-Flow table lookup in Software Defined Networking (SDN) is a key task performed at the Internet routers. However, the increasing size of the rule set and the increasing width of each individual rule make large-scale packet classification a challenging problem. In this paper, we present a decomposition-based approach for large-scale packet classification on multicore processors. We develop a model to predict the performance of the classification engine with respect to throughput and latency. This model involves the architectural parameters of the multi-core processors and the design requirements of packet classification. Based on this model, we employ optimization techniques such as grouping short fields in the search phase and early termination of the merge phase. The performance model can be applied to other generic multi-field classification problems as well. To evaluate the accuracy of the performance model, we implement a 15-field classification engine on state-of-the-art multi-core processors. Experimental results show that, the proposed model predicts the performance with less than ±10% error. For a 32 K 15-field rule set, the optimized decomposition-based approach achieves 2000 ns per packet latency and 33 Million Packets Per Second (MPPS) throughput (49% of the peak throughput). The peak performance assumes an ideal execution model that uses an optimized execution sequence and ignores memory access latency, data dependencies, and context switch overhead.

[1]  Pingfeng Zhong An IPv6 address lookup algorithm based on recursive balanced multi-way range trees with efficient search and update , 2011, 2011 International Conference on Computer Science and Service System (CSSS).

[2]  Viktor K. Prasanna,et al.  Scalable Packet Classification on FPGA , 2012, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[3]  Anand Rangarajan,et al.  Algorithms for advanced packet classification with ternary CAMs , 2005, SIGCOMM '05.

[4]  Shan Lu,et al.  Leveraging parallelism for multi-dimensional packetclassification on software routers , 2010, SIGMETRICS '10.

[5]  Aleksandra Smiljanic,et al.  FPGA implementation of lookup algorithms , 2011, 2011 IEEE 12th International Conference on High Performance Switching and Routing.

[6]  George Varghese,et al.  Packet classification using multidimensional cutting , 2003, SIGCOMM '03.

[7]  Julio Ortega Lopera,et al.  Accelerating OpenFlow switching with network processors , 2009, ANCS '09.

[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]  Alastair Nottingham,et al.  Parallel packet classification using GPU co-processors , 2010, SAICSIT '10.

[10]  Nian-Feng Tzeng,et al.  HaRP: Rapid Packet Classification via Hashing Round-Down Prefixes , 2011, IEEE Transactions on Parallel and Distributed Systems.

[11]  H. Jonathan Chao,et al.  FlashTrie: Beyond 100-Gb/s IP Route Lookup Using Hash-Based Prefix-Compressed Trie , 2012, IEEE/ACM Transactions on Networking.

[12]  Rasmus Pagh,et al.  Cuckoo Hashing , 2001, Encyclopedia of Algorithms.

[13]  George Varghese,et al.  Multiway range trees: scalable IP lookup with fast updates , 2001, GLOBECOM'01. IEEE Global Telecommunications Conference (Cat. No.01CH37270).

[14]  Nick McKeown,et al.  Classifying Packets with Hierarchical Intelligent Cuttings , 2000, IEEE Micro.

[15]  Min Sik Kim,et al.  Rule Hashing for Efficient Packet Classification in Network Intrusion Detection , 2008, 2008 Proceedings of 17th International Conference on Computer Communications and Networks.

[16]  David E. Taylor Survey and taxonomy of packet classification techniques , 2005, CSUR.