Multi-Engine Packet Classification Hardware Accelerator

As line rates increase, the task of designing high performance architectures with reduced power consumption for the processing of router traffic remains important. In this paper, we present a multi-engine packet classification hardware accelerator, which gives increased performance and reduced power consumption. It follows the basic idea of decision-tree based packet classification algorithms, such as HiCuts and HyperCuts, in which the hyperspace represented by the ruleset is recursively divided into smaller subspaces according to some heuristics. Each classification engine consists of a Trie Traverser which is responsible for finding the leaf node corresponding to the incoming packet, and a Leaf Node Searcher that reports the matching rule in the leaf node. The packet classification engine utilizes the possibility of ultra-wide memory word provided by FPGA block RAM to store the decision tree data structure, in an attempt to reduce the number of memory accesses needed for the classification. Since the clock rate of an individual engine cannot catch up to that of the internal memory, multiple classification engines are used to increase the throughput. The implementations in two different FPGAs show that this architecture can reach a searching speed of 169 million packets per second (mpps) with synthesized ACL, FW and IPC rulesets. Further analysis reveals that compared to state of the art TCAM solutions, a power savings of up to 72% and an increase in throughput of up to 27% can be achieved.

[1]  Chia-Tai Chan,et al.  Scalable Packet Classification for Enabling Internet Differentiated Services , 2006, IEEE Transactions on Multimedia.

[2]  Daniel Hoffman,et al.  ClassBench: a framework for automated class testing , 1997 .

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

[4]  Peng Zhou,et al.  An encoding scheme for TCAM-based packet classification , 2006, 2006 8th International Conference Advanced Communication Technology.

[5]  George Varghese,et al.  Packet classification for core routers: is there an alternative to CAMs? , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[6]  George Varghese,et al.  Scalable packet classification , 2001, SIGCOMM '01.

[7]  Jonathan S. Turner,et al.  Packet classification using extended TCAMs , 2003, 11th IEEE International Conference on Network Protocols, 2003. Proceedings..

[8]  Bin Liu,et al.  DPPC-RE: TCAM-based distributed parallel packet classification with range encoding , 2006, IEEE Transactions on Computers.

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

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

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

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

[13]  Daniel Hoffman,et al.  ClassBench: A Framework for Automated Class Testing , 1997, Softw. Pract. Exp..

[14]  Venkatachary Srinivasan,et al.  Packet classification using tuple space search , 1999, SIGCOMM '99.

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

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

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