Download presentation
Presentation is loading. Please wait.
Published byRosa Wilkerson Modified over 9 years ago
1
A Smart Pre-Classifier to Reduce Power Consumption of TCAMs for Multi-dimensional Packet Classification Yadi Ma, Suman Banerjee University of Wisconsin-Madison
2
Packet classification R Internet S1 S2 Subnet ASubnet B D FromToTraffic typeAction S1DPort 80Forward via L1 S2D*Drop all traffic AB*Reserve 50 Mbps L1 L2 Classifier at Router R
3
Definition Packet classification: given a classifier, find the first (highest priority) matching rule for each incoming packet A classifier contains a set of rules ordered by priority Our focus: n-tuple classification Example classifier: Given a packet header: (32.75.226.153, 198.35.180.5, 80,1040, UDP) Rule #Source IPDest. IPSource PortDest. PortProtocolAction 1*10.112.*.*5001 - 65535*TCPdeny 232.75.226.153**1001 - 2000UDPdeny 3199.36.184.**49152 - 65535*UDPdeny 4*****permit
4
Packet classification schemes Software-based schemes –Tradeoff between memory usage and speed –Examples: HiCuts, HyperCuts, EffiCuts, etc Hardware (TCAM)-based schemes –Popular for high-throughput packet classification
5
TCAM TCAM (Ternary Content Addressable Memory) TCAM Result A 18Mbit TCAM stores ~ 100K IPv4 rules, consumes up to 15W/Gbps! Problem: Lookups in large classifiers (>100k rules) burns a lot of power! High power consumption Used blocks Unused blocks
6
Problem Statement TCAMs are power-hungry Design a TCAM-based method that: –Greatly reduces power consumption of TCAMs, especially for large classifiers –Uses commodity TCAMs –Is easy to implement
7
Activate a small number of blocks? Result TCAM How to know which blocks to activate? Low power consumption
8
Our approach: SmartPC Result Pre-classifier Low power consumption SmartPC: Smart Pre-Classifier –Two-stage classification system Challenge: How to build an efficient pre-classifier?
9
Outline Introduction and motivation Design of SmartPC –Algorithms to manage two-stage classification Evaluation methods and results Conclusion
10
Packet classification system for SmartPC Two-stage classification –First stage: pre-classifier –Second stage: two parallel searches Index TCAM (Pre-classifier entries) Match index Index SRAM TCAM (Classifier rules) Associated SRAM (priorities + actions) “General” blocks Priority resolution Action “Specific” block How to build an efficient pre-classifier?
11
Pre-classifier How to build a pre-classifier? –Built on two dimensions: source IP address and destination IP addresses –By expanding and combining two dimensional rules recursively Also shuffle original rules into different TCAM blocks accordingly
12
Why 5d to 2d is a good choice? Maximum number of overlapping rules in the two-dimensional space Analyze more than 200 real classifiers ranging in size from 3 to 15,181 Maximum number of overlapping rules is an order of magnitude smaller than classifier size.
13
An example classifier containing 14 rules
14
Regular TCAM Rules are stored in order by priority Result Suppose block size = 5 TCAM 0,1,2,3,45, 6, 7,8,9 10,11,12,13 0,1,2,3,45, 6, 7,8,9 10,11,12,13
15
Same example classifier containing 14 rules
16
16 SmartPC 2 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 P1 P0,P1 TCAM Pre-classifier
17
17 SmartPC 2 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 P1 0,1,5,6,8 P0,P1 TCAM Pre-classifier
18
18 SmartPC 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 P1 0,1,5,6,82, 3,4,9,10 P0,P1 Specific blocks TCAM Pre-classifier
19
19 SmartPC 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 P1 0,1,5,6,82, 3,4,9,10 P0,P1 TCAM Pre-classifier General block 7,11,12,13 Specific blocks
20
20 SmartPC 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 P1 0,1,5,6,82, 3,4,9,10 7,11,12,13P0,P1 packet Specific blocks General block TCAM P0,P1 0,1,5,6,8 7,11,12,13 Pre-classifier
21
21 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 2
22
22 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0 2
23
23 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0 2, 1
24
24 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0 2, 1
25
25 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0 2, 1, 5, 6
26
26 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0 2, 1, 5, 6 7
27
27 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0 2, 1, 5, 6 7, 8
28
28 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0 2, 1, 5, 6 7,11,12,13, 8
29
29 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0 2, 1, 5, 6 7,11,12,13, 8 P1, P1
30
30 Example: how to build a pre-classifier 0 1 2 3/4 56 7 8 9 10 11/12/13 Dst_addr Src_addr P0 0, 1, 5, 6 7,11,12,13, 8 P1 2, 3,4,9,10, P1 Specific blocks General block Pre-classifier packet
31
31 Index TCAM (Pre-classifier entries) Match index Incoming packet Index SRAM 0, 1, 5, 6, 8 7, 11, 12, 13 TCAM (Classifier rules) Associated SRAM (priorities + actions) General block(s) 1, accept Priority resolution accept 7, deny 0101 1 P0 P1 2,3, 4, 9, 10 Specific block............ Packet classification system for SmartPC 0, 1, 5, 6, 8 7, 11, 12, 13 1, accept 7, deny
32
Properties of pre-classifiers Entries in a pre-classifier are non-overlapping Each rule in a classifier is either covered by only one pre-classifier entry, or marked as general
33
Rule update Rule update overhead of SmartPC is generally smaller than that of regular TCAMs The ordering of TCAM entries is kept within one specific block or within a small number of general blocks, rather than throughout all the blocks Rule update –Insert a rule –Delete a rule
34
Outline Introduction and motivation Design of SmartPC –Algorithms to manage two-stage classification Evaluation methods and results Conclusion
35
Experimental setup (1) Summary of classifiers NameSizeMaxOveralpsWildcard S19802224 S2941612657 S394977618 S496248212 S57255280 S699823275 S78703924979 S8998368947 S9998668138 S1099220100 10 real classifiers10 synthetic classifiers NameSizeMaxOveralpsWildcard R152334918 R256266332 R358749848 R463394716 R57356385 R680636435 R78475314 R81005410 R911574334271 R1015181177143
36
Experimental setup (2) Block size of TCAMs –Evaluated various sizes: 32, 64, 128, 256, 512 and 1024, respectively. Metric –Power reductions Percentage of reductions on activated blocks –Storage overhead of pre-classifier entries Percentage of pre-classifier size compared to the size of a whole classifier Schemes –SmartPC –Default TCAM (without SmartPC) –A naïve scheme named Naive-divide
37
Power reductions With block size 128, the median and average power reductions are 91% and 88%, respectively Real classifiers Synthetic classifiers Percentage of power reductions vs. TCAM block size
38
Storage overhead Real classifiers Synthetic classifiers Small storage overhead, less than 4% for every classifier. Fraction of storage overhead vs. TCAM block size
39
Comparison of SmartPC with Naïve-divide Real classifiersSynthetic classifiers SmartPC outperforms naïve-divide by more than 20% on average. Percentage of power reductions with block size 128
40
Discussion Effect of prefix distribution and prefix length Power reduction on small classifiers Power reduction on IPv6 classifiers
41
Conclusion Uses commodity TCAMs Is easy to implement Greatly reduces power consumptions of TCAMs, especially for larger classifiers Propose SmartPC, which:
42
Questions
43
Thanks
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.