1 Multi-Prefix Trie: a New Data Structure for Designing Dynamic Router-Tables Author: Sun-Yuan Hsieh Member, IEEE, Yi-Ling Huang, and Ying- Chi Yang Publisher:

Slides:



Advertisements
Similar presentations
B-Trees. Motivation When data is too large to fit in the main memory, then the number of disk accesses becomes important. A disk access is unbelievably.
Advertisements

Author : Chia-Hung Lin, Chia-Yin Hsu, and Sun-Yuan Hsieh Publisher : IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS.
Router/Classifier/Firewall Tables Set of rules—(F,A)  F is a filter Source and destination addresses. Port number and protocol. Time of day.  A is an.
Internet Routers
Survey and Proposal on Binary Search Algorithms for Longest Prefix Match Author: Hyesook Lim, Member, IEEE, and Nara Lee, Student Member, IEEE Publisher:
An On-Chip IP Address Lookup Algorithm Author: Xuehong Sun and Yiqiang Q. Zhao Publisher: IEEE TRANSACTIONS ON COMPUTERS, 2005 Presenter: Yu Hao, Tseng.
A Fast and Memory Efficient Dynamic IP Lookup Algorithm Based on B-Tree Author:Yeim-Kuan Chang and Yung-Chieh Lin Publisher: 2009 International Conference.
IP Routing Lookups Scalable High Speed IP Routing Lookups.
Tries Standard Tries Compressed Tries Suffix Tries.
A Classified Multi-Suffix Trie for IP Lookup and Update Author: Sun-Yuan Hsieh, Ying-Chi Yang Publisher: IEEE TC Presenter: Jia-Wei Yo Date: 2011/10/12.
Digital Search Trees & Binary Tries Analog of radix sort to searching. Keys are binary bit strings.  Fixed length – 0110, 0010, 1010,  Variable.
An Efficient IP Address Lookup Algorithm Using a Priority Trie Authors: Hyesook Lim and Ju Hyoung Mun Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Mar. 11, 2008.
1 A Memory-Balanced Linear Pipeline Architecture for Trie-based IP Lookup Author: Weirong JiangWeirong Jiang Prasanna, V.K. Prasanna, V.K. Publisher: High-Performance.
1 Author: Ioannis Sourdis, Sri Harsha Katamaneni Publisher: IEEE ASAP,2011 Presenter: Jia-Wei Yo Date: 2011/11/16 Longest prefix Match and Updates in Range.
Processing Data in External Storage CS Data Structures Mehmet H Gunes Modified from authors’ slides.
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
Higher Order Tries Key = Social Security Number.   9 decimal digits. 10-way trie (order 10 trie) Height
Power Efficient IP Lookup with Supernode Caching Lu Peng, Wencheng Lu*, and Lide Duan Dept. of Electrical & Computer Engineering Louisiana State University.
1 Towards Green Routers: Depth- Bounded Multi-Pipeline Architecture for Power-Efficient IP Lookup Author: Weirong Jiang Viktor K. Prasanna Publisher: Performance,
1 Multi-Terabit IP Lookup Using Parallel Bidirectional Pipelines Author: Weirong Jiang Viktor K. Prasanna Publisher: ACM 2008 Presenter: Po Ting Huang.
Parallel-Search Trie-based Scheme for Fast IP Lookup
B-Trees Disk Storage What is a multiway tree? What is a B-tree?
Study of IP address lookup Schemes
1 HEXA: Compact Data Structures or Faster Packet Processing Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher. Publisher: ICNP.
Tirgul 6 B-Trees – Another kind of balanced trees Problem set 1 - some solutions.
B+ - Tree & B - Tree By Phi Thong Ho.
1 Performing packet content inspection by longest prefix matching technology Authors: Nen-Fu Huang, Yen-Ming Chu, Yen-Min Wu and Chia- Wen Ho Publisher:
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
A longest prefix first search tree for IP lookup Authors: Lih-Chyau Wuu, Tzong-Jye Liu, Kuo-Ming Chen Presenter: Chen-Yu Chung Date: 2008/09/24 Publisher/Conf.:
Address Lookup in IP Routers. 2 Routing Table Lookup Routing Decision Forwarding Decision Forwarding Decision Routing Table Routing Table Routing Table.
Chapter 61 Chapter 6 Index Structures for Files. Chapter 62 Indexes Indexes are additional auxiliary access structures with typically provide either faster.
Indexing. Goals: Store large files Support multiple search keys Support efficient insert, delete, and range queries.
IntroductionIntroduction  Definition of B-trees  Properties  Specialization  Examples  2-3 trees  Insertion of B-tree  Remove items from B-tree.
B + TREE. INTRODUCTION A B+ tree is a balanced tree in which every path from the root of the tree to a leaf is of the same length, and each non leaf node.
IP Address Lookup Masoud Sabaei Assistant professor
Chapter 19: Binary Trees. Objectives In this chapter, you will: – Learn about binary trees – Explore various binary tree traversal algorithms – Organize.
LayeredTrees: Most Specific Prefix based Pipelined Design for On-Chip IP Address Lookups Author: Yeim-Kuau Chang, Fang-Chen Kuo, Han-Jhen Guo and Cheng-Chien.
Data : The Small Forwarding Table(SFT), In general, The small forwarding table is the compressed version of a trie. Since SFT organizes.
Announcements Exam Friday. More Physical Storage Lecture 10.
B + -Trees Same structure as B-trees. Dictionary pairs are in leaves only. Leaves form a doubly-linked list. Remaining nodes have following structure:
Multiprefix Trie: A New Data Structure for Designing Dynamic Router-Tables Author: Sun-Yuan Hsieh, Senior Member, IEEE, Yi-Ling Huang, and Ying-Chi Yang.
Higher Order Tries Key = Social Security Number.   9 decimal digits. 10-way trie (order 10 trie) Height
Indexing and hashing Azita Keshmiri CS 157B. Basic concept An index for a file in a database system works the same way as the index in text book. For.
1 Power-Efficient TCAM Partitioning for IP Lookups with Incremental Updates Author: Yeim-Kuan Chang Publisher: ICOIN 2005 Presenter: Po Ting Huang Date:
PARALLEL-SEARCH TRIE- BASED SCHEME FOR FAST IP LOOKUP Author: Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai Nirwan Ansari Publisher: IEEE GLOBECOM.
Sets of Digital Data CSCI 2720 Fall 2005 Kraemer.
A Dynamic Longest Prefix Matching Content Addressable Memory for IP Routing Author: Satendra Kumar Maurya, Lawrence T. Clark Publisher: IEEE TRANSACTIONS.
Memory-Efficient IPv4/v6 Lookup on FPGAs Using Distance-Bounded Path Compression Author: Hoang Le, Weirong Jiang and Viktor K. Prasanna Publisher: IEEE.
Spring 2003 ECE569 Lecture 05.1 ECE 569 Database System Engineering Spring 2003 Yanyong Zhang
Foundation of Computing Systems
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Parallel tree search: An algorithmic approach for multi- field packet classification Authors: Derek Pao and Cutson Liu. Publisher: Computer communications.
A NOVEL LEVEL-BASED IPV6 ROUTING LOOKUP ALGORITHM Author: Xiaohong Huang, Xiaoyu Zhao, Guofeng Zhao, Wenjian Jiang, Dongqu Zheng, Qiong Sun and Yan Ma.
Hierarchical packet classification using a Bloom filter and rule-priority tries Source : Computer Communications Authors : A. G. Alagu Priya 、 Hyesook.
Author : Masanori Bando and H. Jonathan Chao Publisher : INFOCOM, 2010 Presenter : Jo-Ning Yu Date : 2011/02/16.
SCALAR PREFIX SEARCH: A NEW ROUTE LOOKUP ALGORITHM FOR NEXT GENERATION INTERNET Author: Mohammad Behdadfar, Hossein Saidi, Hamid Alaei and Babak Samari.
ITEC 2620M Introduction to Data Structures Instructor: Prof. Z. Yang Course Website: ec2620m.htm Office: TEL 3049.
A Multi-dimensional Packet Classification Algorithm Based on Hierarchical All-match B+ Tree Author: Gang Wang, Yaping Lin*, Jinguo Li, Xin Yao Publisher:
Generic Trees—Trie, Compressed Trie, Suffix Trie (with Analysi
IP Routers – internal view
AN ON-CHIP IP ADDRESS LOOKUP ALGORITHM
A Scalable Routing Architecture for Prefix Tries
Multiway range trees: scalable IP lookup with fast updates
Digital Search Trees & Binary Tries
Indexing and Hashing Basic Concepts Ordered Indices
Parallel Processing Priority Trie-based IP Lookup Approach
Digital Search Trees & Binary Tries
Higher Order Tries Key = Social Security Number.
A Small and Fast IP Forwarding Table Using Hashing
Towards TCAM-based Scalable Virtual Routers
Presentation transcript:

1 Multi-Prefix Trie: a New Data Structure for Designing Dynamic Router-Tables Author: Sun-Yuan Hsieh Member, IEEE, Yi-Ling Huang, and Ying- Chi Yang Publisher: IEEE TRANSACTIONS ON COMPUTERS Presenter: Po Ting Huang Date: 2010/8/4

2 Introduction we propose a new data structure, called a multi-prefix trie, One key feature of our data structure is that each node can store more than one prefix, which reduces the number of memory accesses. When performing lookup, the structure can search more prefixes in one node and may find the longest matching prefix in an internal node rather than on a leaf. Support dynamic router-tables for real-time instant updates. In addition, based on the multi-prefix trie, we propose another data structure, called the index multiprefix trie, which combines the index table with the multiprefix trie to reduce the height of the trie and expedite routertable operations.

3 Data structure For a prefix p = p0p1... pl−1*, let P’ = p0p1... pi* for 0 ≤ i ≤ l − 2 be a sub- prefix of p len(p):length of a prefix,for example len(110110**)=6 The level of a node v in a rooted tree, denoted by level(v), is the number of edges on the path from the root to v. Prefix-trees We use PT LOOKUP, PT INSERT and PT DELETE, to represent the respective algorithms for lookup, insertion, and deletion operations in prefix-trees in O(W) time, whereW is the length of the IP address.

4 Multi-prefix tries A k-stride Multi- Prefix 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), which possess the following properties: P1 Each p-node v contains the following fields: a) 0 ≤ t ≤ m is the number of prefixes stored in v, where m = 2k+1 b) The t prefixes, denoted by p1(v), p2(v),..., pt(v), are stored in non- increasing order with len(p1(v)) ≥ len(p2(v)) ≥ · · · ≥ len(pt(v)). c) port(pi(v)), the output port of pi(v). d) s pointer(v), a pointer points to a prefix-tree PT composed of s-nodes, which store prefixes of length at least k · level(v), but less than k · (level(v)+1)†. For convenience, the tree indicated by s pointer(v) is called the PT of v. e) The content of a p-node v can be represented simply as (t, p1(v), p2(v),..., pt(v), s pointer(v)).

