Multi-core Implementation of Decomposition-Based Packet Classification Algorithms

Multi-field packet classification is a network kernel function where packets are classified based on a set of predefined rules. Many algorithms and hardware architectures have been proposed to accelerate packet classification. Among them, decomposition-based classification approaches are of major interest to the research community because of the parallel search in each packet header field. This paper presents four decomposition-based approaches on multi-core processors. We search in parallel for all the fields using linear search or range-tree search; we store the partial results in a linked list or a bit vector. The partial results are merged to produce the final packet header match. We evaluate the performance with respect to latency and throughput varying the rule set size 1K ~ 64K and the number of threads per core 1 ~ 12. Experimental results show that our approaches can achieve 128 ns processing latency per packet and 11.5 Gbps overall throughput on state-of-the-art 16-core platforms.

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

[2]  Guido Appenzeller,et al.  Implementing an OpenFlow switch on the NetFPGA platform , 2008, ANCS '08.

[3]  Teemu Koponen Software is the future of networking , 2012, 2012 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[4]  Viktor K. Prasanna,et al.  A FPGA-based Parallel Architecture for Scalable High-Speed Packet Classification , 2009, 2009 20th IEEE International Conference on Application-specific Systems, Architectures and Processors.

[5]  Nick McKeown,et al.  Packet classification on multiple fields , 1999, SIGCOMM '99.

[6]  Viktor K. Prasanna,et al.  Field-split parallel architecture for high performance multi-match packet classification using FPGAs , 2009, SPAA '09.

[7]  George Varghese,et al.  Fast and scalable layer four switching , 1998, SIGCOMM '98.

[8]  T. V. Lakshman,et al.  Efficient multimatch packet classification and lookup with TCAM , 2005, IEEE Micro.

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

[10]  Gordon J. Brebner Softly Defined Networking , 2012, 2012 ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS).

[11]  Jonathan S. Turner,et al.  Scalable packet classification using distributed crossproducing of field labels , 2005, Proceedings IEEE 24th Annual Joint Conference of the IEEE Computer and Communications Societies..

[12]  Pankaj Gupta,et al.  Packet Classification using Hierarchical Intelligent Cuttings , 1999 .

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

[14]  T. V. Lakshman,et al.  High-speed policy-based packet forwarding using efficient multi-dimensional range matching , 1998, SIGCOMM '98.

[15]  Kuruvilla Varghese,et al.  A Scalable High Throughput Firewall in FPGA , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[16]  Viktor K. Prasanna,et al.  Beyond TCAMs: An SRAM-Based Parallel Multi-Pipeline Architecture for Terabit IP Lookup , 2008, IEEE INFOCOM 2008 - The 27th Conference on Computer Communications.

[17]  Xinan Tang,et al.  High-performance packet classification algorithm for many-core and multithreaded network processor , 2006, CASES '06.