1 / 28

Memory-Efficient 5D Packet Classification At 40 Gbps

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. Outline. Introduction BSPC Design Simulation Results. Introduction.

vaughn
Download Presentation

Memory-Efficient 5D Packet Classification At 40 Gbps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Outline • Introduction • BSPC Design • Simulation Results

  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 searchingscheme[11]

  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. 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. Overall Architecture of B2PC 256-entry directly index TreeBitmap IP_BLH1-2 PR_BLH1-2 HSH_TBLindex BLH1-4 12bit flowID TableII type

  7. Hash Function 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) BLH1 = (SIP>>4) xor REV(DIP>>2) xor (SPO<<4) xor (DPO>>3) xor (PRO<<3) BLH2 = SIP xor (DIP<<6) xor (SPO>>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 (SPO>>3) xor (DPO<<1) xor (PRO>>2) HSH_TBLindex = (BLH1,00) xor (00,BLH2>>4) xor (00,BLH3) xor (00,REV(BLH4))

  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. Example Filter Set

  10. Internal Representation of The Example Filter Set

  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. Incoming Packet Header Fields Decreasing length order Real-world less than five Totalperm= 3*2*1*3*2 = 36

  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. Set Membership Queries with Bloom Filters (cont.) • Parameters of bloom filters • Bit vector is 214 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. 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. 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. Parallel Bloom Filter Queries

  18. Number of References in Bloom Filters

  19. Observed False Positives Rate

  20. Hash Table Collisions (HSH_TBLindex)

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

  22. Total Number of Average Memory Accesses in B2PC

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

  24. Summary of Classification Schemes

  25. Bloom Filter

  26. Mask

  27. Number of Memory Access in P2BC Data Structures

  28. B2PC Silicon Cost

More Related