LUT Cascades Based on Edge-Valued Multi-Valued Decision Diagrams: Application to Packet Classification

This paper presents a packet classifier using multiple LUT cascades for edge-valued multi-valued decision diagrams (EVMDDs (k)). Since the proposed one uses both DSP blocks and on-chip memories, it can efficiently use the available FPGA resources. Thus, it can realize a parallel packet classifier on a single-chip FPGA for the next generation 400 Gb/s Internet link rate (IEEE 802.3). Since it is a memory-based one, the power consumption is lower than the TCAM-based one. Also, we proposed an on-line update method that can be done without intermitting the packet classification. Compared with the conventional off-line update which requires resynthesis of the re-generated HDL codes, it drastically reduces the update time. Although the proposed on-line update requires additional hardware, the overhead is only 8.5% of the original LUT cascades, which is acceptable. We implemented a two-parallel packet classifier on a Virtex 7 VC707 evaluation board. The system throughput is 640 Gb/s for minimum packet size (40 Bytes). For the performance per memory, the proposed architecture is 2.21 times higher than existing methods. For the power consumption per performance, the proposed architecture is 11.95 times lower than existing methods.

[1]  George Varghese,et al.  Network algorithmics , 2004 .

[2]  Francis Zane,et al.  Coolcams: power-efficient TCAMs for forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[3]  Baohua Yang,et al.  Packet Classification Algorithms: From Theory to Practice , 2009, IEEE INFOCOM 2009.

[4]  Masahiro Fujita,et al.  Spectral Transforms for Large Boolean Functions with Applications to Technology Mapping , 1997, Formal Methods Syst. Des..

[5]  T. N. Vijaykumar,et al.  EffiCuts: optimizing packet classification for memory and throughput , 2010, SIGCOMM '10.

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

[7]  Ioannis Papaefstathiou,et al.  Memory-Efficient 5D Packet Classification At 40 Gbps , 2007, IEEE INFOCOM 2007 - 26th IEEE International Conference on Computer Communications.

[8]  Viktor K. Prasanna,et al.  Large-scale wire-speed packet classification on FPGAs , 2009, FPGA '09.

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

[10]  Viktor K. Prasanna,et al.  A Scalable and Modular Architecture for High-Performance Packet Classification , 2014, IEEE Transactions on Parallel and Distributed Systems.

[11]  Baohua Yang,et al.  Towards high-performance flow-level packet processing on multi-core network processors , 2007, ANCS '07.

[12]  Tsutomu Sasao,et al.  A Packet Classifier Using a Parallel Branching Program Machine , 2010, 2010 13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools.

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

[14]  Robert K. Brayton,et al.  ESPRESSO-SIGNATURE: A New Exact Minimizer for Logic Functions , 1993, 30th ACM/IEEE Design Automation Conference.

[15]  Jonathan S. Turner,et al.  ClassBench: A Packet Classification Benchmark , 2005, IEEE/ACM Transactions on Networking.

[16]  Tsutomu Sasao,et al.  A packet classifier using LUT cascades based on EVMDDS (k) , 2013, 2013 23rd International Conference on Field programmable Logic and Applications.

[17]  Girija J. Narlikar,et al.  Fast incremental updates for pipelined forwarding engines , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[18]  Shinobu Nagayama,et al.  Complexities of Graph-Based Representations for Elementary Functions , 2009, IEEE Transactions on Computers.

[19]  Yung-Te Lai,et al.  Edge-valued binary decision diagrams for multi-level hierarchical verification , 1992, DAC '92.

[20]  McKeownNick,et al.  Packet classification on multiple fields , 1999 .

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

[22]  Tsutomu Sasao,et al.  An Update Method for a CAM Emulator Using an LUT Cascade Based on an EVMDD (K) , 2014, 2014 IEEE 44th International Symposium on Multiple-Valued Logic.

[23]  H. Jonathan Chao,et al.  High-Throughput and Memory-Efficient Multimatch Packet Classification Based on Distributed and Pipelined Hash Tables , 2014, IEEE/ACM Transactions on Networking.

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

[25]  Ehab Al-Shaer,et al.  Analysis of Firewall Policy Rules Using Data Mining Techniques , 2006, 2006 IEEE/IFIP Network Operations and Management Symposium NOMS 2006.

[26]  Sophia Kluge Algorithms And Data Structures In Vlsi Design Obdd Foundations And Applications , 2016 .

[27]  Mark H. Overmars,et al.  Range Searching and Point Location among Fat Objects , 1994, J. Algorithms.

