Outline Introduction Related work on packet classification Grouper Performance Empirical Evaluation Conclusions.

Slides:



Advertisements
Similar presentations
Growth-rate Functions
Advertisements

1 IP-Lookup and Packet Classification Advanced Algorithms & Data Structures Lecture Theme 08 – Part I Prof. Dr. Th. Ottmann Summer Semester 2006.
Fast Firewall Implementation for Software and Hardware-based Routers Lili Qiu, Microsoft Research George Varghese, UCSD Subhash Suri, UCSB 9 th International.
Fundamentals of Python: From First Programs Through Data Structures
A Ternary Unification Framework for Optimizing TCAM-Based Packet Classification Systems Author: Eric Norige, Alex X. Liu, and Eric Torng Publisher: ANCS.
1 TCAM Razor: A Systematic Approach Towards Minimizing Packet Classifiers in TCAMs Department of Computer Science and Information Engineering National.
On the Code Length of TCAM Coding Schemes Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) 1.
Efficient Multi-match Packet Classification with TCAM Fang Yu Randy H. Katz EECS Department, UC Berkeley {fyu,
Fast Filter Updates for Packet Classification using TCAM Authors: Haoyu Song, Jonathan Turner. Publisher: GLOBECOM 2006, IEEE Present: Chen-Yu Lin Date:
Complexity Analysis (Part I)
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
1 Energy Efficient Multi-match Packet Classification with TCAM Fang Yu
CS 268: Lectures 13/14 (Route Lookup and Packet Classification) Ion Stoica April 1/3, 2002.
Efficient Multidimensional Packet Classification with Fast Updates Author: Yeim-Kuan Chang Publisher: IEEE TRANSACTIONS ON COMPUTERS, VOL. 58, NO. 4, APRIL.
Parallel-Search Trie-based Scheme for Fast IP Lookup
Efficient Multi-Match Packet Classification with TCAM Fang Yu
Cmpt-225 Algorithm Efficiency.
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.
Packet Classification George Varghese. Original Motivation: Firewalls Firewalls use packet filtering to block say ssh and force access to web and mail.
CS 268: Route Lookup and Packet Classification
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
Chapter 9 Classification And Forwarding. Outline.
Analysis of Performance
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
Achieving fast (approximate) event matching in large-scale content- based publish/subscribe networks Yaxiong Zhao and Jie Wu The speaker will be graduating.
CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a CSC 201 Analysis and Design of Algorithms Lecture 03: Introduction to a lgorithms.
CoPTUA: Consistent Policy Table Update Algorithm for TCAM without Locking Zhijun Wang, Hao Che, Mohan Kumar, Senior Member, IEEE, and Sajal K. Das.
Analysis of Algorithms1 Running Time Pseudo-Code Analysis of Algorithms Asymptotic Notation Asymptotic Analysis Mathematical facts.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
Analysis of Algorithms
Wire Speed Packet Classification Without TCAMs ACM SIGMETRICS 2007 Qunfeng Dong (University of Wisconsin-Madison) Suman Banerjee (University of Wisconsin-Madison)
1 CS 350 Data Structures Chaminade University of Honolulu.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Packet Classification on Multiple Fields 참고 논문 : Pankaj Gupta and Nick McKeown SigComm 1999.
Palette: Distributing Tables in Software-Defined Networks Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay.
Towards a Billion Routing Lookups per Second in Software  Author: Marko Zec, Luigi, Rizzo Miljenko Mikuc  Publisher: SIGCOMM Computer Communication Review,
Multi-Field Range Encoding for Packet Classification in TCAM Author: Yeim-Kuan Chang, Chun-I Lee and Cheng-Chien Su Publisher: INFOCOM 2011 Presenter:
An Efficient Regular Expressions Compression Algorithm From A New Perspective  Author: Tingwen Liu, Yifu Yang, Yanbing Liu, Yong Sun, Li Guo  Publisher:
1. Outline Introduction Related work on packet classification Grouper Performance Analysis Empirical Evaluation Conclusions 2/42.
Hashing Sections 10.2 – 10.3 CS 302 Dr. George Bebis.
On Finding an Optimal TCAM Encoding Scheme for Packet Classification Ori Rottenstreich (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel)
Hashing Hashing is another method for sorting and searching data.
StrideBV: Single chip 400G+ packet classification Author: Thilan Ganegedara, Viktor K. Prasanna Publisher: HPSR 2012 Presenter: Chun-Sheng Hsueh Date:
A Smart Pre-Classifier to Reduce Power Consumption of TCAMs for Multi-dimensional Packet Classification Yadi Ma, Suman Banerjee University of Wisconsin-Madison.
UNIT 5.  The related activities of sorting, searching and merging are central to many computer applications.  Sorting and merging provide us with a.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Cross-Product Packet Classification in GNIFS based on Non-overlapping Areas and Equivalence Class Author: Mohua Zhang, Ge Li Publisher: AISS 2012 Presenter:
CS 740: Advanced Computer Networks IP Lookup and classification Supplemental material 02/05/2007.
Packet classification on Multiple Fields Authors: Pankaj Gupta and Nick McKcown Publisher: ACM 1999 Presenter: 楊皓中 Date: 2013/12/11.
An Improved DFA for Fast Regular Expression Matching Author : Domenico Ficara 、 Stefano Giordano 、 Gregorio Procissi Fabio Vitucci 、 Gianni Antichi 、 Andrea.
Packet Classification Using Multidimensional Cutting Sumeet Singh (UCSD) Florin Baboescu (UCSD) George Varghese (UCSD) Jia Wang (AT&T Labs-Research) Reviewed.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Dynamic Algorithms with Worst-case Performance for Packet Classification Pankaj Gupta and Nick McKeown Stanford University {pankaj,
1 Space-Efficient TCAM-based Classification Using Gray Coding Authors: Anat Bremler-Barr and Danny Hendler Publisher: IEEE INFOCOM 2007 Present: Chen-Yu.
Hierarchical packet classification using a Bloom filter and rule-priority tries Source : Computer Communications Authors : A. G. Alagu Priya 、 Hyesook.
Author : Lynn Choi, Hyogon Kim, Sunil Kim, Moon Hae Kim Publisher/Conf : IEEE/ACM TRANSACTIONS ON NETWORKING Speaker : De yu Chen Data :
BITS Pilani Pilani Campus Data Structure and Algorithms Design Dr. Maheswari Karthikeyan Lecture1.
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
GC 211:Data Structures Week 2: Algorithm Analysis Tools Slides are borrowed from Mr. Mohammad Alqahtani.
DRES: Dynamic Range Encoding Scheme for TCAM Coprocessors 2008 YU-ANTL Lab Seminar June 11, 2008 JeongKi Park Advanced Networking Technology Lab. (YU-ANTL)
CSC317 Selection problem q p r Randomized‐Select(A,p,r,i)
A DFA with Extended Character-Set for Fast Deep Packet Inspection
GC 211:Data Structures Algorithm Analysis Tools
GC 211:Data Structures Algorithm Analysis Tools
SPEAKER: Yu-Shan Chou ADVISOR: DR. Kai-Wei Ke
Packet Classification Using Coarse-Grained Tuple Spaces
GC 211:Data Structures Algorithm Analysis Tools
Scalable Multi-Match Packet Classification Using TCAM and SRAM
Presentation transcript:

Outline Introduction Related work on packet classification Grouper Performance Empirical Evaluation Conclusions

Introducing Grouper A packet classification algorithm Parameterized by the amount of memory available to it Trades classification speed for memory efficiency Obtains good performance under real-world memory constraints

Quick (Over|Re)view of Packet Classifiers Takes in a list of rules, each specifying a class of packets matched by that rule The rules are usually arranged by priority Example policy here New slide: The classifier’s job is to input packets, and for every input, output a corresponding class number Typically, by outputting class number n for packet p, the classifier indicates that rule number n in its rule list was matched

Related Work: range rule patterns Existing software solutions (e.g., …) focus heavily on range and prefix pattern rules Range rule: dest_port = [1024 – 65535] Prefix rule: * For many applications, these types of rules are not expressive enough e.g., match odd-numbered ports > 1023 Requires X range/prefix rules Worst-case number of patterns required… 2^b-1 New slide: Noncontiguous bitmasks have comparatively more power. Bitmask rule: 1011***01**1

Related Work: relative inefficiency of range p- atterns Remove: Prefix rules are a strict subset of bitmask rules Name1 et al. recently showed that every b-bit range rule can be converted into b bitmask rules. An arbitrary b-bit bitmask rule may require O(2 b ) range rules to express Noncontiguous bitmask rules are therefore more efficiently expressible than range or prefix rules

Related Work: noncontiguous-bitmask rule pattterns Some existing software algorithms handle noncontiguous bitmasks RFC handles them, but uses prohibitively large amounts of memory for large rule sets (> 6000 rules) TCAMs (a hardware solution) are the de facto industry standard and use bitmask rules, but they [take from paper].

Related Work: regular- expression rule patterns Some software algorithms, such as ESAs XFAs and BDDs can handle regular expression rules, which are more expressive than bitmasks Unfortunately, all of these suffer from exponential classification time in the worst case.

The Grouper Packet- classification Algorithm Grouper is a software algorithm that handles bitmask rules It works by partitioning the bits of a packet into approximately equal sized groups [pic1: use a medium-size bit grouping] It uses the value of each of these groups to look up the set (expressed as a bitmap) of classes that match that group of bits [pic2] Then it takes the intersection (bitwise-AND) of all matching sets of rules to obtain the final matching class [pic3] The final result is an n-length bitmap representing the set of all classes the input packet belongs to. We can either return the highest priority class that matches, or all matching classes (Our implementation does the former). [pic4]

Observation: dimension independence Note that grouper is “blind” to packet fields/dimensions. As far as Grouper is concerned, every packet is simply an array of bits, groups do not necessarily correspond to packet fields. Doesn’t suffer from problems of other classification algorithms (e.g., geometric algorithms) whose performance is exponential in number of dimensions

Observation: Efficiency via Uniformity Grouper guarantees that all groups will be roughly equal in size (either floor(b/t) bits or ceil(b/t) bits). This property minimizes overall memory use compared to unevenly sized groups.

(Outline goes here)

Performance at the Extremes of Group Sizes By controlling the size of the bit groupings, Grouper can trade memory for classification speed [illustration: 2 pics, 1 big and 1 small group sizes] [maybe 2 more slides for what follows] Larger groups mean larger lookup tables but less table lookups and less intersections: this is one extreme of classification algorithm, using a single lookup table—large memory requirements but fast lookup time Small group sizes correspond to other extreme of classification algorithm: linear search

Grouper’s Performance in General (Running Time) Grouper uses t lookup tables to classify b bits according to n rules/classes [reshow pic of 3,3,2] Each lookup table maps either floor(b/t) or ceil(b/t) of the b packet bits to an n-length bitmap representing the set of all classes those bits could possibly match We say the b/t bits used to index a table are grouped together

Grouper in Depth [these ideas go into what is now slide 13] There is a special case when t = 1, since n intersections need to occur, if we only care about the highest priority match, we can simply store that class number at the corresponding row in the table, instead of a bitmap. This only requires log(n) bits per row, rather than n bits Obviously this is impractical for all but the smallest values of b

Grouper in Depth [same] On the other extreme, when t = b, it turns out that the space required for b tables is equal to the space required for b/2 tables. Because of this, the maximum number of groups is ceiling(b/2)

Grouper’s Performance in General (Memory Usage) Grouper uses t tables, each with O(2(b/t)) entries Each entry is an n-length bitmap consuming O(n/w) machines words (where w is the word size of the machine in bits). Total memory is therefore O((2 b/t tn)/w)

Grouper in Depth The exact memory usage of Grouper is given by: Talk about binary search for t value, given m