Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:

Slides:



Advertisements
Similar presentations
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.
Advertisements

Internet Routers
Introduction to Computer Science 2 Lecture 7: Extended binary trees
Network Algorithms, Lecture 4: Longest Matching Prefix Lookups George Varghese.
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Fast Firewall Implementation for Software and Hardware-based Routers Lili Qiu, Microsoft Research George Varghese, UCSD Subhash Suri, UCSB 9 th International.
Chapter 11 Indexing and Hashing (2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
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.
M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Shulin You UNIVERSITY OF MASSACHUSETTS, AMHERST – Department of Electrical and Computer Engineering.
IP Routing Lookups Scalable High Speed IP Routing Lookups.
Hybrid Data Structure for IP Lookup in Virtual Routers Using FPGAs Authors: Oĝuzhan Erdem, Hoang Le, Viktor K. Prasanna, Cüneyt F. Bazlamaçcı Publisher:
Digital Search Trees & Binary Tries Analog of radix sort to searching. Keys are binary bit strings.  Fixed length – 0110, 0010, 1010,  Variable.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
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.
A Dynamic Binary Hash Scheme for IPv6 Lookup Q. Sun 1, X. Huang 1, X. Zhou 1, and Y. Ma 1,2 1. School of Computer Science and Technology 2. Beijing Key.
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
Fast Filter Updates for Packet Classification using TCAM Authors: Haoyu Song, Jonathan Turner. Publisher: GLOBECOM 2006, IEEE Present: Chen-Yu Lin Date:
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,
Power Efficient IP Lookup with Supernode Caching Lu Peng, Wencheng Lu*, and Lide Duan Dept. of Electrical & Computer Engineering Louisiana State University.
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
1 A Novel Scalable IPv6 Lookup Scheme Using Compressed Pipelined Tries Author: Michel Hanna, Sangyeun Cho, and Rami Melhem Publisher: NETWORKING 2011 Presenter:
Parallel-Search Trie-based Scheme for Fast IP Lookup
1 A Fast IP Lookup Scheme for Longest-Matching Prefix Authors: Lih-Chyau Wuu, Shou-Yu Pin Reporter: Chen-Nien Tsai.
Basic Data Structures for IP lookups and Packet Classification
1 HEXA: Compact Data Structures or Faster Packet Processing Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher. Publisher: ICNP.
1 Indexing Structures for Files. 2 Basic Concepts  Indexing mechanisms used to speed up access to desired data without having to scan entire.
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
Fundamentals of Multimedia Chapter 7 Lossless Compression Algorithms Ze-Nian Li and Mark S. Drew 건국대학교 인터넷미디어공학부 임 창 훈.
P2P Course, Structured systems 1 Skip Net (9/11/05)
1 HEXA : Compact Data Structures for Faster Packet Processing Department of Computer Science and Information Engineering National Cheng Kung University,
Memory-Efficient Regular Expression Search Using State Merging Department of Computer Science and Information Engineering National Cheng Kung University,
Address Lookup in IP Routers. 2 Routing Table Lookup Routing Decision Forwarding Decision Forwarding Decision Routing Table Routing Table Routing Table.
UCSC 1 Aman ShaikhICNP 2003 An Efficient Algorithm for OSPF Subnet Aggregation ICNP 2003 Aman Shaikh Dongmei Wang, Guangzhi Li, Jennifer Yates, Charles.
Chapter Tow Search Trees BY HUSSEIN SALIM QASIM WESAM HRBI FADHEEL CS 6310 ADVANCE DATA STRUCTURE AND ALGORITHM DR. ELISE DE DONCKER 1.
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
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.
Representing and Using Graphs
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
CAMP: Fast and Efficient IP Lookup Architecture Sailesh Kumar, Michela Becchi, Patrick Crowley, Jonathan Turner Washington University in St. Louis.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
1 Efficient Trie Braiding in Scalable Virtual Routers Author: Haoyu Song, Murali Kodialam, Fang Hao, T.V. Lakshman Publisher: IEEE/ACM TRANSACTIONS ON.
Higher Order Tries Key = Social Security Number.   9 decimal digits. 10-way trie (order 10 trie) Height
Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Authors: M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Zhqi.
A Small IP Forwarding Table Using Hashing Yeim-Kuan Chang and Wen-Hsin Cheng Dept. of Computer Science and Information Engineering National Cheng Kung.
PARALLEL-SEARCH TRIE- BASED SCHEME FOR FAST IP LOOKUP Author: Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai Nirwan Ansari Publisher: IEEE GLOBECOM.
Memory-Efficient IPv4/v6 Lookup on FPGAs Using Distance-Bounded Path Compression Author: Hoang Le, Weirong Jiang and Viktor K. Prasanna Publisher: IEEE.
Memory-Efficient and Scalable Virtual Routers Using FPGA Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Association Analysis (3)
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
HIGH-PERFORMANCE LONGEST PREFIX MATCH LOGIC SUPPORTING FAST UPDATES FOR IP FORWARDING DEVICES Author: Arun Kumar S P Publisher/Conf.: 2009 IEEE International.
Dynamic Pipelining: Making IP-Lookup Truly Scalable Jahangir Hasan T. N. Vijaykumar Presented by Sailesh Kumar.
Chapter 7 Lossless Compression Algorithms 7.1 Introduction 7.2 Basics of Information Theory 7.3 Run-Length Coding 7.4 Variable-Length Coding (VLC) 7.5.
A NOVEL LEVEL-BASED IPV6 ROUTING LOOKUP ALGORITHM Author: Xiaohong Huang, Xiaoyu Zhao, Guofeng Zhao, Wenjian Jiang, Dongqu Zheng, Qiong Sun and Yan Ma.
1 IP Routing table compaction and sampling schemes to enhance TCAM cache performance Author: Ruirui Guo, Jose G. Delgado-Frias Publisher: Journal of Systems.
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,
Ofir Luzon Supervisor: Prof. Michael Segal Longest Prefix Match For IP Lookup.
Chapter 11. Chapter Summary  Introduction to trees (11.1)  Application of trees (11.2)  Tree traversal (11.3)  Spanning trees (11.4)
SCALAR PREFIX SEARCH: A NEW ROUTE LOOKUP ALGORITHM FOR NEXT GENERATION INTERNET Author: Mohammad Behdadfar, Hossein Saidi, Hamid Alaei and Babak Samari.
COMP261 Lecture 23 B Trees.
IP Routers – internal view
AN ON-CHIP IP ADDRESS LOOKUP ALGORITHM
HEXA: Compact Data Structures for Faster Packet Processing
Indexing and Hashing Basic Concepts Ordered Indices
Packet Classification Using Coarse-Grained Tuple Spaces
A Small and Fast IP Forwarding Table Using Hashing
A Trie Merging Approach with Incremental Updates for Virtual Routers
Author: Xianghui Hu, Xinan Tang, Bei Hua Lecturer: Bo Xu
Presentation transcript:

Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker: Han Jhen Guo Date: SCALABLE IP LOOKUPS USING SHAPE GRAPHS

INTRODUCTION Find that there are significant structural, or shape, similarities between different part of a lookup trie Exploit these similarities by using a new data structure that is called shape graphs to reduce structural redundancy, greatly improve upon the memory-efficiency of tries 2

INTRODUCTION - SHAPE GRAPHS Two trees are isomorphic if by switching a node’s left and right child nodes, along with the sub- trees they are rooted at, the two trees become identical  eg. There are 8 trie nodes, but there are only 4 (50%) unique isomorphic sub-trees 3 P0 P1 P3 P2 P4

INTRODUCTION - SHAPE GRAPHS The transformation of the trie data structure from a tree to a more compact graph where the compaction is accomplished using structural similarities in the trie give each unique isomorphic sub-tree a unique id starting from 1 (The id 0 is intentionally reserved for a NULL shape) ? ?

INTRODUCTION - SHAPE GRAPHS Condensing all the trie nodes with the same label to one graph node and removing the redundant trie branches In reality (BGP AS1221 prefixes table), has more than 210K IPv4 prefixes 576,534 nodes but has only 48,762 (8%) unique isomorphic trees → lower memory consumption Too much loss of information that is inherent in the trie to perform IP lookups 5

INTRODUCTION - SHAPE GRAPHS Modification: construct the shape graphs with identical sub-trees In reality (BGP AS1221 prefixes table), has more than 210K IPv4 prefixes 576,534 nodes but has only 76,276 groups of identical sub- trees → # of trie nodes >> # of identical subtrees > # of isomorphic subtrees this modification still can cause a significant reduction in memory usage 6

SHAPE GRAPHS - COUNTING THE SHAPE AND LABELING THE TRIE 7 P1 P3 P2 P4 (1) (2) P0 (1) (3) (4) (5) 1→2→…→51→2→…→5 counter 0→30→3 shape id 0 0→20→2 0 0 →5 0→40→4 {1, 0}→ {0, 1}→ {2, 4}→ {3, 2}→

SHAPE GRAPHS - COUNTING THE SHAPE AND LABELING THE TRIE terminate the trie traversal as soon as all the shape ids have been accessed Some paths leading to a vertex may indicate valid prefixes while others may not vertex 2 actually maps to paths “0*” and “11*”, in which “11*” is a valid prefix but “0*” is not 8 P1 P3 P2 P4 (1) (2) P0 (1) (3) (4) (5) P2 P1 P3 P4 P0

SHAPE GRAPHS - LEAF PUSHING terminating vertex the only vertex in the shape graph that indicates all the valid prefixes, then if we reach this vertex, we know that we have matched a valid prefix and the matched prefix is implied by the walking path only the leaf trie nodes in the original trie can indicate valid prefixes 9

SHAPE GRAPHS - LEAF PUSHING Leaf pushing has the negative effect of expanding the prefix table size as well as the corresponding trie size results in fewer shapes the corresponding shape graph is smaller contains one less vertex than before offset of above two points for the AS1221 table, the shape graph after leaf pushing contains 51,962 vertices, a 32% reduction compared to the shape graph before leaf pushing 10

SHAPE GRAPHS - LEAF PUSHING 11 P1P0 P3P4P2 P1 nexthop P0 P2 P3 P4 P0 {111*}→ { 00*}→ {110*}→ {01*}→ {101*}→ {100*}→

SHAPE GRAPHS - MULTI-BIT SHAPE GRAPHS For improved throughput of single-bit shape graphs The multi-bit shape graph is derived from the binary shape graph Multi-bit shape graph with stride of 1, 2, and 3 12

SHAPE GRAPHS - AVOIDING PREFIX EXPANSION Prefix expansion is unlike the multi-bit trie where the next hop can be embedded into each trie node, the shape graph uses a hash table to store all the {prefix, nexthop} pairs When the stride is large, the expanded prefix table would become quite large 13

SHAPE GRAPHS - AVOIDING PREFIX EXPANSION Maintain a 2 s -bit bitmap in each vertex to indicate which group of edges are for the same original prefix, if they lead to the terminating vertex

SHAPE GRAPHS - PERFORMING IP LOOKUPS  eg. search IP = next vertex is NOT the terminating node → bitmap is unused next vertex is the terminating node → use bitmap → prefix length = 2(1+1)-log 2 2 = 3 → prefix = 110* s: stride k: traveled step → prefix length = t: consecutive 1s (or 0s) in the bitmap P1 nexthop P0 P2 P3 P4 P0 {111*}→ { 00*}→ {110*}→ {01*}→ {101*}→ {100*}→

SHAPE GRAPHS - INCREMENTAL UPDATE “lazy” deletion simplify the operation and save memory accesses  eg. delete prefix “100*” Insertion: the route processing software works on the leaf-pushing trie first and then modifies the shape graph and the hash table if necessary 16 P1 nexthop P0 P2 P3 P4 P2 P0 {111*}→ { 00*}→ {110*}→ {01*}→ {101*}→ {100*}→ P0 P1 P3 P2 P4

SHAPE GRAPHS - INCREMENTAL UPDATE 17 Illustration of the shape graph updates as the new prefixes “001*” is inserted not used in lookup but preserve *

SHAPE GRAPHS - INCREMENTAL UPDATE Illustration of the shape graph updates as the new prefixes “1100*” is inserted 18 *

SHAPE GRAPHS - INCREMENTAL UPDATE Illustration of the shape graph updates as the new prefixes “1111* ” is inserted 19 reused again

SHAPE GRAPHS - INCREMENTAL UPDATE Unused vertices should be recycled regularly (i.e. remove the unused vertices from the memory and reuse the corresponding shape ids for new shapes) to avoid exhausting the memory if otherwise unattended 20

IMPLEMENT CONSIDERATIONS - FAST SHAPE GRAPH LOOKUP Deploy multiple memory blocks and spread the graph vertices into them to improve the lookup throughput 21

IMPLEMENT CONSIDERATIONS - FAST SHAPE GRAPH LOOKUP Memory balance each memory block should roughly contain the same number of vertices so the memory block size Algorithm - min-max heuristic sort the vertices in decreasing weight order each graph vertex is associated with a weight which indicates the probability for it to be accessed by a prefix lookup assign each vertex in the current least weighted memory block according to the weight order; we repeat the process until all vertices are assigned 22

IMPLEMENT CONSIDERATIONS - EFFICIENT HASH TABLE CONSTRUCTION Assign the weight to the vertices static scheme a vertex with weight w means there are w prefixes passing through it dynamic scheme keeps track the access rate of each vertex and update their weight accordingly when a better vertex distribution is preferred, we run the algorithm and escort the affected vertices to their new host memory blocks 23

PERFORMANCE EVALUATION Number of trie nodes versus number of graph vertices the left side is for AS1221 and the right side is for Maewest A large table AS1221 that contains 215,454 prefixes A small table Maewest that contains 27,930 prefixes 24

PERFORMANCE EVALUATION Overall memory consumption comparison on two prefix tables 25

PERFORMANCE EVALUATION Memory consumption for different number of memory blocks 26 support k bloom filter (k prefix length); the prefixes with lengths that are not covered by the Bloom filters need to be expanded to multiple longer prefixes ← overhead!

PERFORMANCE EVALUATION The number of shape graph vertices vs. the number of multi-bit trie nodes for IPv6 forwarding tables the left side is for the IPv6 BGP table (900 prefixes) and the right side is for the synthesized IPv6 table (generate from the AS1221 IPv4 table, 215,518 prefixes) 27