August 17, 2000 Hot Interconnects 8 Devavrat Shah and Pankaj Gupta

Slides:



Advertisements
Similar presentations
Liron Schiff * (TAU) Joint work with Yehuda Afek, Anat Bremler-Barr (TAU) (IDC) Recursive Design of Hardware Priority Queues Supported by European Research.
Advertisements

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
Fast Updating Algorithms for TCAMs Devavrat Shah Pankaj Gupta IEEE MICRO, Jan.-Feb
Packet Classification using Hierarchical Intelligent Cuttings
1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
Network Algorithms, Lecture 4: Longest Matching Prefix Lookups George Varghese.
1 An Efficient, Hardware-based Multi-Hash Scheme for High Speed IP Lookup Hot Interconnects 2008 Socrates Demetriades, Michel Hanna, Sangyeun Cho and Rami.
Bio Michel Hanna M.S. in E.E., Cairo University, Egypt B.S. in E.E., Cairo University at Fayoum, Egypt Currently is a Ph.D. Student in Computer Engineering.
1 Fast Routing Table Lookup Based on Deterministic Multi- hashing Zhuo Huang, David Lin, Jih-Kwon Peir, Shigang Chen, S. M. Iftekharul Alam Department.
© 2009 Cisco Systems, Inc. All rights reserved. SWITCH v1.0—4-1 Implementing Inter-VLAN Routing Deploying Multilayer Switching with Cisco Express Forwarding.
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.
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.
A supernetwork.
IP Address Lookup for Internet Routers Using Balanced Binary Search with Prefix Vector Author: Hyesook Lim, Hyeong-gee Kim, Changhoon Publisher: IEEE TRANSACTIONS.
1 MIPS Extension for a TCAM Based Parallel Architecture for Fast IP Lookup Author: Oğuzhan ERDEM Cüneyt F. BAZLAMAÇCI Publisher: ISCIS 2009 Presenter:
Fast Filter Updates for Packet Classification using TCAM Authors: Haoyu Song, Jonathan Turner. Publisher: GLOBECOM 2006, IEEE Present: Chen-Yu Lin Date:
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:
Scalable IPv6 Lookup/Update Design for High-Throughput Routers Authors: Chung-Ho Chen, Chao-Hsien Hsu, Chen -Chieh Wang Presenter: Yi-Sheng, Lin ( 林意勝.
An Efficient Hardware-based Multi-hash Scheme for High Speed IP Lookup Department of Computer Science and Information Engineering National Cheng Kung University,
Parallel-Search Trie-based Scheme for Fast IP Lookup
1 Geometric Solutions for the IP-Lookup and Packet Classification Problem (Lecture 12: The IP-LookUp & Packet Classification Problem, Part II) Advanced.
1 Performance Improvement of Two-Dimensional Packet Classification by Filter Rephrasing Department of Computer Science and Information Engineering National.
張 燕 光 資訊工程學系 Dept. of Computer Science & Information Engineering,
1 Gigabit Rate Multiple- Pattern Matching with TCAM Fang Yu Randy H. Katz T. V. Lakshman
1 A Fast IP Lookup Scheme for Longest-Matching Prefix Authors: Lih-Chyau Wuu, Shou-Yu Pin Reporter: Chen-Nien Tsai.
Two stage packet classification using most specific filter matching and transport level sharing Authors: M.E. Kounavis *,A. Kumar,R. Yavatkar,H. Vin Presenter:
SSA: A Power and Memory Efficient Scheme to Multi-Match Packet Classification Fang Yu 1 T. V. Lakshman 2 Martin Austin Motoyama 1 Randy H. Katz 1 1 EECS.
An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu.
EaseCAM: An Energy And Storage Efficient TCAM-based IP-Lookup Architecture Rabi Mahapatra Texas A&M University;
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
1 Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs Department of Computer Science and Information Engineering National Cheng.
Sarang Dharmapurikar With contributions from : Praveen Krishnamurthy,
IP Address Lookup Masoud Sabaei Assistant professor
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Multi-Field Range Encoding for Packet Classification in TCAM Author: Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Publisher: INFOCOM 2011 Presenter:
Packet Forwarding. A router has several input/output lines. From an input line, it receives a packet. It will check the header of the packet to determine.
1 Dynamic Pipelining: Making IP- Lookup Truly Scalable Jahangir Hasan T. N. Vijaykumar School of Electrical and Computer Engineering, Purdue University.
Routing Prefix Caching in Network Processor Design Huan Liu Department of Electrical Engineering Stanford University
IP Address Lookup Masoud Sabaei Assistant professor
1 Power-Efficient TCAM Partitioning for IP Lookups with Incremental Updates Author: Yeim-Kuan Chang Publisher: ICOIN 2005 Presenter: Po Ting Huang Date:
Scalable High Speed IP Routing Lookups Scalable High Speed IP Routing Lookups Authors: M. Waldvogel, G. Varghese, J. Turner, B. Plattner Presenter: Zhqi.
PARALLEL-SEARCH TRIE- BASED SCHEME FOR FAST IP LOOKUP Author: Roberto Rojas-Cessa, Lakshmi Ramesh, Ziqian Dong, Lin Cai Nirwan Ansari Publisher: IEEE GLOBECOM.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
A Smart Pre-Classifier to Reduce Power Consumption of TCAMs for Multi-dimensional Packet Classification Yadi Ma, Suman Banerjee University of Wisconsin-Madison.
CS 740: Advanced Computer Networks IP Lookup and classification Supplemental material 02/05/2007.
HIGH-PERFORMANCE LONGEST PREFIX MATCH LOGIC SUPPORTING FAST UPDATES FOR IP FORWARDING DEVICES Author: Arun Kumar S P Publisher/Conf.: 2009 IEEE International.
Packet Switch Architectures The following are (sometimes modified and rearranged slides) from an ACM Sigcomm 99 Tutorial by Nick McKeown and Balaji Prabhakar,
On-Chip Logic Minimization Roman Lysecky & Frank Vahid* Department of Computer Science and Engineering University of California, Riverside *Also with the.
Hierarchical packet classification using a Bloom filter and rule-priority tries Source : Computer Communications Authors : A. G. Alagu Priya 、 Hyesook.
DRES: Dynamic Range Encoding Scheme for TCAM Coprocessors 2008 YU-ANTL Lab Seminar June 11, 2008 JeongKi Park Advanced Networking Technology Lab. (YU-ANTL)
IP Address Lookup Masoud Sabaei Assistant professor Computer Engineering and Information Technology Department, Amirkabir University of Technology.
Exploiting Graphics Processors for High-performance IP Lookup in Software Routers Jin Zhao, Xinya Zhang, Xin Wang, Yangdong Deng, Xiaoming Fu IEEE INFOCOM.
IP Routers – internal view
Packet Forwarding.
Multiway range trees: scalable IP lookup with fast updates
Statistical Optimal Hash-based Longest Prefix Match
Transport Layer Systems Packet Classification
Jason Klaus Supervisor: Duncan Elliott August 2, 2007 (Confidential)
A Small and Fast IP Forwarding Table Using Hashing
Jason Klaus, Duncan Elliott Confidential
Near-optimal Routing Lookups with Bounded Worst-case Performance
A SRAM-based Architecture for Trie-based IP Lookup Using FPGA
MEET-IP Memory and Energy Efficient TCAM-based IP Lookup
Towards TCAM-based Scalable Virtual Routers
Presentation transcript:

Fast Incremental Updates on Ternary-CAMs for Routing Lookups and Packet Classification August 17, 2000 Hot Interconnects 8 Devavrat Shah and Pankaj Gupta Department of Computer Science Stanford University {devavrat, pankaj}@stanford.edu http://www.stanford.edu/~pankaj

Unicast destination address based lookup Lookup in an IP Router HEADER Dstn Addr Forwarding Engine Next Hop Next Hop Computation Forwarding Table Dstn-prefix Next Hop ---- ---- ---- ---- Incoming Packet ---- ---- Unicast destination address based lookup

IP Lookup = Longest Prefix Matching Next-hop 100/9 10.0.0.111 103.23.122.7 171.3.2.22 103.23/16 171.3.2.4 103.23.122/23 171.3.2.22 101.20/13 320.3.3.1 101.1/16 120.33.32.98 Forwarding Table Find the longest prefix matching the incoming destination address

Requirements of a Route Lookup Scheme High Speed : tens of millions per sec Low storage : ~100K entries Fast updates: few thousands per second, but ideally at lookup speed

Route Lookup Schemes Various algorithms : come to tutorial tomorrow if interested This paper is about ternary CAMs

Content-addressable Memory (CAM) Fully associative memory Exact match (fixed-length) search operation in a single clock cycle TCAM: stores a 0, 1 or X in each cell: useful for wildcard matching

Route Lookup Using TCAM Location Prefix Next-hop 1 P1 103.23.122/23 171.3.2.22 1 P2 1 103.23/16 171.3.2.4 P3 101.1/16 2 120.33.32.98 Priority Encoder 103.23.122.7 P1 P4 101.20/13 3 320.3.3.1 P5 4 100/9 10.0.0.111 5 6 To find the longest prefix cheaply, need to keep entries sorted in order of decreasing prefix lengths

General TCAM Configuration For Longest Prefix Matching 32 bit Prefixes 31 bit Prefixes 30 bit Prefixes Prefix-length ordering constraint (PLO) 10 bit Prefixes 9 bit Prefixes 8 bit Prefixes

Incremental Update Problem Updates: Insert a new prefix Delete an old prefix Problem: how to keep the sorting invariant (e.g., the PLO) under updates

Target Update Rate ? Many are happy with a few hundred thousand per second Others want (and claim) single clock-cycle updates Our goal: make them as fast as possible (ideally single-cycle)

Common Solution: O(N) 32 bit Prefix 31 bit Prefix Add new 30-bit prefix 30 bit Prefix M N 10 bit Prefix Problem: How to manage the empty space for best update time and TCAM utilization? 9 bit Prefix 8 bit Prefix Empty Space

Better Average Update Rate 32 bit Prefix 31 bit Prefix Add new 30-bit prefix 30 bit Prefix 9 bit Prefix 8 bit Prefix Worst case is still O(N)

An L-solution (L=32) Two prefixes of same length can be in any order 32 bit Prefix 31 bit Prefix Add 30 bit Prefix Two prefixes of same length can be in any order 10 bit Prefix 9 bit Prefix 8 bit Prefix Empty Space

Routing Table for Simulation Mae-East Entries 43344 Insertion 34204 Deletion 4140 Snapshot + 3-hour updates on the original table Source: www.merit.edu - March 1, 2000

Performance of L-solution Avg #memory writes # Entries

Outline of Rest of the Talk Algorithm PLO_OPT: worst case L/2 memory shifts (provably optimal) Algorithm CAO_OPT: even better (conjectured to be optimal)

PLO_OPT Worst-case L/2 Add 32 bit Prefix 31 bit Prefix 21 bit Prefix Empty Space 20 bit Prefix Worst-case L/2 9 bit Prefix 8 bit Prefix

PLO_OPT (MAE-EAST)

Better Algorithm ? PLO_OPT is optimal under the PLO constraint Question: can we relax the constraint and still achieve correct lookup operation?

Yes: PLO Constraint is More Restrictive Than Needed 31 Maximal chain P2 has no ordering constraint with P3 or P4 P4 < P3 < P1, P2 < P1 Chain ancestor Ordering Constraint P3 29 P1 10/8 P2 10.64/15 P3 10.1.1.128/29 P4 10.1.1.130/31 P2 15 8 P1

Algorithm CAO_OPT Maintain free space pool in the “middle” of the maximal chain Basic idea: for every prefix, the longest chain that this prefix belongs to should be split around the free space pool as equally as possible

CAO_OPT: Example P4 < P3 < P1, P2 < P1 P4 P2 P3 P1 P1 10/8 P2 10.64/15 P3 10.1.1.128/29 P4 10.1.1.130/31 P4 < P3 < P1, P2 < P1 P1

CAO_OPT: Updates Insertion : find the maximal chain to which new entry belongs and insert it such that this chain is distributed as equally as possible around the free space : D/2 operations Deletion : reverse operation with update possibly using another chain

Auxiliary Data Structure Trie of prefixes with two additional fields per node Update operation takes L memory writes in software and D/2 in TCAM

Maximal-chain Length (D) Distribution Number of chains Chain Length

CAO_OPT (MAE-EAST) Avg #memory writes # Entries

Summary of Simulation Results Algorithm CAO_OPT PLO_OPT L-soln Mean 1.015 4.098 7.27 Variance 0.01 2.03 4.09 Worst Case 3 12 21 Hence, can achieve 1-2 cycle updates