1 efficient trie braiding in scalable virtual routers author: haoyu song, murali kodialam, fang hao,...

Post on 20-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Efficient Trie Braiding in Scalable Virtual Routers

Author:Haoyu Song, Murali Kodialam, Fang Hao, T.V. LakshmanPublisher:IEEE/ACM TRANSACTIONS ON NETWORKINGPresenter:Zi-Yang OuDate:2012/10/17

Introduction

2

This paper proposes a mechanism called trie braiding that can be used

to combine tries from different virtual routers into just one trie. Trie braiding enables each trie node to swap its left child node and

right child node freely. The changed shape is memorized by a single bit at each trie node. Two optimal dynamic programming algorithms and a faster heuristic

algorithm are presented. Trie braiding leads to significant savings in high-speed memory, and

hence improves scalability.

3

Trie Braiding In Fig. b, we swap node a’s child nodes and node c’s child nodes.

4

a

c b

d

e f

a

c b

d

e f

 

Problem Formulation Definition 1: A mapping M of T2 to T1

Definition 2: A permissible mapping

5

Definition 3:

Definition 4: Distance

6

7

Braid : A DP Algorithm Input : T1 and T2

Output :

8

Step1: Compute Leaf Weights

Step2: Distance Computation

Step3: It starts from r2 and uses S( , ) to obtain the optimal mapping

and braiding bit for each node v2.

9

10

11

FAST-BRAID: Braiding With Isomorphism Detection The motivation is the result in Lemma 1. If we can identify the fact that , then we need

to compute the value of only once. Using the technique developed by [26] in linear time algorithm for tree

isomorphism to keep track of the nodes with isomorphic subtrees. We first process each tree separately. Two nodes will be given the same label if and only if the subtrees

rooted at those two nodes are isomorphic. In the FAST-BRAID algorithm, we have to compute the value of

for two labels, each from a different tree.

12

k-Braid: A k-Step Lookahead Heuristic for Braiding This heuristic algorithm determines the mapping from root to leaves.

13

Combining Multiple Trees So far, we have dealt with the problem of combining two trees. If we want to combine more than two trees, then the running time of

the optimal algorithm grows exponentially with the number of trees. We use an incremental approach where we first merge T1 and T2 and

then merge Ti (i >= 3) onto combined tree.

14

Algorithm Evaluation

15

16

17

18

19

20

top related