skip to main content
10.1145/3493425.3502752acmconferencesArticle/Chapter ViewAbstractPublication PagesancsConference Proceedingsconference-collections
research-article

KickTree: A Recursive Algorithmic Scheme for Packet Classification with Bounded Worst-Case Performance

Published: 18 January 2022 Publication History

Abstract

As a promising alternative to TCAM-based solutions for packet classification, FPGA has received increasing attention. Although extensive research has been conducted in this area, existing FPGA-based packet classifiers cannot satisfy the burgeoning needs from OpenFlow, which demands large-scale rule sets and frequent rule updates. As a recently proposed hardware-specific approach, TabTree avoids rule replication and supports dynamic rule update. However, it still faces problems of unbalanced rule subset partition, unevenly distributed subtrees and excessive TSS leaf nodes when implemented on FPGA. In this paper, we propose a hardware-friendly packet classification approach called KickTree, which is elaborated by considering hardware properties. To take advantage of intrinsic parallelism of FPGA, KickTree adopts multiple balanced decision trees which can run simultaneously. The bit selection is more flexible which breaks the restriction of rule subset. Moreover, each subset size is strictly limited, leading to bounded and evenly-distributed

Supplementary Material

MP4 File (ancs-s02_p01-xin.mp4)
Presentation video

References

