View
218
Download
0
Category
Tags:
Preview:
Citation preview
Name Lookup in Named Data Networking(NDN)
Bin Liu
Email: liub@tsinghua.edu.cn
Dept of Computer Science and TechnologyTsinghua University
Dec 7,2013
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN—— 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.
Name Lookup in NDN HotICN——Introduction: NDN
Namelookup
Naming in NDN An NDN name is hierarchically structured and composed of
explicitly delimited components
/cn/edu/tsinghua/cs/s-router/~liubin/research/papers
cn edu tsinghua
Interest and Data Packets in NDN
cs s-router ~liubin research papers
6/30
Interest Packet
Data Packet
Client
Content ProviderContent Store
Replica
Name-based forwarding/routing In-network caching Multi-path transmission/delivery
——Introduction: NDN Namelookup
Name Lookup in NDN HotICN——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.
Name Lookup in NDN HotICN——Introduction: NDN
Namelookup
Three kinds of tables in an NDN router, each has different function
Name Lookup in NDN HotICN——Introduction: NDN
Namelookup
Packet Forwarding Process
Name Lookup in NDN HotICN——Introduction: NDN Namelookup
Two High-level Requirements for NDN Name Lookup:
1) Longest name Prefix Matching(LPM)
2) Strict latency requirement (<100us)
T
Name Lookup in NDN HotICN——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
Name Lookup in NDN HotICN——Introduction: NDN
Namelookup
Backbone IP Table Size Number of Active Web-site Worldwide
400k Prefixes
100M Active Domain Names
Name tables could be 2~3 orders of magnitude larger than IP lookup table
Name Lookup in NDN HotICN——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)
Name Lookup in NDN HotICN——Introduction: NDN
Namelookup
IPv4 Prefixes Name Prefixes
203.84.197.*/24 /com/yahoo/news
74.125.*.*/16 /com/google/news
166.111.4.*/24 /cn/edu/tsinghua/cs/s-router/wy/papers
123.196.117.*/24 /cn/cae/www/html/main/col66
A quick comparison between IP lookup table and NAME lookup table
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN
——Namelookup Evaluation Criteria
1. Throughout Wire speed lookup (100Gbs_GE, 160Gbps_OC-3072) Gbps MSPS(Million Search per Second)
2. Memory efficiency hundreds of millions of entries each entry has tens, even hundreds of characters
3. Update network topology changes and routing policy modifications one new type of FIB updates----contents published/deleted
4. Search latency (< 100us)
5. Scalability
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN—NSDI’13: Algorithm & Data Structure
Character Trie Two-Dimensional State Transition Table (STT)
Name Table/a/bc//ab/c/a//ab/
06
2 3
71
8
4
9
5a
b
/cb/
/ c /Character Trie
… / … a b c …0 11 2 62 33 44 556 77 88 99…
Name Lookup in NDN HotICN—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
Name Lookup in NDN HotICN—NSDI’13: Algorithm & Data Structure
STT Address Transition… …
1045 /,10011046 /,1003
… …1096 b,9991097 a,9981098 /,9971099 b,10021100 /,10041101 c,10511102 c,1053… …
1000
999
… / … a b c …0 11 2 62 33 44 55…
Aligned Transition Array
1000+a=1097
Aligned Transition Array (ATA) to compress STT
offset + character’s ASCII code
999+b=1097
998
998+b=1096
Name Lookup in NDN HotICN—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
Name Lookup in NDN HotICN—NSDI’13: Algorithm & Data Structure
Multiple Stride Character Trie
Name Table/a/bc//ab/c/a//ab/
4
1 2
50
6
3
ab
/bca/
/ c/2-stride Character Trie
ATAAddress Transitio
n01 a/,……
24879 ab,……
“a/” = 24879
d-stride character trie, every state may have 28d transitions at most.
ATA cannot support multiple Stride Character Trie
Name Lookup in NDN HotICN—NSDI’13: Algorithm & Data Structure
Multiple Stride Character Trie
Name Table/a/bc//ab/c/a//ab/
4
1 2
50
6
3
ab
/bca/
/ c/2-stride Character Trie
Address Transition
012 bc,…
Multi-ATAAddress Transitio
n01 a/,…23 ab,…456
“a/” Mod 7=1
“ab” Mod 7=3
“bc” Mod 7=1
“bc” Mod 3=2
Name Lookup in NDN HotICN—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
Name Lookup in NDN HotICN—NSDI’13: Name Lookup Engine
Implementation
Name Table
CharacterTrie
Aligned Transition
Array
Update Forwarding
CPU
Name Lookup Engine
Name Trace
PCIe
PCIe
GPU
NVIDIA GeForce GTX590 GPU board
Name Lookup in NDN HotICN—NSDI’13: Latency Optimization
Name Table
CharacterTrie
Aligned Transition
Array
Update Forwarding
CPU
Name Lookup Engine
Name Trace
PCIe
PCIe
GPU
Name Batch
A
B
Name Lookup in NDN HotICN——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
Name Lookup in NDN HotICN——NSDI’13: Experimental
Results
Memory Space 3M name table
ATA vs STT: 101× MATA vs STT: 130 ×
10M name table ATA vs STT: 102× MATA vs STT: 142×
Name Lookup in NDN HotICN——NSDI’13: Experimental
Results
Lookup Speed (Million Searches per Second, MSPS) 10M, Average Workload 10M, Heavy Workload
Name Lookup in NDN HotICN——NSDI’13: Experimental
Results
Scalability Lookup speed Memory Latency
Name Lookup in NDN HotICN——NSDI’13: Experimental
Results
Update
More than 30K insertion per second
Nearly 600K deletion per second
Name Lookup in NDN HotICN
——NSDI’13: Conclusion
1. MATA is proposed to compress memory space and improve name lookup speed
2. Implement a wire speed name lookup engine based on a commodity PC installed with a GTX590 GPU board
3. Extensive experiments demonstrate: Name lookup speed: 63.52 MSPS,>127 Gbps wire-speed Latency: <100us Memory: compress >140× Good Scalability
Open Website: http//www.namelookup.org
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN—INFOCOM2013_NameFilter:Algorithm & Data Structure
NameFilter: Basic FrameworkFirst Stage: Bloom filters for ascertaining
the prefix length of a name
/com/google/maps/…/
prefixes:
name:
Bloom filters:
…
1-th 2-th 3-th B-th
…
…Match Vector:
Second Stage: Hash Table for ascertaining forwarding ports
/com/google/maps/prefix:
Prefix Next Ports List
…
Prefix Hash Table:
Next Port
prefix: /com/google/maps/
[5] Sarang Dharmapurikar, P. Krishnamurthy, and D. E. Taylor, “Longest prefix matching using bloom filters,” in Proceedings of ACM SIMCOMM’03, 2003.
Name Lookup in NDN HotICN—NameFilter:Algorithm & Data Structure
NameFilter: Improved FrameworkFirst Stage: Bloom Filters for ascertaining
the prefix length of a name
/com/google/maps/…/
prefixes:
name:
Bloom filters:
…
1-th 2-th 3-th w-th
…
…Match Vector:
Second Stage: Merged Bloom Filters for ascertaining forwarding port(s)
/com/google/maps/prefix:
…
Merged Bloom Filters:
Next Ports
Name Lookup in NDN HotICN—NameFilter: Algorithm & Data Structure
NameFilter: Improved Framework Merged Bloom Filter
1 0 0 1 0 1 1 1 0 0 0 0 1
1 0 1 0 1 1 0 0 0 1 0 0 1
1-th Bloom filter:
11..100..001..110..000..111..110..010..000..001..100..001..011..1
Hash functions (prefix) Hash functions (prefix)
11..1 & 11..1 & 10..0 & 11..1 => 10..0
Hash functions (prefix)
N-th Bloom filter:
Mergeand
Transpose1 0 0 1 0 1 1 1 0 0 0 0 12-th
Bloom filter:
Hash functions (prefix)
…
Merged Bloom filter:
Memory access times is reduced from k to 1
Name Lookup in NDN HotICN——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
Name Lookup in NDN HotICN——NameFilter: Experimental
Results
Lookup Speed (Million Searches per Second, MSPS) One processing thread
NameFilter: 16× of Character Trie 1.8× of Bloomhash
Name Lookup in NDN HotICN——NameFilter: Experimental
Results
Lookup Speed (Million Searches per Second, MSPS) 24 processing threads
NameFilter 11.7× of Character Trie
Name Lookup in NDN HotICN——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.
Name Lookup in NDN HotICN——NameFilter: Experimental
Results
Scalability Lookup speed Memory
Name Lookup in NDN HotICN——NameFilter: Experimental
Results
Update
More than 3M insertion per second
Nearly 3.4M deletion per second
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN—Component Coding : Algorithm & Data Structure
/com/google/map/china
/10/10/0
The idea of Name Component Encoding (NCE)
Name Lookup in NDN HotICN—Component Coding : Algorithm & Data Structure
1
2
9
3
7
A
D
com
cn
4
5
8
B
E
yahoo
baidu
google maps
map
news
maps
maps
6uk
level-1 level-5level-2 level-4level-3
Csina
Name Pointer/com/yahoo …/com/yahoo/news …/com/yahoo/maps/uk …/com/google …/com/google/maps …/cn/google/maps …/cn/sina …/cn/baidu …/cn/baidu/map …
< 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>
Name Lookup in NDN HotICN—Component Coding : Algorithm & Data Structure
Global-Code Allocation Mechanism
Name Lookup in NDN HotICN—Component Coding : Algorithm & Data Structure
Local-Code Allocation Mechanism
Name Lookup in NDN HotICN
—Component Coding: Implementation
GPU-based Implementation
Name Lookup in NDN HotICN
—Component Coding: Experimental Results
Experimental Result: Memory
Name
Table
Average Name Length
TCT
(MByte)
# of total
Comp.
# of unique Comp.
NCE (MByte)Comress
Ratio
(TCT vs. NCE)
CHT OSTA 总数
3M 21.27 370.87 6223396250570
660.14 60.72
120.86
67.41%
10M 24.481310.0
21263789
4775676
2186.16 343.47
529.63
59.57%
Name Lookup in NDN HotICN
—Component Coding: Experimental Results
Experimental Result: Throughput
Name Lookup in NDN HotICN
—Component Coding: Experimental Results
Experimental Result: Update Compared to MATA
Insertion speed: 30× Deletion speed: 1.8×
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN—CCNx/hashing: Algorithm & Data Structure
CCNx applies hash table to construct the FIB Lookup process in CCNx
Generates all candidate prefixes of a name Sorts all candidate prefixes in a descendent order Looks up each candidate prefix against the hash table
Name Lookup in NDN HotICN
—CCNx/hashing: Comments and Further Work
Comments: The name search speed in CCNx is much slow; The name lookup in CCNx prototype is basically for the
demonstration purpose
Future Improvements: Improve hash table lookup speed: perfect hash table Compress hash table to reduce memory consumption
[1] Yi Wang, Dongzhe Tai, Ting Zhang, Jianyuan Lu, BoyangXu, Huichen Dai and Bin Liu. Greedy Name Lookup for Named Data Networking. Sigmetrics 2013 Poster.
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN
—NDN Namelookup TestBench
Name Lookup in NDN HotICN
——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
Name Lookup in NDN HotICN
——Conclusion
1. Name Lookup is a complex search work
2. We have conducted several Name lookup Algorithms and Data Structures to achieve inspiring results
3. Our results are much better than the ones in CCNx prototype
4. The experimental results demonstrate the feasibility towards building high speed NDN routers
5. Name Lookup is also widely used in a broad range of technological fields
Name Lookup in NDN HotICN
——Future Work
1. Larger scale datasets/traces experiments
2. Improving the TestBench
3. Extending the lookup core engine to a whole router
system to examine the performance
4. Improvements on Algorithms and Data Structures
Name Lookup in NDN HotICN
Thank you!
Q & A
Recommended