Title
A Packet Classifier Using a Parallel Branching Program Machine
Abstract
A branching program machine (BM) is a special purpose processor that uses only two kinds of instructions: Branch and output instructions. Thus, the architecture for the BM is much simpler than that for a general purpose processor (MPU). Since the BM uses the dedicated instructions for a special purpose application, it is faster than the MPU. This paper presents a packet classifier using a parallel branching program machine (PBM). To reduce computation time and code size, first, a set of rules for the packet classifier is partitioned into groups. Then, they are evaluated by the PBM in parallel. Also, this paper shows a method to estimate the number of necessary BMs to realize the packet classifier. The PBM32 consisting of 32 BMs has been implemented on an FPGA, and compared with the Intel's Core2Duo@1.2GHz. The PBM32 is 8.1-11.1 times faster than the Core2Duo, and the PBM32 requires only 0.2-10.3 percent of the memory for the Core2Duo.
Year
DOI
Venue
2010
10.1109/DSD.2010.18
Digital System Design: Architectures, Methods and Tools
Keywords
Field
DocType
output instruction,general purpose processor,packet classifier,computation time,program machine,special purpose processor,parallel branching program machine,code size,necessary bms,special purpose application,dedicated instruction,registers,fpga,data structures,protocols,branching program,boolean functions,routing,internet,parallel processing
Boolean function,Data structure,General purpose,Computer science,Network packet,Parallel computing,Field-programmable gate array,Binary decision diagram,Real-time computing,Classifier (linguistics),Computation
Conference
ISBN
Citations 
PageRank 
978-1-4244-7839-2
3
0.44
References 
Authors
12
3
Name
Order
Citations
PageRank
Hiroki Nakahara115537.34
Tsutomu Sasao21083141.62
Munehiro Matsuura318924.44