[1]
Florin Baboescu, Sumeet Singh, and George Varghese. 2003. Packet classification for core routers: Is there an alternative to CAMs?. In IEEE INFOCOM.
[2]
Florin Baboescu and George Varghese. 2001. Scalable packet classification. ACM SIGCOMM Computer Communication Review 31, 4 (2001), 199--210.
[3]
Gordon Brebner. 2009. Packets everywhere: The great opportunity for field programmable technology. In IEEE FPT.
[4]
Yeim-Kuan Chang. 2008. Efficient multidimensional packet classification with fast updates. IEEE Trans. Comput. 58, 4 (2008), 463--479.
[5]
Yeim-Kuan Chang and Chun-Sheng Hsueh. 2015. Range-enhanced packet classification design on FPGA. IEEE Transactions on Emerging Topics in Computing 4, 2 (2015), 214--224.
[6]
James Daly and Eric Torng. 2017. TupleMerge: Building Online Packet Classifiers by Omitting Bits. In IEEE ICCCN.
[7]
James Daly and Eric Torng. 2018. ByteCuts: Fast Packet Classification by Interior Bit Extraction. In IEEE INFOCOM.
[8]
Andreas Fiessler, Sven Hager, Björn Scheuermann, and Andrew W Moore. 2016. HyPaFilter: A versatile hybrid FPGA packet filter. In ACM/IEEE ANCS.
[9]
Jeffrey Fong, Xiang Wang, Yaxuan Qi, Jun Li, and Weirong Jiang. 2012. ParaSplit: A scalable architecture on FPGA for terabit packet classification. In IEEE Hot Interconnects.
[10]
Thilan Ganegedara and Viktor K Prasanna. 2012. StrideBV: Single chip 400G+ packet classification. In IEEE HPSR.
[11]
Filippo Geraci, Marco Pellegrini, Paolo Pisati, and Luigi Rizzo. 2005. Packet classification via improved space decomposition techniques. In IEEE INFOCOM.
[12]
GitHub. 2021. https://github.com/wenjunpaper/KickTree.
[13]
Pankaj Gupta and Nick McKeown. 1999. Packet classification on multiple fields. ACM SIGCOMM Computer Communication Review 29, 4(1999), 147--160.
[14]
Pankaj Gupta and Nick McKeown. 1999. Packet classification using hierarchical intelligent cuttings. In IEEE Hot Interconnects.
[15]
P. Gupta and N. McKeown. 2000. Classifying packets with hierarchical intelligent cuttings. IEEE Micro 20, 1 (2000), 34--41.
[16]
Peng He, Gaogang Xie, Kavé Salamatian, and Laurent Mathy. 2014. Meta-algorithms for software-based packet classification. In IEEE ICNP.
[17]
Cheng-Liang Hsieh and Ning Weng. 2016. Many-field packet classification for software-defined networking switches. In ACM/IEEE ANCS.
[18]
Stephen Ibanez, Gordon Brebner, Nick McKeown, and Noa Zilberman. 2019. The P4-NetFPGA Workflow for Line-Rate Packet Processing. In ACM/SIGDA FPGA.
[19]
Weirong Jiang and Viktor K Prasanna. 2009. Field-split parallel architecture for high performance multi-match packet classification using FPGAs. In ACM SPAA.
[20]
Weirong Jiang and Viktor K Prasanna. 2012. Scalable Packet Classification on FPGA. IEEE Transactions on Very Large Scale Integration Systems 20, 9 (2012), 1668--1680.
[21]
TV Lakshman and Dimitrios Stiliadis. 1998. High-speed policy-based packet forwarding using efficient multi-dimensional range matching. In ACM SIGCOMM.
[22]
Chenglong Li, Tao Li, Junnan Li, Zilin Shi, and Baosheng Wang. 2020. Enabling Packet Classification with Low Update Latency for SDN Switch on FPGA. Sustainability 12, 8 (2020), 1--16.
[23]
Wenjun Li and Xianfeng Li. 2013. HybridCuts: A scheme combining decomposition and cutting for packet classification. In IEEE Hot Interconnects.
[24]
Wenjun Li, Xianfeng Li, Hui Li, and Gaogang Xie. 2018. CutSplit: A Decision-Tree Combining Cutting and Splitting for Scalable Packet Classification. In IEEE INFOCOM.
[25]
Wenjun Li, Tong Yang, Yeim-Kuan Chang, Tao Li, and Hui Li. 2019. TabTree: A TSS-assisted Bit-selecting Tree Scheme for Packet Classification with Balanced Rule Mapping. In ACM/IEEE ANCS.
[26]
Wenjun Li, Tong Yang, Ori Rottenstreich, Xianfeng Li, Gaogang Xie, Hui Li, Balajee Vamanan, Dagang Li, and Huiping Lin. 2020. Tuple Space Assisted Packet Classification with High Performance on Both Search and Update. IEEE Journal on Selected Areas in Communications 38, 7 (2020), 1555--1569.
[27]
Eric Liang, Hang Zhu, Xin Jin, and Ion Stoica. 2019. Neural Packet Classification. In ACM SIGCOMM.
[28]
Hyesook Lim and So Yeon Kim. 2010. Tuple pruning using bloom filters for packet classification. IEEE Micro 30, 3 (2010), 48--59.
[29]
Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and Jonathan Turner. 2008 OpenFlow: Enabling Innovation in Campus Networks. ACM SIGCOMM Computer Communication Review 38, 2 (mar 2008), 69--74.
[30]
Chad R. Meiners, Alex X. Liu, and Eric Torng. 2010. Hardware Based Packet Classification for High Speed Internet Routers (1st ed.). Springer Publishing Company, Incorporated.
[31]
Salvatore Pontarelli and et al. 2019. FlowBlaze: Stateful Packet Processing in Hardware. In USENIX NSDI.
[32]
Yaxuan Qi, Lianghong Xu, Baohua Yang, Yibo Xue, and Jun Li. 2009. Packet classification algorithms: From theory to practice. In IEEE INFOCOM.
[33]
Yun R Qu and Viktor K Prasanna. 2015. High-performance and dynamically updatable packet classification engine on FPGA. IEEE Transactions on Parallel and Distributed Systems 27, 1 (2015), 197--209.
[34]
Alon Rashelbach, Ori Rottenstreich, and Mark Silberstein. 2020. A Computational Approach to Packet Classification. In ACM SIGCOMM.
[35]
Tong Shen, Gaogang Xie, Xin Wang, Zhenyu Li, Xinyi Zhang, Penghao Zhang, and Dafang Zhang. 2018. RVH: Range-Vector Hash for Fast Online Packet Classification. Techical Report of ICT (2018).
[36]
Sumeet Singh, Florin Baboescu, George Varghese, and Jia Wang. 2003. Packet classification using multidimensional cutting. In ACM SIGCOMM.
[37]
Haoyu Song, Jonathan Turner, and Sarang Dharmapurikar. 2006. Packet classification using coarse-grained tuple spaces. In ACM/IEEE ANCS.
[38]
Venkatachary Srinivasan, Subhash Suri, and George Varghese. 1999. Packet Classification using Tuple Space Search. In ACM SIGCOMM.
[39]
Venkatachary Srinivasan, George Varghese, Subhash Suri, and Marcel Waldvogel. 1998. Fast and Scalable Layer Four Switching. In ACM SIGCOMM.
[40]
David E Taylor. 2005. Survey and taxonomy of packet classification techniques. Comput. Surveys 37, 3 (2005), 238--275.
[41]
David E Taylor and Jonathan S Turner. 2005. Scalable packet classification using distributed crossproducing of field labels. In IEEE INFOCOM.
[42]
David E Taylor and Jonathan S Turner. 2007. Classbench: A packet classification benchmark. IEEE/ACM Transactions on Networking 15, 3 (2007), 499--511.
[43]
Balajee Vamanan, Gwendolyn Voskuilen, and TN Vijaykumar. 2010. EffiCuts: Optimizing Packet Classification for Memory and Throughput. In ACM SIGCOMM.
[44]
Balajee Vamanan, Gwendolyn Voskuilen, and TN Vijaykumar. 2011. EffiCuts: optimizing packet classification for memory and throughput. ACM SIGCOMM Computer Communication Review 41, 4 (2011), 207--218.
[45]
Website. 2021. http://www.wenjunli.com/KickTree.
[46]
Thomas YC Woo. 2000. A modular approach to packet classification: Algorithms and results. In IEEE INFOCOM.
[47]
Yang Xu, Zhaobo Liu, Zhuoyuan Zhang, and H. Jonathan Chao. 2014. High-Throughput and Memory-Efficient Multimatch Packet Classification Based on Distributed and Pipelined Hash Tables. IEEE/ACM Transactions on Networking 22, 3 (2014), 982--995.
[48]
Sorrachai Yingchareonthawornchai, James Daly, Alex X Liu, and Eric Torng. 2016. A sorted partitioning approach to high-speed and fastupdate OpenFlow classification. In IEEE ICNP.
[49]
Sorrachai Yingchareonthawornchai, James Daly, Alex X Liu, and Eric Torng. 2018. A Sorted-Partitioning Approach to Fast and Scalable Dynamic Packet Classification. IEEE/ACM Transactions on Networking 26, 4 (2018), 1907--1920.

