Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Understanding DPDK algorithmics

9,584 views

Published on

Fast lookup algorithms implemented inside DPDK libraries

Published in: Software
  • Hi there! I just wanted to share a list of sites that helped me a lot during my studies: .................................................................................................................................... www.EssayWrite.best - Write an essay .................................................................................................................................... www.LitReview.xyz - Summary of books .................................................................................................................................... www.Coursework.best - Online coursework .................................................................................................................................... www.Dissertations.me - proquest dissertations .................................................................................................................................... www.ReMovie.club - Movies reviews .................................................................................................................................... www.WebSlides.vip - Best powerpoint presentations .................................................................................................................................... www.WritePaper.info - Write a research paper .................................................................................................................................... www.EddyHelp.com - Homework help online .................................................................................................................................... www.MyResumeHelp.net - Professional resume writing service .................................................................................................................................. www.HelpWriting.net - Help with writing any papers ......................................................................................................................................... Save so as not to lose
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hi, I was wondering if threre's a finished version of this presentation / recording of a talk. I'm trying to understand the implications of the current DPDK's ACL library implementation but other than this presentation, two unanswered questions on the mailing list, and the source code there're not resources about how the ACL library works under the hood.
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Understanding DPDK algorithmics

  1. 1. Understanding DPDK algorithmics Fast lookup algorithms implemented inside DPDK libraries
  2. 2. HASH library Used in FDB, IPv4 and IPv6 HOST tables
  3. 3. DPDK Hash library characteristics Algorithm used is a modified Cuckoo hashing Hash size is 32 bytes Optimistic memory access time is 1 Pessimistic memory access time is 2 With random keys, this method allows the user to get around 90% of the table utilization, without having to drop any stored entry or allocate more memory. Big table is divided in many buckets Cuckoo hashing algorithm is used to find another bucket
  4. 4. Cuckoo hashing collision resolution x y New value = x, Old value = y h1(x) h2(y) Table 1 Table 2
  5. 5. Hash lookup example TBD
  6. 6. Hash insert example TBD
  7. 7. LPM library Used in IPv4 and IPv6 ROUTE tables
  8. 8. DPDK LPM library characteristics Uses modified DIR-24-8-BASIC algorithm TBL24 contains 224 next hop entries = 16M * 2B = 32MB Number of TBL8 could be up to 215 = 32K * 2B = 64K Next hop value points to next hop id in case of 24-bit or less prefix and to TBL8 table otherwise Route prefixes less than 24 are expanded into multiple entries inside TBL24 Number of prefixes longer than 24 is limited by the number of TBL8
  9. 9. Lookup algorithm 0 23 24 31 224 entries TBL24 28 entries TBL8 TBL8 28 entries Next hop? Next hop table yes no
  10. 10. LPM lookup example 192.168.1.1 192.168.2.1 192.168.1.2 192.168/16 ... 192.168/16 192.168/16 TBL8 TBL24 192.168/16 192.168/16 192.168/16 ... 192.168/16 Route entries: 192.168/16 192.168.1/24 192.168.1.1/32 192.168.1/24 192.168.1.1/32 192.168.1/24 192.168.1/24 192.168.1/24 TBL8 192.168.1/24 192.168.1/24 192.168.1/24 ... 192.168.1/24
  11. 11. LPM insert example TBD
  12. 12. ACL library Used in IPv4 and IPv6 ACL tables
  13. 13. DPDK ACL library characteristics Classification mechanisms: Scalar SSE AVX2 Based on multi-bit tries (stride = 8 = 256 bits = 4 bytes )
  14. 14. Multi-bit trie Root node (256 entries) Node2 (256 entries) Node1 (256 entries) Node3 (256 entries)
  15. 15. ACL lookup example TBD
  16. 16. References DPDK Programmer’s Guide Cuckoo Hashing Visualization Jenkins hash function Routing Lookups in Hardware at Memory Access Speeds High Performance Switches and Routers book MULTIBIT TRIES
  17. 17. My blog Learning Network Programming

×