1 / 16

Advanced topics in Computer Networks

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

maj
Download Presentation

Advanced topics in Computer Networks

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. Advanced topicsinComputer Networks Lecture 8: Trie-based lookup University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Adv. topics in Computer Network

  2. 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 Adv. topics in Computer Network

  3. 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. Adv. topics in Computer Network

  4. 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. Adv. topics in Computer Network

  5. 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). Adv. topics in Computer Network

  6. 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. Adv. topics in Computer Network

  7. Trie Based Methods (cont) • Index: differentiating bit position. • 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. Adv. topics in Computer Network

  8. Trie Based Methods (cont) 6 in the first implies the differentiating bit is 6th. In the second node, 1001 is inserted. The differentiating bit is 3th. 10 inserted. Index is 1. New node is allocated. Adv. topics in Computer Network

  9. Trie Based Methods (cont) And the final trie with those elements is: Adv. topics in Computer Network

  10. Trie Based Methods (cont) • Problems: • Two way branching. • Too much overhead for each node. What is next? Adv. topics in Computer Network

  11. 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. Adv. topics in Computer Network

  12. 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. Adv. topics in Computer Network

  13. 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? Adv. topics in Computer Network

  14. 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. Adv. topics in Computer Network

  15. 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. Adv. topics in Computer Network

  16. Trie Based Methods (cont) Problems With expansion methods. • Insertion may need to reconstruct the trie. • Not scaleable to IPv6. Problems with LC-trie: • It uses greedy algorithm and optimize memory locally, the final memory utilization may not be good. • 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. Adv. topics in Computer Network

More Related