Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Memory-Efficient 5D Packet Classification At 40 Gbps Authors: Ioannis Papaefstathiou, and Vassilis Papaefstathiou Publisher: IEEE INFOCOM 2007 Presenter:

Similar presentations


Presentation on theme: "1 Memory-Efficient 5D Packet Classification At 40 Gbps Authors: Ioannis Papaefstathiou, and Vassilis Papaefstathiou Publisher: IEEE INFOCOM 2007 Presenter:"— Presentation transcript:

1 1 Memory-Efficient 5D Packet Classification At 40 Gbps Authors: Ioannis Papaefstathiou, and Vassilis Papaefstathiou Publisher: IEEE INFOCOM 2007 Presenter: Yu-Tso Chen Date: July, 09, 2008

2 2 Outline Introduction BSPC Design Simulation Results

3 3 Introduction Should support the current state-of-art networking speeds –(i.e. OC-768 at 40Gpbs) –Should not be prohibitively expensive Decomposing multi-field classification rules into internal single-field rules –Combined using multi-level Bloom filters B2PC uses the BOS single field searching scheme[11]

4 4 BSPC Design Observations –Filter sets’ sizes are small Ranging from tens of filters to less than 5000 –Protocol field is restricted to a small set of values TCP, UDP, and commonly used wildcards (covering more 95%) –Filter specify a limited number of unique transport port range

5 5 BSPC Design Observations (cont.) –The number of single field filters matching a given packet is typically five or less –The number of single field values is significantly less than the number of overall filters

6 6 Overall Architecture of B2PC TableII type 12bit flowID BLH1-4 HSH_TBLindex IP_BLH1-2PR_BLH1-2 TreeBitmap 256-entry directly index

7 7 Hash Function BLH1 = (SIP>>4) xor REV(DIP>>2) xor (SPO<<4) xor (DPO>>3) xor (PRO<<3) BLH2 = SIP xor (DIP >2) xor REV(DPO) xor PRO BLH3 = (SIP<<3) xor REV(DIP) xor REV(SPO) xor DPO xor (PRO<<6) BLH4 = REV(SIP) xor (DIP >3) xor (DPO >2) HSH_TBLindex = (BLH1,00) xor (00,BLH2>>4) xor (00,BLH3) xor (00,REV(BLH4)) IP_BLH1 = { SIP(6:11) xor DIP(0:5), SIP(0:5) xor DIP(6:11) } IP_BLH2 = { SIP(0:5) xor DIP(6:11), SIP(6:11) xor DIP(0:5) } PR_BLH1 = SPO xor (DPO<<2) PR_BLH2 = (SPO<<2) xor REV(DPO)

8 8 Internally Represented Filters In order to reduce the memory we take advantage of the fact that many rules share the same field values. Side-effect of ID sharing scheme is that a certain internal-ID cannot be deleted unless all the rules employing it are deleted. –Keep a reference count for each internal ID –We need 4K 12-bit counters for each field –Total we need 5 x 4096 12-bit counters

9 9 Example Filter Set

10 10 Internal Representation of The Example Filter Set

11 11 Combining Results Number of matching prefixes and the associated IDs –Prefix-based at most 33 matches each –Port fields may provide at most 17 matches –Protocol at most 2 matches Match on the value itself or the wildcard

12 12 Incoming Packet Header Fields Decreasing length order Real-world less than five Total perm = 3*2*1*3*2 = 36

13 13 Set Membership Queries with Bloom Filters How to identify that a permutation belongs to the given set of rules –Sequential access to the rule table is slow –Efficiently represent a given ruleset and support quick set membership queries is need The main advantage of Bloom Filters –Easily be implemented in hardware while supporting set- membership queries at high rates Disadvantage of bloom filters –False-positive error

14 14 Set Membership Queries with Bloom Filters (cont.) Parameters of bloom filters –Bit vector is 2 14 bits wide –The optimal number of hashing functions that set this vector is 4 –Theoretical false positive probability of 6.2% Efficiently support incremental updates –Counting Bloom Filters

15 15 Flow ID Resolving A match in a set-membership query we should first determine whether it is a false positive To locate the FlowID we use HSH_TBL of 16k entries Have the FlowID we access the RULE_TBL, and compare the stored IDs with the IDs of the current permutation –All IDs match, we have found the final result

16 16 Improving the Efficiency of Set Membership Query To avoid these useless queries we have used two additional Bloom Filters If they both provide a match then we query the “Main” Bloom Filter

17 17 Parallel Bloom Filter Queries

18 18 Number of References in Bloom Filters

19 19 Observed False Positives Rate

20 20 Hash Table Collisions (HSH_TBLindex)

21 21 B2PC Components Memory Requirements 36-bit wide memory word

22 22 Total Number of Average Memory Accesses in B2PC

23 23 Worst Case Network Performance of B2PC (40 Bytes packets)

24 24 Summary of Classification Schemes

25 25 Bloom Filter

26 26 Mask

27 27 Number of Memory Access in P2BC Data Structures

28 28 B2PC Silicon Cost


Download ppt "1 Memory-Efficient 5D Packet Classification At 40 Gbps Authors: Ioannis Papaefstathiou, and Vassilis Papaefstathiou Publisher: IEEE INFOCOM 2007 Presenter:"

Similar presentations


Ads by Google