Author : Yang Xu, Lei Ma, Zhaobo Liu, H. Jonathan Chao Publisher : ANCS 2011 Presenter : Jo-Ning Yu Date : 2011/12/28.

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

Authors: Wei Lin, Bin Liu Publisher: ICPADS, 2008 (IEEE International Conference on Parallel and Distributed Systems) Presenter: Chia-Yi, Chu Date: 2014/03/05.
CSCE 3400 Data Structures & Algorithm Analysis
A Ternary Unification Framework for Optimizing TCAM-Based Packet Classification Systems Author: Eric Norige, Alex X. Liu, and Eric Torng Publisher: ANCS.
Combinatorial Pattern Matching CS 466 Saurabh Sinha.
Hashing Techniques.
1 A Heuristic and Hybrid Hash- based Approach to Fast Lookup Author: Gianni Antichi, Andrea Di Pietro, Domenico Ficara, Stefano Giordano, Gregorio Procissi,
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
CSC 2300 Data Structures & Algorithms February 27, 2007 Chapter 5. Hashing.
Parallel-Search Trie-based Scheme for Fast IP Lookup
1 Accelerating Multi-Patterns Matching on Compressed HTTP Traffic Authors: Anat Bremler-Barr, Yaron Koral Presenter: Chia-Ming,Chang Date: Publisher/Conf.
An Efficient and Scalable Pattern Matching Scheme for Network Security Applications Department of Computer Science and Information Engineering National.
Pipelined Architecture For Multi-String Match Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
Hash Tables1 Part E Hash Tables  
Aho-Corasick String Matching An Efficient String Matching.
1 Performance Improvement of Two-Dimensional Packet Classification by Filter Rephrasing Department of Computer Science and Information Engineering National.
1 HEXA: Compact Data Structures or Faster Packet Processing Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher. Publisher: ICNP.
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 and Scalable Packet Classification Using Perfect Hash functions Author: Viktor Puš, Jan Korenek Publisher: FPGA’09 Presenter: Yu-Ping Chiang Date:
1 HEXA : Compact Data Structures for Faster Packet Processing Department of Computer Science and Information Engineering National Cheng Kung University,
1 Scalable Pattern-Matching via Dynamic Differentiated Distributed Detection (D 4 ) Author: Kai Zheng, Hongbin Lu Publisher: GLOBECOM 2008 Presenter: Han-Chen.
Memory-Efficient Regular Expression Search Using State Merging Department of Computer Science and Information Engineering National Cheng Kung University,
1 Efficient packet classification using TCAMs Authors: Derek Pao, Yiu Keung Li and Peng Zhou Publisher: Computer Networks 2006 Present: Chen-Yu Lin Date:
Comp 249 Programming Methodology Chapter 15 Linked Data Structure - Part B Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia.
Chapter 13 File Structures. Understand the file access methods. Describe the characteristics of a sequential file. After reading this chapter, the reader.
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
An Improved Algorithm to Accelerate Regular Expression Evaluation Author : Michela Becchi 、 Patrick Crowley Publisher : ANCS’07 Presenter : Wen-Tse Liang.
Author : Ozgun Erdogan and Pei Cao Publisher : IEEE Globecom 2005 (IJSN 2007) Presenter : Zong-Lin Sie Date : 2010/12/08 1.
An Improved Algorithm to Accelerate Regular Expression Evaluation Author: Michela Becchi, Patrick Crowley Publisher: 3rd ACM/IEEE Symposium on Architecture.
A Scalable Architecture For High- Throughput Regular-Expression Pattern Matching Authors : Benjamin C. Brodie, Ron K. Cytron, David E. Taylor Presenter.
TFA : A Tunable Finite Automaton for Regular Expression Matching Author: Yang Xu, Junchen Jiang, Rihua Wei, Tang Song and H. Jonathan Chao Publisher: Technical.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
High-Speed Packet Classification Using Binary Search on Length Authors: Hyesook Lim and Ju Hyoung Mun Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Jan. 14, 2008.
Towards a Billion Routing Lookups per Second in Software  Author: Marko Zec, Luigi, Rizzo Miljenko Mikuc  Publisher: SIGCOMM Computer Communication Review,
Parallelization and Characterization of Pattern Matching using GPUs Author: Giorgos Vasiliadis 、 Michalis Polychronakis 、 Sotiris Ioannidis Publisher:
CISC1100: Binary Numbers Fall 2014, Dr. Zhang 1. Numeral System 2  A way for expressing numbers, using symbols in a consistent manner.  " 11 " can be.
On Adding Bloom Filters to Longest Prefix Matching Algorithms
WEEK 1 Hashing CE222 Dr. Senem Kumova Metin
Memory Compression Algorithms for Networking Features Sailesh Kumar.
1 Fast packet classification for two-dimensional conflict-free filters Department of Computer Science and Information Engineering National Cheng Kung University,
Author : Sarang Dharmapurikar, John Lockwood Publisher : IEEE Journal on Selected Areas in Communications, 2006 Presenter : Jo-Ning Yu Date : 2010/12/29.
Hashtables. An Abstract data type that supports the following operations: –Insert –Find –Remove Search trees can be used for the same operations but require.
Cross-Product Packet Classification in GNIFS based on Non-overlapping Areas and Equivalence Class Author: Mohua Zhang, Ge Li Publisher: AISS 2012 Presenter:
Hashed Files Text Versus Binary Meghan Cavanagh. Hashed Files a file that is searched using one of the hashing methods User gives the key, the function.
1 CSCD 326 Data Structures I Hashing. 2 Hashing Background Goal: provide a constant time complexity method of searching for stored data The best traditional.
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Author : Weirong Jiang, Yi-Hua E. Yang, and Viktor K. Prasanna Publisher : IPDPS 2010 Presenter : Jo-Ning Yu Date : 2012/04/11.
TFA: A Tunable Finite Automaton for Regular Expression Matching Author: Yang Xu, Junchen Jiang, Rihua Wei, Yang Song and H. Jonathan Chao Publisher: ACM/IEEE.
A Fast Regular Expression Matching Engine for NIDS Applying Prediction Scheme Author: Lei Jiang, Qiong Dai, Qiu Tang, Jianlong Tan and Binxing Fang Publisher:
An Improved DFA for Fast Regular Expression Matching Author : Domenico Ficara 、 Stefano Giordano 、 Gregorio Procissi Fabio Vitucci 、 Gianni Antichi 、 Andrea.
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:
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 : Masanori Bando and H. Jonathan Chao Publisher : INFOCOM, 2010 Presenter : Jo-Ning Yu Date : 2011/02/16.
Author : Masanori Bando, N. Sertac Artan and H. Jonathan Chao Publisher : Parallel & Distributed Processing, Workshops and Phd Forum (IPDPSW), 2010 Presenter.
Gnort: High Performance Network Intrusion Detection Using Graphics Processors Date:101/2/15 Publisher:ICS Author:Giorgos Vasiliadis, Spiros Antonatos,
Packet Classification Using Multi- Iteration RFC Author: Chun-Hui Tsai, Hung-Mao Chu, Pi-Chung Wang Publisher: 2013 IEEE 37th Annual Computer Software.
June 13, 2016 Prof. Abdelaziz Khamis 1 Chapter 2 Scanning – Part 2.
CSC 212 – Data Structures Lecture 28: More Hash and Dictionaries.
Range Hash for Regular Expression Pre-Filtering Publisher : ANCS’ 10 Author : Masanori Bando, N. Sertac Artan, Rihua Wei, Xiangyi Guo and H. Jonathan Chao.
Efficient Signature Matching with Multiple Alphabet Compression Tables Publisher : SecureComm, 2008 Author : Shijin Kong,Randy Smith,and Cristian Estan.
Hashing (part 2) CSE 2011 Winter March 2018.
Assignment 6: Huffman Code Generation
13 Text Processing Hongfei Yan June 1, 2016.
HEXA: Compact Data Structures for Faster Packet Processing
Regular Expression Acceleration at Multiple Tens of Gb/s
Scalable Multi-Match Packet Classification Using TCAM and SRAM
Compact DFA Structure for Multiple Regular Expressions Matching
Presentation transcript:

