1 / 60

Name Lookup in Named Data Networking(NDN)

Name Lookup in Named Data Networking(NDN). Bin Liu. Dept of Computer Science and Technology Tsinghua University. Email: liub@tsinghua.edu.cn. Dec 7,2013. ——Outline. 1. Introduction to NDN Name Lookup 2. Name Lookup Evaluation Criteria 3. Name Lookup: Algorithms and Data Structure

debra
Télécharger la présentation

Name Lookup in Named Data Networking(NDN)

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. Name Lookup in Named Data Networking(NDN) Bin Liu Dept of Computer Science and Technology Tsinghua University Email: liub@tsinghua.edu.cn Dec 7,2013

  2. ——Outline 1. Introduction to NDN Name Lookup 2. Name Lookup Evaluation Criteria 3. Name Lookup: Algorithms and Data Structure ---NSDI’13 ---INFOCOM2013 ---ICDCS2012+Computer Networks’13 ---CCNx/Hashing 4. NDN Name Lookup TestBench 5. Conclusion and Future Work

  3. ——Outline 1. Introduction to NDN Name Lookup 2. Name Lookup Evaluation Criteria 3. Name Lookup: Algorithms and Data Structure ---NSDI’13 ---INFOCOM2013 ---ICDCS2013+Computer Networks’13 ---CCNx/Hashing 4. NDN Name Lookup TestBench 5. Conclusion and Future Work

  4. —— Introduction: NDN Namelookup • Named Data Networking (NDN) • Named Data Networking is proposed recently as the clean-slate network architecture for future Internet, which no longer concentrates on “where” the information is located, but “what” the information (content) is needed. • NDN uses names to identify every piece of contents instead of IP addresses for hardware devices attached to IP network.

  5. ——Introduction: NDN Namelookup • Naming in NDN • An NDN name is hierarchically structured and composed of explicitly delimited components • Interest and Data Packets in NDN • /cn/edu/tsinghua/cs/s-router/~liubin/research/papers ~liubin research papers cs cn edu tsinghua s-router

  6. ——Introduction: NDN Namelookup • Name-based forwarding/routing • In-network caching • Multi-path transmission/delivery Interest Packet Data Packet Replica Client Content Store Content Provider 6/30

  7. ——Introduction: NDN Namelookup • A forwarding table consists of name prefixes. • A core challenge and enabling technique in implementing NDN is exactly to perform name lookup for packet forwarding at wire speed.

  8. ——Introduction: NDN Namelookup • Three kinds of tables in an NDN router, each has different function

  9. ——Introduction: NDN Namelookup • Packet Forwarding Process

  10. ——Introduction: NDN Namelookup • Two High-level Requirements for NDN Name Lookup: 1) Longest name Prefix Matching(LPM) 2) Strict latency requirement (<100us) T

  11. ——Introduction: NDN Namelookup • The detailed challenges of name lookup • Complex name structure 1) consists of digits and characters; 2) variable length name; 3) without an externally imposed upper bound. • The large-scale name table

  12. ——Introduction: NDN Namelookup 400k Prefixes 100M Active Domain Names Number of Active Web-site Worldwide Backbone IP Table Size Name tables could be 2~3 orders of magnitude larger thanIP lookup table

  13. ——Introduction: NDN Namelookup • The detailed challenges of name lookup • Complex name structure 1) consists of digits and characters; 2) variable length name; 3) without an externally imposed upper bound. • The large-scale name table (2~3 orders larger ) • Frequently update • Wire Speed (100Gbps Ethernet, OC-3072)

  14. ——Introduction: NDN Namelookup A quick comparisonbetween IP lookup table and NAME lookup table

  15. ——Outline 1. Introduction to NDN Name Lookup 2. Name Lookup Evaluation Criteria 3. Name Lookup: Algorithms and Data Structure ---NSDI’13 ---INFOCOM2013 ---ICDCS2013+Computer Networks’13 ---CCNx/Hashing 4. NDN Name Lookup TestBench 5. Conclusion and Future Work

  16. ——NamelookupEvaluation Criteria • Throughout • Wire speed lookup (100Gbs_GE, 160Gbps_OC-3072) • Gbps • MSPS(Million Search per Second) • Memory efficiency • hundreds of millions of entries • each entry has tens, even hundreds of characters • Update • network topology changes and routing policy modifications • one new type of FIB updates----contents published/deleted • Search latency (< 100us) • Scalability

  17. ——Outline 1. Introduction to NDN Name Lookup 2. Name Lookup Evaluation Criteria 3. Name Lookup: Algorithms and Data Structure ---NSDI’13 ---INFOCOM2013 ---ICDCS2012+Computer Networks’13 ---CCNx/Hashing 4. NDN Name Lookup TestBench 5. Conclusion and Future Work

  18. —NSDI’13: Algorithm & Data Structure Two-Dimensional State Transition Table (STT) • Character Trie Name Table b c / / 2 3 4 5 a 0 1 b 6 7 8 9 / c / Character Trie

  19. —NSDI’13: Algorithm & Data Structure • Two-Dimensional State Transition Table (STT) • Advantage • Easy to build • Fast speed: One State Transition needs one memory access only • Disadvantage • Too much memory required to be implemented

  20. —NSDI’13: Algorithm & Data Structure • Aligned Transition Array (ATA) to compress STT Aligned Transition Array STT 1000 998 999 998+b=1096 999+b=1097 1000+a=1097 offset + character’s ASCII code

  21. —NSDI’13: Algorithm & Data Structure • ATA • Advantage • Keep fast speed: one state transition needs one memory access • Low memory space • Disadvantage • Building speed is too slow for large-scale name table • Cannot support incremental updates

  22. —NSDI’13: Algorithm & Data Structure ATA Multiple Stride Character Trie Name Table “a/” = 24879 d-stride character trie, every state may have 28dtransitions at most. bc / a/ 1 2 3 0 ab 4 5 6 / c/ 2-stride Character Trie ATA cannot support multiple Stride Character Trie

  23. —NSDI’13: Algorithm & Data Structure Multi-ATA Multiple Stride Character Trie Name Table “a/” Mod 7=1 “bc” Mod 7=1 “bc” Mod 3=2 bc / a/ 1 2 3 0 ab 4 5 6 / c/ “ab” Mod 7=3 2-stride Character Trie

  24. —NSDI’13: Algorithm & Data Structure • MATA • Advantage • Improve lookup throughput: one state transition consumes multiple characters, and each state transition requires only one memory access • Further compress memory space • Small ATAs in MATA are easier to build and manage • Support fast incremental update

  25. —NSDI’13: Name Lookup Engine Implementation Name Trace Name Table NVIDIA GeForce GTX590 GPU board GPU Aligned Transition Array PCIe Character Trie PCIe Forwarding Update CPU Name Lookup Engine

  26. —NSDI’13: Latency Optimization Name Trace Name Table Name Batch GPU Aligned Transition Array PCIe Character Trie A PCIe Forwarding Update B CPU Name Lookup Engine

  27. ——NSDI’13: Experimental Results • Platform: A commodity PC • Name Table • Download from DMOZ website: 3M • Crawl from Internet: 10M • Name Trace • Average workload: random name prefix + suffix • Heavy workload: the longest 10% name prefix + suffix

  28. ——NSDI’13: Experimental Results • Memory Space • 3M name table • ATA vs STT: 101× • MATA vs STT: 130 × • 10M name table • ATA vsSTT: 102× • MATA vsSTT: 142×

  29. ——NSDI’13: Experimental Results • Lookup Speed (Million Searches per Second, MSPS) • 10M, Average Workload • 10M, Heavy Workload

  30. ——NSDI’13: Experimental Results • Scalability • Lookup speed • Memory • Latency

  31. ——NSDI’13: Experimental Results • Update Nearly 600K deletion per second More than 30K insertion per second

  32. ——NSDI’13: Conclusion • MATA is proposed to compress memory space and improve name lookup speed • Implement a wire speed name lookup engine based on a commodity PC installed with a GTX590 GPU board • Extensive experiments demonstrate: • Name lookup speed: 63.52 MSPS,>127 Gbpswire-speed • Latency: <100us • Memory: compress >140× • Good Scalability Open Website: http//www.namelookup.org

  33. ——Outline 1. Introduction to NDN Name Lookup 2. Name Lookup Evaluation Criteria 3. Name Lookup: Algorithms and Data Structure ---NSDI’13 ---INFOCOM2013 ---ICDCS2012+Computer Networks’13 ---CCNx/Hashing 4. NDN Name Lookup TestBench 5. Conclusion and Future Work

  34. —INFOCOM2013_NameFilter:Algorithm & Data Structure [5] SarangDharmapurikar, P. Krishnamurthy, and D. E. Taylor, “Longest prefix matching using bloom filters,” in Proceedings of ACM SIMCOMM’03, 2003. • NameFilter: Basic Framework First Stage: Bloom filters for ascertaining the prefix length of a name Second Stage: Hash Table for ascertaining forwarding ports /com/google/maps/ name: prefix: /com/google/maps/…/ /com/google/maps/ prefix: prefixes: … Prefix Hash Table: 1-th B-th 2-th 3-th … … Bloom filters: Next Port … Match Vector:

  35. —NameFilter:Algorithm & Data Structure • NameFilter: Improved Framework First Stage: Bloom Filters for ascertaining the prefix length of a name Second Stage: Merged Bloom Filters for ascertaining forwarding port(s) name: /com/google/maps/…/ prefix: /com/google/maps/ prefixes: … Merged Bloom Filters: 1-th w-th 2-th 3-th … … Bloom filters: … Next Ports Match Vector:

  36. —NameFilter: Algorithm & Data Structure • NameFilter: Improved Framework • Merged Bloom Filter Merged Bloom filter: Hash functions (prefix) 1-th Bloom filter: Hash functions (prefix) Merge and Transpose Hash functions (prefix) 2-th Bloom filter: … N-th Bloom filter: Hash functions (prefix) Memory access times is reduced from k to 1 11..1 & 11..1 & 10..0 & 11..1 => 10..0

  37. ——NameFilter: Experimental Results • Platform: A commodity PC • Name Table • Download from DMOZ website: 3M • Crawl from Internet: 10M • Name Trace • Average workload: random name prefix + suffix • Heavy workload: the longest 10% name prefix + suffix

  38. ——NameFilter: Experimental Results • Lookup Speed (Million Searches per Second, MSPS) • One processing thread • NameFilter: 16× of Character Trie • 1.8× of Bloomhash

  39. ——NameFilter: Experimental Results • Lookup Speed (Million Searches per Second, MSPS) • 24 processing threads • NameFilter11.7× of Character Trie

  40. ——NameFilter: Experimental Results • Memory Space • Compared with Character Trie, NameFilter saves more than 77% memory space. • Compared with BloomHash, NameFilter saves more than 65% memory space.

  41. ——NameFilter: Experimental Results • Scalability • Lookup speed • Memory

  42. ——NameFilter: Experimental Results • Update Nearly 3.4M deletion per second More than 3M insertion per second

  43. ——Outline 1. Introduction to NDN Name Lookup 2. Name Lookup Evaluation Criteria 3. Name Lookup: Algorithms and Data Structure ---NSDI’13 ---INFOCOM2013 ---ICDCS2012+Computer Networks’13 ---CCNx/Hashing 4. NDN Name Lookup TestBench 5. Conclusion and Future Work

  44. —Component Coding : Algorithm & Data Structure • The idea of Name ComponentEncoding (NCE) /com/google/map/china /10/10/0

  45. —Component Coding : Algorithm & Data Structure level-1 level-2 level-3 level-4 level-5 news 4 yahoo 3 uk 5 6 maps 2 maps com google 7 8 1 maps google A B cn sina 9 C map baidu D E < yahoo,1> <google, 2> <baidu,1> <sina, 2> <google, 3> <baidu,1> <google, 2> <google, 3> <sina, 3> <yahoo, 1> <baidu,1> <google, 4> <sina, 3> <yahoo, 1>

  46. —Component Coding : Algorithm & Data Structure • Global-Code Allocation Mechanism

  47. —Component Coding : Algorithm & Data Structure • Local-Code Allocation Mechanism

  48. —Component Coding:Implementation • GPU-based Implementation

  49. —Component Coding:Experimental Results • Experimental Result: Memory

  50. —Component Coding:Experimental Results • Experimental Result: Throughput

More Related