Range Trees with Variable Length Comparisons (RT-VLC)

Slides:



Advertisements
Similar presentations
An Array-Based Algorithm for Simultaneous Multidimensional Aggregates By Yihong Zhao, Prasad M. Desphande and Jeffrey F. Naughton Presented by Kia Hall.
Advertisements

An On-Chip IP Address Lookup Algorithm Author: Xuehong Sun and Yiqiang Q. Zhao Publisher: IEEE TRANSACTIONS ON COMPUTERS, 2005 Presenter: Yu Hao, Tseng.
Huffman Encoding Dr. Bernard Chen Ph.D. University of Central Arkansas.
Coupling-Aware Length-Ratio- Matching Routing for Capacitor Arrays in Analog Integrated Circuits Kuan-Hsien Ho, Hung-Chih Ou, Yao-Wen Chang and Hui-Fang.
Genome-scale disk-based suffix tree indexing Benjarath Phoophakdee Mohammed J. Zaki Compiled by: Amit Mahajan Chaitra Venus.
1 Suffix Trees and Suffix Arrays Modern Information Retrieval by R. Baeza-Yates and B. Ribeiro-Neto Addison-Wesley, (Chapter 8)
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 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.
1 Minimum-energy broadcasting in multi-hop wireless networks using a single broadcast tree Department of Computer Science and Information Engineering National.
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
1 A Heuristic and Hybrid Hash- based Approach to Fast Lookup Author: Gianni Antichi, Andrea Di Pietro, Domenico Ficara, Stefano Giordano, Gregorio Procissi,
The CPBT: A Method for Searching the Prefixes Using Coded Prefixes in B-Tree Author: Mohammad Behdadfar and Hossein Saidi Publisher: LNCS 2008 Presenter:
1 A Tree Based Router Search Engine Architecture With Single Port Memories Author: Baboescu, F.Baboescu, F. Tullsen, D.M. Rosu, G. Singh, S. Tullsen, D.M.Rosu,
FALL 2006CENG 351 Data Management and File Structures1 External Sorting.
Efficient Multidimensional Packet Classification with Fast Updates Author: Yeim-Kuan Chang Publisher: IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 4, APRIL.
Application Layer At long last we can ask the question - how does the user interface with the network?
Hash Tables1 Part E Hash Tables  
1 A Fast IP Lookup Scheme for Longest-Matching Prefix Authors: Lih-Chyau Wuu, Shou-Yu Pin Reporter: Chen-Nien Tsai.
Using Search in Problem Solving
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
Address Lookup in IP Routers. 2 Routing Table Lookup Routing Decision Forwarding Decision Forwarding Decision Routing Table Routing Table Routing Table.
CSE 373 Data Structures Lecture 15
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
ICS 220 – Data Structures and Algorithms Week 7 Dr. Ken Cosh.
Review Binary Tree Binary Tree Representation Array Representation Link List Representation Operations on Binary Trees Traversing Binary Trees Pre-Order.
Chapter 17 Domain Name System
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
Efficient Minimal Perfect Hash Language Models David Guthrie, Mark Hepple, Wei Liu University of Sheffield.
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.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
March 16 & 21, Csci 2111: Data and File Structures Week 9, Lectures 1 & 2 Indexed Sequential File Access and Prefix B+ Trees.
Heapsort. Heapsort is a comparison-based sorting algorithm, and is part of the selection sort family. Although somewhat slower in practice on most machines.
1 TaCo: Semantic Equivalence of IP Prefix Tables Author: Ahsan Tariq, Sana Jawad and Zartash Afzal Uzmi Publisher: IEEE ICCCN 2011 Presenter: Li-Hsien,
Sorting. Pseudocode of Insertion Sort Insertion Sort To sort array A[0..n-1], sort A[0..n-2] recursively and then insert A[n-1] in its proper place among.
1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,
Secret Sharing and CIDR. Secret Sharing  Threshold Scheme (t,n)( 門檻式 ) Master key (mK) Sub key (sK) Threshold Value t N0. of sub keys n Object: any one.
Memory-Efficient IPv4/v6 Lookup on FPGAs Using Distance-Bounded Path Compression Author: Hoang Le, Weirong Jiang and Viktor K. Prasanna Publisher: IEEE.
1 CPS216: Advanced Database Systems Notes 05: Operators for Data Access (contd.) Shivnath Babu.
Everything is String. Closed Factorization Golnaz Badkobeh 1, Hideo Bannai 2, Keisuke Goto 2, Tomohiro I 2, Costas S. Iliopoulos 3, Shunsuke Inenaga 2,
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
Range Enhanced Packet Classification Design on FPGA Author: Yeim-Kuan Chang, Chun-sheng Hsueh Publisher: IEEE Transactions on Emerging Topics in Computing.
Parallel tree search: An algorithmic approach for multi- field packet classification Authors: Derek Pao and Cutson Liu. Publisher: Computer communications.
Packet Classification Using Dynamically Generated Decision Trees
Author: Weirong Jiang and Viktor K. Prasanna Publisher: The 18th International Conference on Computer Communications and Networks (ICCCN 2009) Presenter:
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.
DESIGN AND IMPLEMENTATION OF DYNAMIC ROUTING TABLES Author: Yeim-Kuan Chang and Dung-Jiun Lin Publisher/Conf.: The graduation paper of CIAL master student,
Scalable Multi-match Packet Classification Using TCAM and SRAM Author: Yu-Chieh Cheng, Pi-Chung Wang Publisher: IEEE Transactions on Computers (2015) Presenter:
A Multi-dimensional Packet Classification Algorithm Based on Hierarchical All-match B+ Tree Author: Gang Wang, Yaping Lin*, Jinguo Li, Xin Yao Publisher:
EE465: Introduction to Digital Image Processing
Indexing Graphs for Path Queries with Applications in Genome Research
Data Structures: Disjoint Sets, Segment Trees, Fenwick Trees
Instructor Materials Chapter 8: Subnetting IP Networks
AN ON-CHIP IP ADDRESS LOOKUP ALGORITHM
Mark Redekopp David Kempe
B+ Tree.
Iterative Deepening Search
Dictionaries 9/14/ :35 AM Hash Tables   4
Sorting.
Database Applications (15-415) DBMS Internals- Part III Lecture 15, March 11, 2018 Mohammad Hammoud.
Data Structures: Segment Trees, Fenwick Trees
Regular Expression Matching in Reconfigurable Hardware
Scalable Multi-Match Packet Classification Using TCAM and SRAM
Solving Recurrences Continued The Master Theorem
CENG 351 Data Management and File Structures
A Trie Merging Approach with Incremental Updates for Virtual Routers
Authors: A. Rasmussen, A. Kragelund, M. Berger, H. Wessing, S. Ruepp
Presentation transcript:

