1 HEXA : Compact Data Structures for Faster Packet Processing Department of Computer Science and Information Engineering National Cheng Kung University,

Slides:



Advertisements
Similar presentations
Michael Alves, Patrick Dugan, Robert Daniels, Carlos Vicuna
Advertisements

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.
Topological Sort and Hashing
An Improved Construction for Counting Bloom Filters Flavio Bonomi Michael Mitzenmacher Rina Panigrahy Sushil Singh George Varghese Presented by: Sailesh.
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.
Deterministic Memory- Efficient String Matching Algorithms for Intrusion Detection Nathan Tuck, Timothy Sherwood, Brad Calder, George Varghese Department.
1 ReCPU:a Parallel and Pipelined Architecture for Regular Expression Matching Department of Computer Science and Information Engineering National Cheng.
Indexed Search Tree (Trie) Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 Accelerating Multi-Patterns Matching on Compressed HTTP Traffic Authors: Anat Bremler-Barr, Yaron Koral Presenter: Chia-Ming,Chang Date: Publisher/Conf.
Performance Evaluation of IPv6 Packet Classification with Caching Author: Kai-Yuan Ho, Yaw-Chung Chen Publisher: ChinaCom 2008 Presenter: Chen-Yu Chaug.
1 Regular expression matching with input compression : a hardware design for use within network intrusion detection systems Department of Computer Science.
An Efficient and Scalable Pattern Matching Scheme for Network Security Applications Department of Computer Science and Information Engineering National.
1 Performance Improvement of Two-Dimensional Packet Classification by Filter Rephrasing Department of Computer Science and Information Engineering National.
1 An innovative low-cost Classification Scheme for combined multi-Gigabit IP and Ethernet Networks Department of Computer Science and Information Engineering.
1 HEXA: Compact Data Structures or Faster Packet Processing Author: Sailesh Kumar, Jonathan Turner, Patrick Crowley, Michael Mitzenmacher. Publisher: ICNP.
1 Fast and Memory-Efficient Regular Expression Matching for Deep Packet Inspection Department of Computer Science and Information Engineering National.
Fast and Scalable Packet Classification Using Perfect Hash functions Author: Viktor Puš, Jan Korenek Publisher: FPGA’09 Presenter: Yu-Ping Chiang Date:
Memory-Efficient Regular Expression Search Using State Merging Department of Computer Science and Information Engineering National Cheng Kung University,
1 Route Table Partitioning and Load Balancing for Parallel Searching with TCAMs Department of Computer Science and Information Engineering National Cheng.
Packet Classification using Rule Caching Author: Nitesh B. Guinde, Roberto Rojas-Cessa, Sotirios G. Ziavras Publisher: IISA, 2013 Fourth International.
IP Address Lookup Masoud Sabaei Assistant professor
Fast and deterministic hash table lookup using discriminative bloom filters  Author: Kun Huang, Gaogang Xie,  Publisher: 2013 ELSEVIER Journal of Network.
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.
1 Recursively Partitioned Static IP Router Table Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C.
A Regular Expression Matching Algorithm Using Transition Merging Department of Computer Science and Information Engineering National Cheng Kung University,
High-Speed Packet Classification Using Binary Search on Length Authors: Hyesook Lim and Ju Hyoung Mun Presenter: Yi-Sheng, Lin ( 林意勝 ) Date: Jan. 14, 2008.
Comp 335 File Structures Hashing.
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,
A Small IP Forwarding Table Using Hashing Yeim-Kuan Chang and Wen-Hsin Cheng Dept. of Computer Science and Information Engineering National Cheng Kung.
Algorithms to Accelerate Multiple Regular Expressions Matching for Deep Packet Inspection Sailesh Kumar Sarang Dharmapurikar Fang Yu Patrick Crowley Jonathan.
Sets of Digital Data CSCI 2720 Fall 2005 Kraemer.
Memory-Efficient IPv4/v6 Lookup on FPGAs Using Distance-Bounded Path Compression Author: Hoang Le, Weirong Jiang and Viktor K. Prasanna Publisher: IEEE.
SybilGuard: Defending Against Sybil Attacks via Social Networks.
Author : Sarang Dharmapurikar, John Lockwood Publisher : IEEE Journal on Selected Areas in Communications, 2006 Presenter : Jo-Ning Yu Date : 2010/12/29.
Memory-Efficient Regular Expression Search Using State Merging Author: Michela Becchi, Srihari Cadambi Publisher: INFOCOM th IEEE International.
Author : Yang Xu, Lei Ma, Zhaobo Liu, H. Jonathan Chao Publisher : ANCS 2011 Presenter : Jo-Ning Yu Date : 2011/12/28.
Author: Haoyu Song, Murali Kodialam, Fang Hao and T.V. Lakshman Publisher/Conf. : IEEE International Conference on Network Protocols (ICNP), 2009 Speaker:
Memory-Efficient and Scalable Virtual Routers Using FPGA Department of Computer Science and Information Engineering, National Cheng Kung University, Tainan,
Updating Designed for Fast IP Lookup Author : Natasa Maksic, Zoran Chicha and Aleksandra Smiljani´c Conference: IEEE High Performance Switching and Routing.
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:
Lightweight Traffic-Aware Packet Classification for Continuous Operation Author: Shariful Hasan Shaikot, Min Sik Kim Presenter: Yen-Chun Tseng Date: 2014/11/26.
Cuckoo Filter: Practically Better Than Bloom Author: Bin Fan, David G. Andersen, Michael Kaminsky, Michael D. Mitzenmacher Publisher: ACM CoNEXT 2014 Presenter:
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
1 DESIGN AND EVALUATION OF A PIPELINED FORWARDING ENGINE Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan.
Advanced Algorithms for Fast and Scalable Deep Packet Inspection Author : Sailesh Kumar 、 Jonathan Turner 、 John Williams Publisher : ANCS’06 Presenter.
Practical Multituple Packet Classification Using Dynamic Discrete Bit Selection Author: Baohua Yang, Fong J., Weirong Jiang, Yibo Xue, Jun Li Publisher:
Hierarchical Hybrid Search Structure for High Performance Packet Classification Authors : O˜guzhan Erdem, Hoang Le, Viktor K. Prasanna Publisher : INFOCOM,
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:
Generic Trees—Trie, Compressed Trie, Suffix Trie (with Analysi
Tries 07/28/16 11:04 Text Compression
Tries 5/27/2018 3:08 AM Tries Tries.
Tries 9/14/ :13 AM Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and.
HEXA: Compact Data Structures for Faster Packet Processing
Advanced Algorithms for Fast and Scalable Deep Packet Inspection
Parallel Processing Priority Trie-based IP Lookup Approach
2018/12/29 A Novel Approach for Prefix Minimization using Ternary trie (PMTT) for Packet Classification Author: Sanchita Saha Ray, Abhishek Chatterjee,
Memory-Efficient Regular Expression Search Using State Merging
Tries 2/23/2019 8:29 AM Tries 2/23/2019 8:29 AM Tries.
A Small and Fast IP Forwarding Table Using Hashing
Scalable Multi-Match Packet Classification Using TCAM and SRAM
A Hybrid IP Lookup Architecture with Fast Updates
A SRAM-based Architecture for Trie-based IP Lookup Using FPGA
Authors: Ding-Yuan Lee, Ching-Che Wang, An-Yeu Wu Publisher: 2019 VLSI
Towards TCAM-based Scalable Virtual Routers
Presentation transcript:

1 HEXA : Compact Data Structures for Faster Packet Processing Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. Authors: Sailesh Kumar, Jonathan Turner, Patrick Crowley,and Michael Mitzenmacher Publisher: ICNP 2007 Present: Yu-Tso Chen Date: JUNE, 10, 2008

2 Outline 1. Introduction 2. Proposed Approach 3. Architecture Description 4. Performance Evaluation

3 Introduction HEXA (History-based Encoding, eXecution and addressing) Directed graphs are commonly used to implement various packet processing algorithms Used a fixed constant numbers of bits per node for structured graphs such as tries

4 Motivating Example , 2, , 4, , NULL, , NULL, NULL 5. 0,7, , NULL, NULL 7. 0, 9, NULL 8. 1, NULL, NULL 9. 1, NULL, NULL Standard representation HEXA identifier by the input stream

5 Motivating Example HEXA requires a hash function Store only 3 bits worth of information for each node of trie First bit is valid prefix Second and third bits are if node has a left and right child

6 Motivating Example Require a minimal perfect hash function Maintaining the one- to-one mapping 1. f(-) =4 2. f(0) =7 3. f(1) =9 4. f(00) = 2 5. f(01) = 8 6. f(11) = 1 7. f(010) = 5 8. f(011) = 3 9. f(0100) = ,00 0,101,1,011,0,111, P5P1P4P2P3 Fast path Next hop 1. h(00 -) = 0 2. h(00 0) = 1 3. h(01 1) = 4 4. h(11 00) = 7 5. h(10 01) = 2 6. h(00 11) = 8 7. h(11 010) = 6 8. h(11 011) = 5 9. h( ) = 3

7 Example Input stream 011 Start at index f(-) = 4 next input is 0 has left child f(0) = 7 f(0) next input is 1 has right child f(01) = 8 f(01) next input is 1 has right child f(011) = 3 match and no child stop search. Then to read the next hop is P4

8 Child’s discriminator give parent ,00 0,111,1,011,0,011, P5P1P4P2P3 Fast path Next hop 1. h(00 -) = 0 2. h(00 0) = 1 3. h(01 1) = 4 4. h(11 00) = 7 5. h(10 01) = 2 6. h(00 11) = 8 7. h(11 010) = 6 8. h(11 011) = 5 9. h( ) = 3

9 Example (to be cont.) Input stream 011 Start at index h(00 -) = 0 next input is 0 has child h(00 0) = 1 h(00 0) next input is 1 has child h(10 01) = 2 h(01) next input is 1 has child h(011) = 5 match and no child stop search. Then to read the next hop is P4

10 Devising One-to-one Mapping Simplify the problem (perfect hash function) by HEXA identifier of a node can be modified without changing its meaning and keeping it unique. Node identifier to contain few additional (say c) bits We call these c-bits the node’s discriminator Hence up to 2 c memory locations, from which we have to pick just one Use multiple-choice hashing and cuckoo hashing

11 Devising One-to-one Mapping Instead of storing a bit for each left and right child We store the discriminator if the child exists. All-0 c-bit word to represent NULL Only 2 c -1 memory locations This problem can be viewed as a bipartite graph matching problem. G=(V 1 +V 2, E) Left set – Original directed graph Right set – Locations memory 2 c edges connected to random right vertices

12 Memory mapping graph

13 Updating a Perfect Matching Deletions are easy (Check by Fig.1) Simply remove the relevant node from the hash table (and update pointers to that node) Insert a node but its hash locations are already taken Find a augmenting path in G Augmenting path can be found via a BFS [1] Remapping other nodes to other locations By changing their discriminator bits

14 Bounded HEXA (BHEXA) Cyclic graph – Aho-Corasick 1. no,2, 1,7 2. no, 2, 3, 7 3. no, 2, 4, 6 4. no,5, 1,7 5. match, 2, 3, 7 6. match, 8, 1, 7 7. no,8, 1,7 8. no, 2, 9, 7 9. match, 2, 4, , a 3. -, b, ab 4. -, b, bb, abb 5. -, a, ba, bba, abba 6. -, c, bc, abc 7. -, c 8. -, a, ca 9. -, b, ab, cab

15 Motivating Example Root node is “-” All incoming edges into node 2 are labeled with “a” Thus its identifier can either be – or a The identifier of node 7 can be – or c Both paths 1- a ->2- b ->3 and 9- b ->4- a ->5- b ->3 lead to the node 3 And two symbols in these paths are identical Its identifier can either be – or b or ab We must ensure the ones we choose are unique.

16 Memory Mapping If a node has k choices then up to log 2 k additional bits to indicate the length of its identifier Node 5 has 5 choices ; hence 3-bits may be needed Only c + log 2 k bits worth of information is required to be stored

17 Memory mapping graph 1. h(-) = 0 2. h(a) = 1 3. h(ab) = 5 4. h(bb) = 6 5. h(bba) = 9 6. h(bc) = 8 7. h(c) = 3 8. h(ca) = 4 9. h(b) = 2

18 Memory Mapping We only store the length of bHEXA identifiers in the memory Standard implementation (13-bits per node) bHEXA uses about half memory (7-bits per node) 1. h(-) = 0 2. h(a) = 1 3. h(ab) = 5 4. h(bb) = 6 5. h(bba) = 9 6. h(bc) = 8 7. h(c) = 3 8. h(ca) = 4 9. h(b) = 2

19 Example Input stream abba Start at h(-) = 0 next input is a h(a) = 1 Next input is b h(ab) = 5 then to h(bb) = 6 Then can find h(bba) = 9 match

20 Experimental Evaluation

21 Experimental Evaluation Multi-bit tries

22 Incremental Updates PDF of the number of memory operations required to perform a single trie update. Left trie size = 100,000 nodes, Right trie size = 10,000 nodes.

23 Result on Strings Implemented with Aho-Corasick Spill fraction – number of automaton nodes that could not be mapped to a memory location Summarize bHEXA achieve between 2-5 fold reductions in the memory

24 Result on Strings Plotting spill fraction: a) Aho-Coroasick automaton for random strings sets, b) Aho-Coroasick automaton for real world string sets, and c) random and real world strings with bit-split version of Aho-Corasick. Cisco622 有很多 state 有 相同的 bHEXA identifiers 4 state-machines, each handling two bits of the 8-bit input character

25 Tanks for your attention

26 Devising One-to-one Mapping If we require m=n, c is loglogn + O(1) to ensure perfect matching exists with high probability Fig.2 we assume that the hash function is simply the numerical value of the identifier modulo 9

27 Memory Mapping m=10 h=(sum from i=1 to k S i x i )mod10 - = 0, a = 1, b = 2,c = 3