[28]  Tsutomu Sasao On the Complexity of Classification Functions , 2008, 38th International Symposium on Multiple Valued Logic (ismvl 2008).

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

[30]  Sofia Cassel,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 2012 .

[31]  Tiziano Villa,et al.  Multi-valued decision diagrams: theory and applications , 1998 .

[32]  Zhen Liu,et al.  Low power architecture for high speed packet classification , 2008, ANCS '08.

[33]  Viktor K. Prasanna,et al.  StrideBV: Single chip 400G+ packet classification , 2012, 2012 IEEE 13th International Conference on High Performance Switching and Routing.

[34]  Nick McKeown,et al.  Algorithms for packet classification , 2001, IEEE Netw..

[35]  Eric Torng,et al.  TCAM Razor: a systematic approach towards minimizing packet classifiers in TCAMs , 2010, TNET.

[36]  Bin Liu,et al.  Energy efficient packet classification hardware accelerator , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[37]  Sarma Vrudhula,et al.  EVBDD-based algorithms for integer linear programming, spectral transformation, and function decomposition , 1994, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[38]  Thomas Y. C. Woo A modular approach to packet classification: algorithms and results , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[39]  Haoyu Song,et al.  Efficient packet classification for network intrusion detection using FPGA , 2005, FPGA '05.

[40]  Viktor K. Prasanna,et al.  A Comparison of Ruleset Feature Independent Packet Classification Engines on FPGA , 2013, 2013 IEEE International Symposium on Parallel & Distributed Processing, Workshops and Phd Forum.

[41]  Rodney S Tucker Optical Packet-Switched WDM Networks: a Cost and Energy Perspective , 2008, OFC/NFOEC 2008 - 2008 Conference on Optical Fiber Communication/National Fiber Optic Engineers Conference.

[42]  Shinobu Nagayama,et al.  Design Method for Numerical Function Generators Using Recursive Segmentation and EVBDDs , 2007, IEICE Trans. Fundam. Electron. Commun. Comput. Sci..

[43]  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.

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

[45]  H. Jonathan Chao,et al.  Block permutations in Boolean Space to minimize TCAM for packet classification , 2012, 2012 Proceedings IEEE INFOCOM.

[46]  Tsutomu Sasao,et al.  A Packet Classifier Based on Prefetching EVMDD (k) Machines , 2014, IEICE Trans. Inf. Syst..

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

[48]  Gaogang Xie,et al.  A Hybrid Hardware Architecture for High-Speed IP Lookups and Fast Route Updates , 2014, IEEE/ACM Transactions on Networking.

[49]  Jun Li,et al.  HSM: a fast packet classification algorithm , 2005, 19th International Conference on Advanced Information Networking and Applications (AINA'05) Volume 1 (AINA papers).

[50]  Viktor K. Prasanna,et al.  Compact Hash Tables for High-Performance Traffic Classification on Multi-core Processors , 2014, 2014 IEEE 26th International Symposium on Computer Architecture and High Performance Computing.

[51]  Tsutomu Sasao Memory-Based Logic Synthesis , 2011 .

[52]  Tsutomu Sasao A cascade realization of multiple-output function for reconfigurable hardware , 2001 .

[53]  Tsutomu Sasao,et al.  Implementation of Multiple-Valued CAM Functions by LUT Cascades , 2006, 36th International Symposium on Multiple-Valued Logic (ISMVL'06).

[54]  Isaac Keslassy,et al.  Optimal Fast Hashing , 2009, IEEE INFOCOM 2009.

[55]  Shinobu Nagayama,et al.  Representations of Elementary Functions Using Edge-Valued MDDs , 2007, 37th International Symposium on Multiple-Valued Logic (ISMVL'07).

[56]  Ioannis Papaefstathiou,et al.  A Memory-Efficient FPGA-based Classification Engine , 2008, 2008 16th International Symposium on Field-Programmable Custom Computing Machines.

[57]  Viktor K. Prasanna,et al.  Scalable Packet Classification: Cutting or Merging? , 2009, 2009 Proceedings of 18th International Conference on Computer Communications and Networks.

[58]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

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

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

[61]  Haoyu Song,et al.  Fast packet classification using bloom filters , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

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

[63]  Xiang Wang,et al.  ParaSplit: A Scalable Architecture on FPGA for Terabit Packet Classification , 2012, 2012 IEEE 20th Annual Symposium on High-Performance Interconnects.

[64]  Rabi N. Mahapatra,et al.  TCAM architecture for IP lookup using prefix properties , 2004, IEEE Micro.