Cited By

View all
  • (2024)Evaluating Partitions in Packet Classification with the Asymmetric Metric of Disassortative ModularitySymmetry10.3390/sym1701003717:1(37)Online publication date: 28-Dec-2024
  • (2024)Scalable packet classification based on rule categorization and cross-productingComputer Networks: The International Journal of Computer and Telecommunications Networking10.1016/j.comnet.2023.110116238:COnline publication date: 14-Mar-2024
  • (2023)HybridTSS: A Recursive Scheme Combining Coarse- and Fine- Grained Tuples for Packet ClassificationProceedings of the 6th Asia-Pacific Workshop on Networking10.1145/3542637.3542644(43-49)Online publication date: 7-Nov-2023
  • Show More Cited By

Index Terms

  1. KickTree: A Recursive Algorithmic Scheme for Packet Classification with Bounded Worst-Case Performance

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ANCS '21: Proceedings of the Symposium on Architectures for Networking and Communications Systems
    December 2021
    174 pages
    ISBN:9781450391689
    DOI:10.1145/3493425
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 18 January 2022

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. FPGA
    2. SDN
    3. decision tree
    4. packet classification

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    Conference

    ANCS '21

    Acceptance Rates

    Overall Acceptance Rate 88 of 314 submissions, 28%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)47
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 28 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Evaluating Partitions in Packet Classification with the Asymmetric Metric of Disassortative ModularitySymmetry10.3390/sym1701003717:1(37)Online publication date: 28-Dec-2024
    • (2024)Scalable packet classification based on rule categorization and cross-productingComputer Networks: The International Journal of Computer and Telecommunications Networking10.1016/j.comnet.2023.110116238:COnline publication date: 14-Mar-2024
    • (2023)HybridTSS: A Recursive Scheme Combining Coarse- and Fine- Grained Tuples for Packet ClassificationProceedings of the 6th Asia-Pacific Workshop on Networking10.1145/3542637.3542644(43-49)Online publication date: 7-Nov-2023
    • (2023)Recursive Multi-Tree Construction With Efficient Rule Sifting for Packet Classification on FPGAIEEE/ACM Transactions on Networking10.1109/TNET.2023.333038132:2(1707-1722)Online publication date: 10-Nov-2023
    • (2023)A Parallel and Updatable Architecture for FPGA-Based Packet Classification With Large-Scale Rule SetsIEEE Micro10.1109/MM.2023.323801243:2(110-119)Online publication date: 1-Mar-2023
    • (2023)MiCuts: Combing Bit-Based Cutting and Splitting for Efficient Packet ClassificationICC 2023 - IEEE International Conference on Communications10.1109/ICC45041.2023.10278977(2345-2350)Online publication date: 28-May-2023
    • (2022)Updatable Packet Classification on FPGA with Bounded Worst-Case Performance2022 IEEE Symposium on High-Performance Interconnects (HOTI)10.1109/HOTI55740.2022.00019(21-28)Online publication date: Aug-2022

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media