High-performance architecture for flow-table lookup in SDN on FPGA

  • Rashid Hatami
  • Hossein BahramgiriEmail author


We propose range-based ternary search tree (RTST), a tree-based approach for flow-table lookup in SDN. RTST builds upon flow-tables in SDN switches to provide a fast lookup among flows. We present a parallel multi-pipeline architecture for implementing RTST that benefits from high throughput and low latency. The proposed RTST and architecture achieve a memory efficiency of 1 byte of memory for each byte of flow. We also present a set of techniques to support dynamic updates. Experimental results reveal that RTST can be used to improve the performance of flow-lookup. It achieves a throughput of 670 million packets per second (MPPS), for a 1K 15-tuple flow-table, on a state-of-the-art FPGA (Virtex 6 XC6VLX760).


Software-defined networking (SDN) Flow-table Range-based ternary search tree (RTST) Field-programmable gate array (FPGA) Pipeline architecture 


  1. 1.
    Wang H, Qian C, Yu Y, Yang H, Lam SS, Wang H, Qian C, Yu Y, Yang H, Lam SS (2017) Practical network-wide packet behavior identification by AP classifier. IEEE/ACM Trans Netw (TON) 25(5):2886–2899CrossRefGoogle Scholar
  2. 2.
    McKeown N, Anderson T, Balakrishnan H, Parulkar G, Peterson L, Rexford J, Shenker S, Turner J (2008) Openflow: enabling innovation in campus networks. ACM SIGCOMM Comput Commun Rev 38(2):69–74CrossRefGoogle Scholar
  3. 3.
  4. 4.
    Chang S-H, Mao-Sheng H (2017) A novel software-defined wireless network architecture to improve ship area network performance. J Supercomput 73(7):3149–3160CrossRefGoogle Scholar
  5. 5.
    Kang S, Yoon W (2016) SDN-based resource allocation for heterogeneous LTE and WLAN multi-radio networks. J Supercomput 72(4):1342–1362CrossRefGoogle Scholar
  6. 6.
    Tu R, Wang X, Yang Y (2014) Energy-saving model for SDN data centers. J Supercomput 70(3):1477–1495CrossRefGoogle Scholar
  7. 7.
    Reitblatt M, Canini M, Guha A, Foster N (2013) Fattire: declarative fault tolerance for software-defined networks. In: Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking, HotSDN ’13, (New York, NY, USA), ACM, pp 109–114Google Scholar
  8. 8.
    Yu F, Katz RH, Lakshman T (2005) Efficient multimatch packet classification and lookup with TCAM. Micro IEEE 25(1):50–59CrossRefGoogle Scholar
  9. 9.
    Lakshminarayanan K, Rangarajan A, Venkatachary S (2005) Algorithms for advanced packet classification with ternary CAMs. ACM SIGCOMM Comput Commun Rev 35(4):193–204CrossRefGoogle Scholar
  10. 10.
    Vamanan B, Vijaykumar TN (2011) Treecam: decoupling updates and lookups in packet classification. In: Proceedings of the Seventh Conference on Emerging Networking Experiments and Technologies, CoNEXT ’11, (New York, NY, USA), ACM, pp 27:1–27:12Google Scholar
  11. 11.
    Zhou S, Qu Y, Prasanna V (2014) Multi-core implementation of decomposition-based packet classification algorithms. J Supercomput 69(1):34–42CrossRefGoogle Scholar
  12. 12.
    Qu YR, Prasanna VK (2016) High-performance and dynamically updatable packet classification engine on FPGA. IEEE Trans Parallel Distrib Syst 27:197–209CrossRefGoogle Scholar
  13. 13.
    Jiang W, Prasanna VK (2009) Field-split parallel architecture for high performance multi-match packet classification using FPGAs. In: Proceedings of the Twenty-First Annual Symposium on Parallelism in Algorithms and Architectures, SPAA ’09, (New York, NY, USA), ACM, pp 188–196Google Scholar
  14. 14.
    Ganegedara T, Prasanna VK (2012) StrideBV: single chip 400G+ packet classification. In: 2012 IEEE 13th International Conference on High Performance Switching and Routing, pp 1–6Google Scholar
  15. 15.
    Gupta P, McKeown N (2000) Classifying packets with hierarchical intelligent cuttings. IEEE Micro 20:34–41CrossRefGoogle Scholar
  16. 16.
    Singh S, Baboescu F, Varghese G, Wang J (2003) Packet classification using multidimensional cutting. In: Proceedings of the 2003 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications, SIGCOMM ’03, (New York, NY, USA), ACM, pp 213–224Google Scholar
  17. 17.
    Jiang W, Prasanna VK (2012) Scalable packet classification on FPGA. IEEE Trans Very Large Scale Integr (VLSI) Syst 20(9):1668–1680CrossRefGoogle Scholar
  18. 18.
    Le H, Prasanna VK (2012) Scalable tree-based architectures for IPv4/v6 lookup using prefix partitioning. IEEE Trans Comput 61(7):1026–1039MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Meiners CR, Liu AX, Torng E (2007) TCAM Razor: a systematic approach towards minimizing packet classifiers in TCAMs. In: 2007 IEEE International Conference on Network Protocols, pp 266–275Google Scholar
  20. 20.
    Dong X, Qian M, Jiang R (2018) Packet classification based on the decision tree with information entropy. J Supercomput, 1–15Google Scholar
  21. 21.
    Jin X, Liu HH, Gandhi R, Kandula S, Mahajan R, Zhang M, Rexford J, Wattenhofer R (2014) Dynamic scheduling of network updates. In: Proceedings of the 2014 ACM Conference on SIGCOMM, SIGCOMM ’14, (New York, NY, USA), ACM, pp 539–550Google Scholar
  22. 22.
    Thapliyal H, Jayashree H, Nagamani A, Arabnia HR (2013) Progress in reversible processor design: a novel methodology for reversible carry look-ahead adder. In: Transactions on Computational Science XVII, Springer, pp 73–97Google Scholar
  23. 23.
    Arabnia HR, Oliver MA (1986) Fast operations on raster images with SIMD machine architectures. In: Computer graphics forum, vol 5. Wiley, New York, pp 179–188Google Scholar
  24. 24.
    Arabnia HR, Taha TR (1998) A parallel numerical algorithm on a reconfigurable multi-ring network. Telecommun Syst 10(1–2):185–202CrossRefGoogle Scholar
  25. 25.
    Yang MQ, Athey BD, Arabnia HR, Sung AH, Liu Q, Yang JY, Mao J, Deng Y (2009) High-throughput next-generation sequencing technologies foster new cutting-edge computing techniques in bioinformatics. BMC Genom 10(S1):I1CrossRefGoogle Scholar
  26. 26.
    Bonesana I, Paolieri M, Santambrogio MD (2008) An adaptable FPGA-based system for regular expression matching. In: 2008 Design, Automation and Test in Europe, pp 1262–1267Google Scholar
  27. 27.
    Frigerio L, Marks K, Krikelis A (2010) Timed coloured petri nets for performance evaluation of DSP applications: the 3GPP LTE case study. In: Piguet C, Reis R, Soudris D (eds) VLSI-SoC: design methodologies for SoC and SiP. Springer, Berlin, pp 114–132CrossRefGoogle Scholar
  28. 28.
    Basu A, Narlikar G (2005) Fast incremental updates for pipelined forwarding engines. IEEE/ACM Trans Netw (TON) 13(3):690–703CrossRefGoogle Scholar
  29. 29.
  30. 30.
    Zane F, Narlikar G, Basu A (2003) CoolCAMs: power-efficient TCAMs for forwarding engines. Proc IEEE INFOCOM 1:42–52Google Scholar
  31. 31.
    Jiang W, Prasanna VK (2009) Large-scale wire-speed packet classification on FPGAs. In: Proceedings of the ACM/SIGDA International Symposium on Field Programmable Gate Arrays, FPGA ’09, (New York, NY, USA), ACM, pp 219–228Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Maleke Ashtar University of TechnologyTehranIran

Personalised recommendations