5 Multi-prefix tries P2 A p-node whose stride is k has 2^k children Thus, if k = 2, there will be four children, child0(v), child1(v), child2(v), and child3(v), corresponding to 00, 01, 10, and 11, respectively. P3 An internal p-node is a full p-node that has children, and an external p-node is a p-node without any children. Note that an external p-node may be non-full. P4 Let u and v be two consecutive p-nodes on a path in T. If there are two prefixes pi(u) and pj(v) such that pj(v) is a sub-prefix of pi(u), then level(u) ≤ level(v). P5 Each s-node’s data structure is the same with prefix tree

6 Multi-prefix tries a,e are full and b,c,dare not full K=2, m=2k+1=5 Dotted pointer are s_pointer * is a sub-prefix of *

7 DYNAMIC ROUTER-TABLE OPERATIONS A. Creating an empty k-MPT

8 Insertion For example, GET( *, 0, 3) = (0100) 2 = 4.

9 Example of insertion 010*

10 Example of insertion *

11 Lookup operation

12 Example of lookup operation DA= DA=

13 Deletion

14 Example of deletion Delete 01*

15 Example of deletion Delete *

16 Example of deletion Delete *

17 Index Multiple Prefix Tree Given a fixed length α, the index table has 2^α entries such that the entry tab[b0b1... bα−1] contains a pointer,

18 Define function TAKE PREFIX ENDPOINT TAKE PREFIX ENDPOINT(101000*, 8) = ( ) 2 = 163. When insertion and deletion, if len(p) < α, then p corresponds to more than one index value. For instance, assume that p =101000* and α = 8 (i.e., the first eight bits of a prefix represent the index value). Because * contains , , , and , the prefix p =101000* must be inserted into the k- MPTs indicated by tab[ ], tab[ ], tab[ ], and tab[ ], respectively.

19

20 insert and delete 5,000 prefixes in AS4637 to compute the average update time α =8 Best average lookup time when k = 2 and m = 2k + 1. best average update time when k = 4 and m = 3k We choose m=2k+1

21 We choose k=2

22

23

24 Update time