Range Trees with Variable Length Comparisons (RT-VLC) Author: Ioannis Sourdis, Ruben de Smet, and Georgi N. Gaydadjiev Publisher: 15th IEEE Workshop on High Performance Switching and Routing (HPSR), 2009 Presenter: Chin-Chung Pan Date: 2009/09/08

Outline Introduction RT-VLC Rules Constructing a RT-VLC Performance

Introduction-Range Tree L: less, E:equal, GE: greater or equal, G: greater.

Introduction-Range Tree Range Trees avoid the length dimension performing comparisons on the expanded prefixes (full addresses). Range Trees need to store the complete addresses to be compared at each stage and therefore consume considerable memory size.

Introduction-Range Trees with Variable Length Comparisons(RT-VLC) CP: Common Prefix, ‘-’: bit not necessary to be processed, L: less, E:equal, GE: greater or equal, G: greater.

RT-VLC Rules The address range [Na,Nb) and divides it in k+1 subranges R1, R2, ..., Rk+1 defined by the unique addresses (of width W) Ai ∈ [Na,Nb), ∀i ∈ N, i ≤ k, such that R1 = [Na,A1), .., Ri = [Ai−1,Ai), ... Rk+1 = [Ak,Nb).

RT-VLC Rules (cont.) Rule 1:Omit the common prefix of the node border. Rule 2:Omit address suffix of value ’0’. Rule 3:Share addresses’ common prefix. Rule 4:Share addresses’ common suffix.

