Survey and Proposal on Binary Search Algorithms for Longest Prefix Match Author: Hyesook Lim,...

79
Survey and Proposal on Binary Search Algorithms for Longest Prefix Match Author: Hyesook Lim, Member, IEEE, and Nara Lee, Student Member, IEEE Publisher: IEEE COMMUNICATIONS SURVEYS & TUTORIALS Presenter: Yu Hao, Tzeng Date: 2012/10/03 1

Transcript of Survey and Proposal on Binary Search Algorithms for Longest Prefix Match Author: Hyesook Lim,...

  • Slide 1

Survey and Proposal on Binary Search Algorithms for Longest Prefix Match Author: Hyesook Lim, Member, IEEE, and Nara Lee, Student Member, IEEE Publisher: IEEE COMMUNICATIONS SURVEYS & TUTORIALS Presenter: Yu Hao, Tzeng Date: 2012/10/03 1 Slide 2 Outline Introdution Trie-based Algorithms Algorithms Performing Binary Search on Prefix Values Algorithms Performing Binary Search on Prefix Lengths Performance Conclusion 2 Slide 3 Introdution Describe various IP address lookup algorithms and compare the characteristics. Use a consistent example set to describe the data structure and the search procedure of each algorithm Evaluate each algorithm in terms of the minimum, worst-case, and average-case number of memory accesses, as well as memory requirements 3 Slide 4 Trie-based Algorithms Binary Trie (B-Trie) Path-Compressed Trie (PC-Trie) Priority Trie (P-Trie) 4 Slide 5 Trie-based Algorithms (Cont.) Binary Trie (B-Trie) Path-Compressed Trie (PC-Trie) Priority Trie (P-Trie) 5 Slide 6 Trie-based Algorithms (Cont.) Binary Trie (B-Trie) No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 6 Slide 7 Trie-based Algorithms (Cont.) Binary Trie (B-Trie) No.Prefix validLeft pointRight pointOutput port 0012- 1034- 21-5P2 31--P0 406-- 5078- 61--P1 70-9- 81-10P5 9111-P4 100-12- 110-13- 121--P6 131--P3 P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 7 Slide 8 Trie-based Algorithms (Cont.) Binary Trie (B-Trie) Example Input : 110100 Path : 0 -> 2 -> 5 -> 7 -> 9 -> 11 -> NULL Best matching prefix (BMP) : P2 -> P4 P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 8 Slide 9 Trie-based Algorithms (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High 9 Slide 10 Trie-based Algorithms (Cont.) Binary Trie (B-Trie) Path-Compressed Trie (PC-Trie) Priority Trie (P-Trie) 10 Slide 11 Trie-based Algorithms (Cont.) Path-Compressed Trie (PC-Trie) Use skip values to remove single-child empty internal nodes Remove a child pointer by converting the sub-trie of each node into a full trie P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 P1 0 12 346 78 912 P0 P2 P5P4 P3 P6 Skip 1 11 Slide 12 Trie-based Algorithms (Cont.) Path-Compressed Trie (PC-Trie) P1 0 12 346 78 912 P0 P2 P5P4 P3 P6 Skip 1 No. Prefix valid Skip value StringLength Next Point Output port 000*01- 1000*13- 2101*15P2 31000*2-P0 411010*3-P1 50----- 60011*27- 7111101*49P4 811111*311P5 911110101*6-P3 100----- 110----- 121011111*5-P6 12 Slide 13 Trie-based Algorithms (Cont.) Path-Compressed Trie (PC-Trie) References [7] P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 1 0 3 P0 4 P1 7 P3 8 P6 2 P2 6 P5 5 P4 1 2 3 54 No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* 13 Slide 14 Trie-based Algorithms (Cont.) Path-Compressed Trie (PC-Trie) References [7] 1 0 3 P0 4 P1 7 P3 8 P6 2 P2 6 P5 5 P4 1 2 3 54 No. Prefix valid Bit number String Left point Right point Output port 001*12- 1020*34- 2131*56P2 31-00*--P0 41-010*--P1 5151101*7-P4 614111*-8P5 71-110101*--P3 81-11111*--P6 14 Slide 15 Trie-based Algorithms (Cont.) Path-Compressed Trie (PC-Trie) References [7] Example Input : 110100 Path : 0 -> 2 -> 5 -> 7 BMP : P2 -> P4 1 0 3 P0 4 P1 7 P3 8 P6 2 P2 6 P5 5 P4 1 2 3 54 No. Prefix valid Bit number String Left point Right point Output port 001*12- 1020*34- 2131*56P2 31-00*--P0 41-010*--P1 5151101*7-P4 614111*-8P5 71-110101*--P3 81-11111*--P6 15 Slide 16 Trie-based Algorithms (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low 16 Slide 17 Trie-based Algorithms (Cont.) Binary Trie (B-Trie) Path-Compressed Trie (PC-Trie) Priority Trie (P-Trie) 17 Slide 18 Trie-based Algorithms (Cont.) Priority Trie (P-Trie) relocate the longest prefix belonging to the sub-trie of each empty internal node into the empty node to remove empty internal nodes in the binary trie P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 0 12 34 56 P0 P2 P5 P3 P1 P6 P4 18 Slide 19 Trie-based Algorithms (Cont.) Priority Trie (P-Trie) 0 12 34 56 P0 P2 P5 P3 P1 P6 P4 No. Priority / Ordinary PrefixLengthLeft pointRight point Output port 01110101*612P3 11010*33-P1 201*1-4P2 3000*2--P0 4111111*556P6 511101*4--P4 60111*3--P5 19 Slide 20 Trie-based Algorithms (Cont.) Priority Trie (P-Trie) Example Input : 110100 Path : 0 -> 2 -> 4 -> 5 BMP : P2 -> P4 0 12 34 56 P0 P2 P5 P3 P1 P6 P4 No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* 20 Slide 21 Trie-based Algorithms (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low 21 Slide 22 Algorithms Performing Binary Search on Prefix Values Binary Search on Range (BSR) Binary Search Tree (BST) Weighted Binary Search Tree (WBST) Binary Search Tree with Prefix Vector (BST-PV) Binary Search Tree with Switch Pointer (BST-SP) 22 Slide 23 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search on Range (BSR) Binary Search Tree (BST) Weighted Binary Search Tree (WBST) Binary Search Tree with Prefix Vector (BST-PV) Binary Search Tree with Switch Pointer (BST-SP) 23 Slide 24 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search on Range (BSR) No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* 24 Slide 25 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search on Range (BSR) ValueBMP (equivalence)BMP (greater-than) 000000P0 001111P0P1 010111P1- 100000P2 110100P4 110101P3P4 110111P4P5 111110P6 111111P6- 25 Slide 26 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search on Range (BSR) Example Input : 110100 BMP : P4 ValueBMP (equivalence)BMP (greater-than) 000000P0 001111P0P1 010111P1- 100000P2 110100P4 110101P3P4 110111P4P5 111110P6 111111P6- 26 Slide 27 Algorithms Performing Binary Search on Prefix Values (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low 27 Slide 28 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search on Range (BSR) Binary Search Tree (BST) Weighted Binary Search Tree (WBST) Binary Search Tree with Prefix Vector (BST-PV) Binary Search Tree with Switch Pointer (BST-SP) 28 Slide 29 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree (BST) 0 12 3 45 6 P2 P5 P1 P0 P4 P3 P6 No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* 29 Slide 30 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree (BST) 0 12 3 45 6 P2 P5 P1 P0 P4 P3 P6 No.PrefixLengthLeft pointerRight PointerOutput port 0010*312P1 100*2--P0 21*1-3P2 31101*445P4 4110101*6--P3 5111*3-6P5 611111*5--P6 30 Slide 31 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree (BST) Example Input : 110100 Path : 0 -> 2 -> 3 -> 4 BMP : P2 -> P4 0 12 3 45 6 P2 P5 P1 P0 P4 P3 P6 No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* 31 Slide 32 Algorithms Performing Binary Search on Prefix Values (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low 32 Slide 33 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search on Range (BSR) Binary Search Tree (BST) Weighted Binary Search Tree (WBST) Binary Search Tree with Prefix Vector (BST-PV) Binary Search Tree with Switch Pointer (BST-SP) 33 Slide 34 Algorithms Performing Binary Search on Prefix Values (Cont.) Weighted Binary Search Tree (WBST) Define the weight of a prefix, as the number of enclosed prefixes plus 1 PrefixWeight P01 P11 P25 34 Slide 35 Algorithms Performing Binary Search on Prefix Values (Cont.) Weighted Binary Search Tree (WBST) No.PrefixLengthLeft pointerRight PointerOutput port 01*112P2 100*2-3P0 21101*445P4 3010*3--P1 4110101*6--P3 5111*3-6P5 611111*5--P6 P5 0 12 345 6 P4 P2 P0 P1P3 P6 35 Slide 36 Algorithms Performing Binary Search on Prefix Values (Cont.) Weighted Binary Search Tree (WBST) Example Input : 110100 Path : 0 -> 2 -> 4 Output port : P2 -> P4 No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* P5 0 12 345 6 P4 P2 P0 P1P3 P6 36 Slide 37 Algorithms Performing Binary Search on Prefix Values (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low WBSTVery highHighMay or may not be low 37 Slide 38 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search on Range (BSR) Binary Search Tree (BST) Weighted Binary Search Tree (WBST) Binary Search Tree with Prefix Vector (BST-PV) Binary Search Tree with Switch Pointer (BST-SP) 38 Slide 39 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree with Prefix Vector (BST-PV) prefix vectors are constructed for each leaf prefix of the binary trie the leaf prefixes with a prefix vector are sorted in ascending order P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 PrefixLengthPrefix vector 00*2-P0---- 010*3--P1--- 110101*6P2--P4-P3 11111*5P2-P5-P6- 39 Slide 40 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree with Prefix Vector (BST-PV) prefix vectors are constructed for each leaf prefix of the binary trie the leaf prefixes with a prefix vector are sorted in ascending order PrefixLengthPrefix vector 00*2-P0---- 010*3--P1--- 110101*6P2--P4-P3 11111*5P2-P5-P6- 40 Slide 41 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree with Prefix Vector (BST-PV) Example Input : 110100 Path : 0 -> 1 BMP : P4 No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* 0 12 3 41 Slide 42 Algorithms Performing Binary Search on Prefix Values (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low WBSTVery highHighMay or may not be low BST-PVVery highLowVery low 42 Slide 43 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search on Range (BSR) Binary Search Tree (BST) Weighted Binary Search Tree (WBST) Binary Search Tree with Prefix Vector (BST-PV) Binary Search Tree with Switch Pointer (BST-SP) 43 Slide 44 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree with Switch Pointer (BST-SP) P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* P6 3 15 2 4 6 0 P5 P3 P1 P2 P4P0 44 Slide 45 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree with Switch Pointer (BST-SP) No.Prefix P000* P1010* P21* P3110101* P41101* P5111* P611111* P6 3 15 2 4 60 P5 P3 P1 P2 P4P0 No.PrefixLength Output port Switch pointer Enclosure length 000*1P0-0 1010*3P1-0 21*1P2-0 3110101*6P344 41101*4P421 5111*3P521 611111*5P653 45 Slide 46 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree with Switch Pointer (BST-SP) Search Best matching prefix (BMP) Best matching length (BML) Current matching enclosure length (CMEL) Switch pointer (SP) 46 Slide 47 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree with Switch Pointer (BST-SP) Example I Input : 110100 Statu #BMPBMLCMELSP 0Wildcard000 1 044 2 044 3P2144 P6 3 15 2 4 60 P5 P3 P1 P2 P4P0 No.PrefixLength Output port Switch pointer Enclosure length 000*1P0-0 1010*3P1-0 21*1P2-0 3110101*6P344 41101*4P421 5111*3P521 611111*5P653 47 Slide 48 Algorithms Performing Binary Search on Prefix Values (Cont.) Binary Search Tree with Switch Pointer (BST-SP) Example II Input : 111000 Statu #BMPBMLCMELSP 0Wildcard000 1 024 2P5324 P6 3 15 2 4 60 P5 P3 P1 P2 P4P0 No.PrefixLength Output port Switch pointer Enclosure length 000*1P0-0 1010*3P1-0 21*1P2-0 3110101*6P344 41101*4P421 5111*3P521 611111*5P653 48 Slide 49 Algorithms Performing Binary Search on Prefix Values (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low WBSTVery highHighMay or may not be low BST-PVVery highLowVery low BST-SPVery highHighMay or may not be low 49 Slide 50 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) Binary Search on Length in a Leaf-Pushed Trie (L-BSL) logW-Elevator Algorithm (logW-E) Binary Search on Lengths in Multiple Tries (BSL-MT) 50 Slide 51 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) Binary Search on Length in a Leaf-Pushed Trie (L-BSL) logW-Elevator Algorithm (logW-E) Binary Search on Lengths in Multiple Tries (BSL-MT) 51 Slide 52 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) M P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 M BMP = P2 M BMP = P4 3 5 1 2 4 6 52 Slide 53 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) M P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 M BMP = P2 M BMP = P4 3 5 1 2 4 6 Level 3 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 10100P1 01101P2 11110P5 53 Slide 54 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) M P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 M BMP = P2 M BMP = P4 3 5 1 2 4 6 Level 1 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 001- 110P2 54 Slide 55 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) M P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 M BMP = P2 M BMP = P4 3 5 1 2 4 6 Level 5 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 0110101P4 1111110P6 55 Slide 56 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) M P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 M BMP = P2 M BMP = P4 3 5 1 2 4 6 Level 2 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 1000P0 0010- 0110- 56 Slide 57 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) M P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 M BMP = P2 M BMP = P4 3 5 1 2 4 6 Level 4 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 111010P4 011110- 57 Slide 58 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) M P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 M BMP = P2 M BMP = P4 3 5 1 2 4 6 Level 6 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 11101010P3 58 Slide 59 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) Example Input : 110100 Path : 3 -> 5 -> 6 BMP : P2 -> P4 Level 3 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 10100P1 01101P2 11110P5 Level 5 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 0110101P4 1111110P6 Level 6 Prefix / InternalNodeMarkerPrefix / pre-computed BMP 11101010P3 3 5 1 2 4 6 59 Slide 60 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low WBSTVery highHighMay or may not be low BST-PVVery highLowVery low BST-SPVery highHighMay or may not be low W-BSLVery highVery lowLow 60 Slide 61 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) Binary Search on Length in a Leaf-Pushed Trie (L-BSL) logW-Elevator Algorithm (logW-E) Binary Search on Lengths in Multiple Tries (BSL-MT) 61 Slide 62 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Binary Search on Length in a Leaf-Pushed Trie (L-BSL) 62 Slide 63 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Binary Search on Length in a Leaf-Pushed Trie (L-BSL) 63 Slide 64 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Binary Search on Length in a Leaf-Pushed Trie (L-BSL) Example Input : 110100 Path : 3 -> 5 -> 6 BMP : P4 Level 3 Prefix / InternalNodePrefix 1010P1 0110- 0111- Level 5 Prefix / InternalNodePrefix 011010- 111011P4 111110P5 111111P6 Level 6 Prefix / InternalNodePrefix 1110100P4 1110101P3 64 Slide 65 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low WBSTVery highHighMay or may not be low BST-PVVery highLowVery low BST-SPVery highHighMay or may not be low W-BSLVery highVery lowLow L-BSLVery highVery lowLow 65 Slide 66 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) Binary Search on Length in a Leaf-Pushed Trie (L-BSL) logW-Elevator Algorithm (logW-E) Binary Search on Lengths in Multiple Tries (BSL-MT) 66 Slide 67 Algorithms Performing Binary Search on Prefix Lengths (Cont.) logW-Elevator Algorithm (logW-E) This algorithm constructs multiple kth-level tries for k = W/2, W/4, , 2 required to perform a binary search on levels, in addition to a PATRICIA trie. P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 67 Slide 68 Algorithms Performing Binary Search on Prefix Lengths (Cont.) logW-Elevator Algorithm (logW-E) Example I Input : 110100 68 Slide 69 Algorithms Performing Binary Search on Prefix Lengths (Cont.) logW-Elevator Algorithm (logW-E) Example II Input : 111000 69 Slide 70 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low WBSTVery highHighMay or may not be low BST-PVVery highLowVery low BST-SPVery highHighMay or may not be low W-BSLVery highVery lowLow L-BSLVery highVery lowLow logW-EHighVery lowLow 70 Slide 71 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Waldvogels Binary Search on Length (W-BSL) Binary Search on Length in a Leaf-Pushed Trie (L-BSL) logW-Elevator Algorithm (logW-E) Binary Search on Lengths in Multiple Tries (BSL-MT) 71 Slide 72 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Binary Search on Lengths in Multiple Tries (BSL-MT) P1 0 12 345 678 910 1112 13 P0 P2 P5 P4 P3 P6 72 Slide 73 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Binary Search on Lengths in Multiple Tries (BSL-MT) 73 Slide 74 Algorithms Performing Binary Search on Prefix Lengths (Cont.) Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low WBSTVery highHighMay or may not be low BST-PVVery highLowVery low BST-SPVery highHighMay or may not be low W-BSLVery highVery lowLow L-BSLVery highVery lowLow logW-EHighVery lowLow BSL-MTVery lowLow in average, high in worst caseMay or may not be low 74 Slide 75 Performance 75 Slide 76 Performance (Cont.) 76 Slide 77 Performance (Cont.) 77 Slide 78 Performance (Cont.) 78 Slide 79 Conclusion Algorithms Complexity to provide incremental update Search performance degradation when applied to large routing date Search performance degradation when applied to IPv6 B-TrieVery low High PC-TrieMedium Low P-TrieLow Very low BSRVery highVery low BSTVery highHigh May or may not be low WBSTVery highHighMay or may not be low BST-PVVery highLowVery low BST-SPVery highHighMay or may not be low W-BSLVery highVery lowLow L-BSLVery highVery lowLow logW-EHighVery lowLow BSL-MTVery lowLow in average, high in worst caseMay or may not be low 79