Presentation is loading. Please wait.

Presentation is loading. Please wait.

Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.

Similar presentations


Presentation on theme: "Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr."— Presentation transcript:

1

2 Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Lecture 8: Trie-based lookup

3 Univ. of TehranAdv. topics in Computer Network2 Trie Based Methods Trie or radix tree is a data structure in which each data element is represented by the path to the leaf and no. of internal nodes are the no. of alphabet. Two branching. Black node in the leaves represent next hops

4 Univ. of TehranAdv. topics in Computer Network3 Trie Based Methods (cont) Trie has been the base of many methods. There are two main problems with trie: The blank nodes do not correspond to any data element in the lookup table. The number of branching is small, 2. Both of these add to the height of trie, waste memory and prolong the search time. The Max search time is proportional to string length or O(32) for IPv4 and O(128) for IPv6.

5 Univ. of TehranAdv. topics in Computer Network4 Trie Based Methods (cont) Trie based schemes try to reduce the memory usage and shorten the trie height and expedite the search time. In the worst case, the memory usage can be O(NL) where N is number of prefixes and L is their length.  Compressed Trie: The idea is to eliminate blank node as much as possible. Patricia trie compress the path from root to the leaf.

6 Univ. of TehranAdv. topics in Computer Network5 Trie Based Methods (cont) An Example: The information of skipped bits can be kept in links Max memory usages is O(2N) The worst case search is again O(NL).

7 Univ. of TehranAdv. topics in Computer Network6 Trie Based Methods (cont)  Dynamic Prefix Trie (DP-Trie) Introduced by IBM research center in Zurich. the idea is to I) Eliminate the blank nodes completely II) Push common prefixes upper. III) To Make the height proportional to the # of prefixes than prefix lengths. IV) Compare more bits as much as possible. They introduce a specific data structure each node having the following fields.

8 Univ. of TehranAdv. topics in Computer Network7 Trie Based Methods (cont) 1. Index: differentiating bit position. 2. LeftKey and RightKey: Prefixes with leftKey[Index]=0 RightKey[Index]=1. The trie is build dynamically. Example: {1000100, 1001, 10, 1111, 11} First the trie is empty. Then, 1000100 is inserted. A node is allocated.

9 Univ. of TehranAdv. topics in Computer Network8 Trie Based Methods (cont) 6 in the first implies the differentiating bit is 6 th. In the second node, 1001 is inserted. The differentiating bit is 3th. 10 inserted. Index is 1. New node is allocated.

10 Univ. of TehranAdv. topics in Computer Network9 Trie Based Methods (cont) And the final trie with those elements is:

11 Univ. of TehranAdv. topics in Computer Network10 Trie Based Methods (cont) Problems:  Two way branching.  Too much overhead for each node. What is next?

12 Univ. of TehranAdv. topics in Computer Network11 Trie Based Methods (cont)  Controlled Prefix Expansion the idea is to compare more bits at the same time. (reduce the height of trie) Reduce prefixes with N distinct lengths to equivalent prefixes of M (M<N) lengths.  Expansion: Expand Prefix P of length L into two Prefixes P0 and P1 of lengths L+1.  Reduction: delete any repeated prefix. Indeed, this method compress few level together and use extra memory to reduce trie height.

13 Univ. of TehranAdv. topics in Computer Network12 Trie Based Methods (cont) Example: The same data set Expand length 1 -> 2. Then, 00, 01, 10, 11 P5, P5, P1, P4 Final lengths are 2, 5 and 7. Reduce the search time from 7 to 3.

14 Univ. of TehranAdv. topics in Computer Network13 Trie Based Methods (cont)  Problem: Extra memory usage.  Solution: Optimize the memory usage. Pick stride s for root and recursively solve the covering problem for the subtrees rooted at Trie level s+1 using k-1 level The dynamic programming method can be used to build the data structure bottom up with all values of K. Insertion?

15 Univ. of TehranAdv. topics in Computer Network14 Trie Based Methods (cont)  Level Compress Trie LC-trie the idea is the same as the previous one, to compare more bits at the same time. Few levels are compress together.

16 Univ. of TehranAdv. topics in Computer Network15 Trie Based Methods (cont) LC-trie reduces the height of trie in the expense of memory usage. In order to have better memory utilization, it uses Greedy algorithm and compress the part which is more populated. In each level, we have to keep all possible combination like 000, 001, 010, etc.

17 Univ. of TehranAdv. topics in Computer Network16 Trie Based Methods (cont) Problems With expansion methods. 1. Insertion may need to reconstruct the trie. 2. Not scaleable to IPv6. Problems with LC-trie: 1. It uses greedy algorithm and optimize memory locally, the final memory utilization may not be good. 2. Higher trie height and skip count compression leads to slower search times. The Controlled Prefix Expansion method uses the same technique but, try to globally optimize memory usage.


Download ppt "Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr."

Similar presentations


Ads by Google