Rule 1:Omit the common prefix of the node border When there is a common prefix of length L (L < W) of the node borders Na and Nb then the L most significant bits of the addresses Ai can be omitted from the comparisons at the node. Na ≦ AIN< Nb RT-VLC Node Na Nb A1 A2 00000 00011 00101 01000 (00111) --011 --101

Rule 2:Omit address suffix of value ’0’ Ai have a suffix of length L, where L < W, that is zero. Then, this suffix of Ai does not need to be compared against the L last bits of AIN. Na ≦ AIN< Nb RT-VLC Node Na Nb A1 A2 00100 01010 001-- 0101-

Rule 3:Share addresses’ common prefix The Common Prefix ACPi of the addresses Ai of length L (L < W) can be shared among concurrent comparisons and processed separately. Na ≦ AIN< Nb 1110- G E 11100 11101 L ----1 L GE L GE Na Nb L GE A1 A2

Rule 4:Share addresses’ common suffix The common suffix ACSi of the addresses Ai, of length L (L < W) can be shared among concurrent comparisons and processed separately 011-- 110-- Na ≦ AIN< Nb G L E E L G ---01 01101 11001 L GE L GE L GE Na Nb A1 A2

Constructing a RT-VLC Top-Down Heuristic Bottom-Up Heuristic

Constructing a RT-VLC - Top-Down Heuristic

Constructing a RT-VLC - Top-Down Heuristic 01--- 1---- --11- --01- --10- -1100 CP: -110- -1101 ----1 R1 R2 R3 R4 R5 R6 R7 R6

Constructing a RT-VLC - Top-Down Heuristic Step1:Apply the RT-VLC rules 1 and 2. Step2:Select a comparator length that maximizes the possible number of branches, i.e., 8-bits. Step3:Consider all addresses in the set to be processed with the above comparison length. Omit address suffixes that cannot be compared assuming they are equal to zero. Step4:Based on the above create the defined from the comparisons groups/intervals.

Constructing a RT-VLC - Top-Down Heuristic Step5:If necessary merge neighboring groups until the number of comparisons are reduced to the available comparator resources. Step6:Recursively repeat for the created children nodes. Step7:Terminate when each node branch points to a single address range.

Constructing a RT-VLC - Bottom-Up Heuristic

Constructing a RT-VLC - Bottom-Up Heuristic Na 00000 A1 00110 A2 01000 A3 01010 A4 01100 A5 10000 A6 11100 A7 11101 Nb 11111 01--- 1---- CP:-1100 --11- --01- --10- -1100 -1101 -1101 A1 00110 A2 01000 A3 01010 A4 01100 A5 10000 A6 11100 A7 11101 Nb Na N’a 00000 N’a 01000 N’b 01000 N’a 10000 N’b 10000 N’b 11111

Constructing a RT-VLC - Bottom-Up Heuristic Step1:Select the first b addresses Ai > Na (where Na initially is 0) that can be compared in one node after applying the RT- VLC rules (e.g., addresses Ai,Ai+1, ...Ab). Step2:Set node’s upper bound Nb a point in the address space where Nb < Ab+1 that Na has a long suffix of 0’s2. The resulted node maps to an address range [Na,Nb). Step3:Repeat the above starting from the upper bound of the previous group (Nnewa = Nprevb ) until all addresses Ai in the address space are grouped.

Constructing a RT-VLC - Bottom-Up Heuristic Step4:Recursively repeat the above steps for the next upper tree level L−1 using as new set of addresses AL−1i the borders NLi of the previous level. Step5:Terminate when all addresses in the list are processed in a single (root) node.

Performance-Top-Down

Performance-Bottom-Up

Performance-IPv6