Multi-core Implementation of Decomposition-Based Packet Classification Algorithms

  • Shijie Zhou
  • Yun R. Qu
  • Viktor K. Prasanna
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7979)


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.


Software Define Networking Packet Head Linear Search Incoming Packet Unique Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Naous, J., Erickson, D., Covington, G.A., Appenzeller, G., McKeown, N.: Implementing an OpenFlow Switch on the NetFPGA Platform. In: Proc. of the 4th ACM/IEEE Symposium on Architectures for Networking and Communications Systems, ANCS 2008, pp. 1–9 (2008)Google Scholar
  2. 2.
    Brebner, G.: Softly Defined Networking. In: Proc. of the 8th ACM/IEEE Symp. on Architectures for Networking and Communications Systems, ANCS 2012, pp. 1–2 (2012)Google Scholar
  3. 3.
    Yu, F., Katz, R.H., Lakshman, T.V.: Efficient Multimatch Packet Classification and Lookup with TCAM. IEEE Micro 25(1), 50–59 (2005)CrossRefGoogle Scholar
  4. 4.
    Jiang, W., Wang, Q., Prasanna, V.K.: Beyond TCAMs: an SRAM based parallel multi-pipeline architecture for terabit IP lookup. In: Proc. IEEE INFOCOM, pp. 1786–1794 (2008)Google Scholar
  5. 5.
    Jedhe, G.S., Ramamoorthy, A., Varghese, K.: A Scalable High Throughput Firewall in FPGA. In: Proc. of IEEE Symposium on Field Programmable Custom Computing Machines, FCCM, pp. 802–807 (2008)Google Scholar
  6. 6.
    Koponen, T.: Software is the Future of Networking. In: Proc. of the 8th ACM/IEEE Symp. on Architectures for Networking and Communications Systems, ANCS, pp. 135–136 (2012)Google Scholar
  7. 7.
  8. 8.
    Intel Multi-Core Processors: Making the Move to Quad-Core and Beyond,
  9. 9.
    Multicore Computing- the state of the art,
  10. 10.
    Gupta, P., McKeown, N.: Packet classification on multiple fields. In: Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication, SIGCOMM, pp. 147–160 (1999)Google Scholar
  11. 11.
    Jiang, W., Prasanna, V.K.: A FPGA-based Parallel Architecture for Scalable High-Speed Packet Classification. In: 20th IEEE International Conference on Application-Specific Systems, Architectures and Processors, ASAP, pp. 24–31 (2009)Google Scholar
  12. 12.
    Gupta, P., McKeown, N.: Packet Classification using Hierarchical Intelligent Cuttings. In: IEEE Symposium on High Performance Interconnects, HotI (1999)Google Scholar
  13. 13.
    Singh, S., Baboescu, F., Varghese, G., Wang, J.: Packet Classification using Multidimensional Cutting. In: ACM SIGCOMM, pp. 213–224 (2003)Google Scholar
  14. 14.
    Liu, D., Hua, B., Hu, X., Tang, X.: High-performance Packet Classification Algorithm for Any-core and Multithreaded Network Processor. In: Proc. CASES (2006)Google Scholar
  15. 15.
    Taylor, D.E., Turner, J.S.: Scalable Packet Classification using Distributed Crossproducing of Field Labels. In: Proc. IEEE INFOCOM, pp. 269–280 (2005)Google Scholar
  16. 16.
    Zhong, P.: An IPv6 Address Lookup Algorithm based on Recursive Balanced Multi-way Range Trees with Efficient Search and Update. In: Proc. of International Conference on Computer Science and Service System, CSSS 2011, pp. 2059–2063 (2011)Google Scholar
  17. 17.
    Lakshman, T.V.: High-Speed Policy-based Packet Forwarding Using Efficient Multi-dimensional Range Matching. In: ACM SIGCOMM, pp. 203–214 (1998)Google Scholar
  18. 18.
    Pong, F., Tzeng, N.-F., Tzeng, N.-F.: HaRP: Rapid Packet Classification via Hashing Round-Down Prefixes. IEEE Transactions on Parallel and Distributed Systems 22(7), 1105–1119 (2011)CrossRefGoogle Scholar
  19. 19.
    Jiang, W., Prasanna, V.K.: Field-split Parallel Architecture for High Performance Muti-match Packet Classification using FPGAs. In: Proc. of the 21st Annual Symp. on Parallelism in Algorithms and Arch., SPAA, pp. 188–196 (2009)Google Scholar
  20. 20.
    Srinivasan, V., Varghese, G., Suri, S., Waldvogel, M.: Fast and Scalable Layer Four Switching. In: Proc. ACM SIGCOMM, pp. 191–202 (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Shijie Zhou
    • 1
  • Yun R. Qu
    • 1
  • Viktor K. Prasanna
    • 1
  1. 1.Ming Hsieh Department of Electrical EngineeringUniversity of Southern CaliforniaLos AngelesU.S.A.

Personalised recommendations