2008 · 12 citations · 21 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureData StructuresHardware-software Co-designCachingInstruction Set ArchitectureMemory HierarchyMemory Hierarchy DesignMemory Hierarchy OptimizationScalable Algorithm DesignCache ArchitectureCache CompressionCache OptimizationCisc ArchitecturesData Partitioning StrategiesMulti-core ComputingPacket ClassificationScalable Classification
Packet classification is an enabling technology to support advanced Internet services. It is still a challenge for a software solution to achieve 10Gbps (line-rate) classification speed. This paper presents a classification algorithm that can be efficiently implemented on a multi-core architecture with or without cache. The algorithm embraces the holistic notion of exploiting application characteristics, considering the capabilities of the CPU and the memory hierarchy, and performing appropriate data partitioning. The classification algorithm adopts two stages: searching on a reduction tree and searching on a list of ranges. This decision is made based on a classification heuristic: the size of the range list is limited after the first stage search. Optimizations are then designed to speed up the two-stage execution. To exploit the speed gap (1) between the CPU and external memory; (2) between internal memory (cache) and external memory, an interpreter is used to trade the CPU idle cycles with demanding memory access requirements. By applying the CISC style of instruction encoding to compress the range expressions, it not only significantly reduces the total memory requirement but also makes effective use of the internal memory (cache) bandwidth. We show that compressing data structures is an effective optimization across the multi-core architectures.
21
Introduction to the Cell multiprocessor
J. Kahle, Michael Day, H. Peter Hofstee et al. · IBM Journal of Research and Development · 2005 · 941 citations
Packet classification on multiple fields
Pankaj Gupta, Nick McKeown · 1999 · 594 citations · Full text
Small forwarding tables for fast routing lookups
Mikael Degermark, Andrej Brodnik, Svante Carlsson et al. · 1997 · 591 citations · Full text
Packet classification using multidimensional cutting
Sumeet Singh, Florin Baboescu, George Varghese et al. · 2003 · 536 citations · Full text