multiprefix trie: a new data structure for designing dynamic router-tables author: sun-yuan hsieh,...

Post on 04-Jan-2016

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Multiprefix Trie: A New Data Structurefor Designing Dynamic Router-TablesAuthor: Sun-Yuan Hsieh, Senior Member, IEEE, Yi-Ling Huang, and Ying-Chi Yang

Publisher: IEEE TRANSACTIONS ON COMPUTERS 2011

Presenter: Yu Hao, Tseng

Date: 2013/05/01

1

Outline

• Introduction• Prefix Trees• Multiprefix Trie• Algorithm• Index Multiprefix Trie• Experimental Results• Conclusion

2

Introduction

• One key feature of our data structure is that each node can store more than one prefix, which reduces the number of memory accesses.

3

Prefix Trees

4

Multiprefix Trie

• A k-stride Multiprefix Trie (k-MPT), where k is the stride which is a positive integer, contains two types of nodes, a primary node (p-node) and a secondary node (s-node).

5

Multiprefix Trie (Cont.)

• is the number of prefixes stored in a node v, where .

6

Multiprefix Trie (Cont.)

• The t prefixes, denoted by , , …, , are stored in nonincreasing order with .

7

Multiprefix Trie (Cont.)

• , the output port of .

8

Multiprefix Trie (Cont.)

• s_pointer(v), a pointer points to a prefix-tree PT composed of s-nodes, which store prefixes of length at least , but less than .

9

Multiprefix Trie (Cont.)

• The content of a p-node v can be represented simply as .

10

Multiprefix Trie (Cont.)

• A p-node whose stride is k has children corresponding to the possible values for the k used bits.

11

Multiprefix Trie (Cont.)

• An internal p-node is a full p-node. (ex : a and e.)• An external p-node is a nonfull p-node. (ex : b, c, d and f.)

12

Multiprefix Trie (Cont.)

• Let u and v be two consecutive p-nodes on a path in T. If there are two prefixes and such that is a subprefix of , then .

13

Multiprefix Trie (Cont.)

• Each s-node w has .

14

Algorithm

• Creating an Empty k-MPT

15

Algorithm MPT_CREATE(T)1: v := ALLOCATE_P-NODE()2: root(T) := v

Algorithm (Cont.)

• Insertion Operation• Definition 1. Let . Define the function GET : .

• For example, .

16

Algorithm (Cont.)

• Insertion Operation• Example 1. To insert the prefix 010* into a 2-MPT with m = 5.

17

Algorithm (Cont.)

• Insertion Operation• Example 2. To insert the prefix 0110100* into a 2-MPT with m =

5.

18

Algorithm (Cont.)

• Insertion Operation

19

Algorithm (Cont.)

• Lookup Operation• Ex 1. DA = 11010010.• Ex 2. DA = 00100110.

20

Algorithm (Cont.)

• Delete Operation• Example 1. To delete the prefix 01* from the 2-MPT with m = 5.

21

Algorithm (Cont.)

• Delete Operation• Example 2. To delete the prefix 110100* from the 2-MPT with m

= 5.

22

Algorithm (Cont.)

• Delete Operation• Example 2. To delete the prefix 0110100* from the 2-MPT with m

= 5.

23

Algorithm (Cont.)

• Delete Operation

24

Index Multiprefix Trie

25

Index Multiprefix Trie (Cont.)

26

Experimental Results

27

Experimental Results (Cont.)

28

Experimental Results (Cont.)

29

Experimental Results (Cont.)

30

Conclusion

• We have proposed two new data structures, MPT and IMPT, for dynamic router-table design. Since the structures do not contain dummy nodes, they require less storage and they are not as high as other trees. In addition, because of the lower height, they require fewer memory accesses for router-table operations.

31

top related