DocumentCode :
1210643
Title :
A high-performance architecture and BDD-based synthesis methodology for packet classification
Author :
Prakash, Amit ; Kotla, Ramakrishna ; Mandal, Tanmoy ; Aziz, Adnan
Author_Institution :
Dept. of Electr. & Comput. Eng., Univ. of Texas, Austin, TX, USA
Volume :
22
Issue :
6
fYear :
2003
fDate :
6/1/2003 12:00:00 AM
Firstpage :
698
Lastpage :
709
Abstract :
Packet classification is a computationally intensive task that routers need to perform in order to implement basic functions such as next-hop lookup, as well as advanced features such as quality of service and security. Formally, a classifier examines each incoming packet, and determines which rules to apply to it. Semantically, the classifier is characterized by a function mapping the packet header to an integer encoding the action to be taken for that packet. The function itself is syntactically presented as a chain of if-then-else statements. Since the header consists of a fixed number of bits, it is natural to use logic synthesis to implement fast small classifiers in hardware. When doing this, there are two key issues that must be kept in mind: 1) these functions change over time, so the target architecture needs to be reconfigurable and 2) classification functions have a structure which should be exploited. We show that Internet Protocol forwarding, which is a special case of classification, can be performed by provably small circuits at very high speed by mapping the binary decision diagram (BDD) representation of the classification function to a cascaded array of lookup tables. This approach does not immediately carry over to general packet classification; the BDD for the classification function grows very large. We develop a solution based on partitioning to overcome this problem. We prove NP-completeness of optimal partitioning. We describe a heuristic for partition. The latency introduced by pipelining can be reduced by partially collapsing the BDD. We present an efficient algorithm based on dynamic programming to obtain an optimum grouping of variables that minimizes the total amount of memory required for a given number of levels.
Keywords :
binary decision diagrams; circuit CAD; computational complexity; content-addressable storage; dynamic programming; integrated circuit design; logic CAD; logic partitioning; microprocessor chips; packet switching; pipeline processing; routing protocols; table lookup; tree searching; BDD representation mapping; BDD-based synthesis methodology; IP forwarding; Internet Protocol forwarding; NP-completeness; binary decision diagram; cascaded array; dynamic programming; function mapping; high-performance architecture; integer encoding; logic synthesis; lookup tables; optimal partitioning; packet classification; packet header; partitioning heuristic; pipelining latency reduction; Binary decision diagrams; Boolean functions; Computer architecture; Data structures; Encoding; Hardware; Internet; Quality of service; Reconfigurable logic; Security;
fLanguage :
English
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
Publisher :
ieee
ISSN :
0278-0070
Type :
jour
DOI :
10.1109/TCAD.2003.811449
Filename :
1201582
Link To Document :
بازگشت