Author : Yang Xu, Lei Ma, Zhaobo Liu, H. Jonathan Chao Publisher : ANCS 2011 Presenter : Jo-Ning Yu Date : 2011/12/28

  Main idea  Problem Statement  P 2 -Hashing Algorithm  2D P 2 -Hashing Algorithm  System Design  Perfect Hash Table Construction Algorithm With Rule Table Support  Performance Evaluation Outline 2

  Our main objective in this paper is to store all the transitions of AC automaton in a perfect hash table.  P 2 -Hashing first divides all the transitions into many small sets based on the two-dimensional values of the hash keys, and then places the sets of transitions progressively into the hash table until all are placed.  When placing a transition in a hash table and causing a collision, we can change the value of a dimension of the hash key to rehash the transition to a new location of the hash table.  Hash collisions that occurred during the insertion of a transition will only affect the transitions in the same set. Main Idea 3

  Format of hash table : (source state ID, input character) => destined state ID Problem Statement 4

  (1) If a hash collision occurs when we try to place a new key into the hash table, the collision might be avoided if we could change the value of the key.  (2) The ID of each state of AC automaton could be named as any values, as long as there are no two states being named with the value.  Based on these two observations, we designed a scheme called Progressive Perfect Hash (P 2 -Hashing) to place the transitions of AC automaton in a hash table without collision. Progressive Perfect Hashing Algorithm(P 2 -Hashing) 5

  The main idea of P 2 -Hashing is to divide the goto transitions of a given AC automaton into multiple independent sets according to their source states, and place these transition sets in the hash table in decreasing order of their sizes.  Any hash collision occurring during the placement of a set causes the set placement failure, and the already-placed transitions in this set are removed from the hash table. Then the source state shared by transitions in this set is renamed, and another set placement trial is performed.  The renaming operation repeats until a successful set placement is achieved, and then the placement of the next transition set starts Progressive Perfect Hashing Algorithm(P 2 -Hashing)

  7

  Each state in AC automaton corresponds to a node in set U.  Each character in AC automaton corresponds to a node in set V.  Each transition in AC automaton corresponds to an edge in set E.  Storing transitions of the AC automaton in a perfect hash table is equivalent to storing edges of the bipartite graph in the perfect hash table. 8 2D P 2 -Hashing Algorithm Step 1

 9 2D P 2 -Hashing Algorithm

 10 2D P 2 -Hashing Algorithm Step

 11 2D P 2 -Hashing Algorithm Step 3

 System Design 12 It is used to translate input characters from ASCII codes to the internal encodings. It is used to store goto transitions and failure transitions and implemented as a perfect hash table. It is used to store matching rules.

  Perfect Hash Table Construction Algorithm With Rule Table Support 13 Step 1

 14 Perfect Hash Table Construction Algorithm With Rule Table Support Step 2

  It is similar to 2D P 2 -Hashing algorithm, except that each dependent edge set here might have two different types of edges.  During the placement of each dependent edge set, edges are placed into the corresponding hash tables according to their types. 15 Perfect Hash Table Construction Algorithm With Rule Table Support Step 3

  The evaluated algorithms are implemented in C++ and tested on an AMD Athlon 64 X GHz computer with 3-GB memory.  Three string rule sets : 1.The first is extracted from the Snort rule set (June 2009), and includes 6.4K string rules. 2.The second is extracted from the ClamAV rule set (June 2009), and includes 54K string rules. 3.The third one is a subset of the first rule set including only 20 short rules with the same prefix. Performance Evaluation 16

 Performance Evaluation 17

 18 Performance Evaluation

  Storage Requirement Performance Evaluation 19 * load factor : 90.9%