Author : N. Sertac Artan, Haowei Yuan, and H. Jonathan Chao Publisher/Conf : IEEE GLOBECOM 2008 Speaker : Chen Deyu Data : 2009.10.14.

Slides:



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

Segmented Hash: An Efficient Hash Table Implementation for High Performance Networking Subsystems Sailesh Kumar Patrick Crowley.
Quick Review of Apr 10 material B+-Tree File Organization –similar to B+-tree index –leaf nodes store records, not pointers to records stored in an original.
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree.
Optimal Fast Hashing Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay (Hebrew Univ., Israel)
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.
IP Routing Lookups Scalable High Speed IP Routing Lookups.
© 2004 Goodrich, Tamassia Hash Tables1  
Author: Francis Chang, Wu-chang Feng, Kang Li Publisher: INFOCOM 2004 Presenter: Yun-Yan Chang Date: 2010/12/01 1.
Cuckoo Hashing : Hardware Implementations Adam Kirsch Michael Mitzenmacher.
1 Searching Very Large Routing Tables in Wide Embedded Memory Author: Jan van Lunteren Publisher: GLOBECOM 2001 Presenter: Han-Chen Chen Date: 2010/01/06.
Hash Table indexing and Secondary Storage Hashing.
Fast Filter Updates for Packet Classification using TCAM Authors: Haoyu Song, Jonathan Turner. Publisher: GLOBECOM 2006, IEEE Present: Chen-Yu Lin Date:
Hash Tables With Finite Buckets Are Less Resistant to Deletions Yossi Kanizo (Technion, Israel) Joint work with David Hay (Columbia U. and Hebrew U.) and.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
Parallel-Search Trie-based Scheme for Fast IP Lookup
Hash Tables1 Part E Hash Tables  
Optimal Fast Hashing Yossi Kanizo (Technion, Israel) Joint work with Isaac Keslassy (Technion, Israel) and David Hay (Politecnico di Torino, Italy)
Hash Tables1 Part E Hash Tables  
An Efficient IP Lookup Architecture with Fast Update Using Single-Match TCAMs Author: Jinsoo Kim, Junghwan Kim Publisher: WWIC 2008 Presenter: Chen-Yu.
Hash Tables1 Part E Hash Tables  
1 Lecture 19: B-trees and Hash Tables Wednesday, November 12, 2003.
Hashing General idea: Get a large array
Fast binary and multiway prefix searches for pachet forwarding Author: Yeim-Kuan Chang Publisher: COMPUTER NETWORKS, Volume 51, Issue 3, pp , February.
1 Lecture 7: Data structures for databases I Jose M. Peña
Cloud and Big Data Summer School, Stockholm, Aug Jeffrey D. Ullman.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
PARALLEL TABLE LOOKUP FOR NEXT GENERATION INTERNET
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.
CS212: DATA STRUCTURES Lecture 10:Hashing 1. Outline 2  Map Abstract Data type  Map Abstract Data type methods  What is hash  Hash tables  Bucket.
CHAPTER 09 Compiled by: Dr. Mohammad Omar Alhawarat Sorting & Searching.
LayeredTrees: Most Specific Prefix based Pipelined Design for On-Chip IP Address Lookups Author: Yeim-Kuau Chang, Fang-Chen Kuo, Han-Jhen Guo and Cheng-Chien.
Author: Haoyu Song, Fang Hao, Murali Kodialam, T.V. Lakshman Publisher: IEEE INFOCOM 2009 Presenter: Chin-Chung Pan Date: 2009/12/09.
Peacock Hash: Deterministic and Updatable Hashing for High Performance Networking Sailesh Kumar Jonathan Turner Patrick Crowley.
Fast Packet Classification Using Bloom filters Authors: Sarang Dharmapurikar, Haoyu Song, Jonathan Turner, and John Lockwood Publisher: ANCS 2006 Present:
Hash Tables1   © 2010 Goodrich, Tamassia.
David Luebke 1 10/25/2015 CS 332: Algorithms Skip Lists Hash Tables.
1 CSE 326: Data Structures: Hash Tables Lecture 12: Monday, Feb 3, 2003.
Author : Guangdeng Liao, Heeyeol Yu, Laxmi Bhuyan Publisher : Publisher : DAC'10 Presenter : Jo-Ning Yu Date : 2010/10/06.
© 2004 Goodrich, Tamassia Hash Tables1  
Segmented Hash: An Efficient Hash Table Implementation for High Performance Networking Subsystems Sailesh Kumar Patrick Crowley.
March 23 & 28, Hashing. 2 What is Hashing? A Hash function is a function h(K) which transforms a key K into an address. Hashing is like indexing.
File Structures. 2 Chapter - Objectives Disk Storage Devices Files of Records Operations on Files Unordered Files Ordered Files Hashed Files Dynamic and.
Chapter 10 Hashing. The search time of each algorithm depend on the number n of elements of the collection S of the data. A searching technique called.
1 Power-Efficient TCAM Partitioning for IP Lookups with Incremental Updates Author: Yeim-Kuan Chang Publisher: ICOIN 2005 Presenter: Po Ting Huang Date:
Author: Heeyeol Yu and Rabi Mahapatra
1 Chapter 7 Skip Lists and Hashing Part 2: Hashing.
1 Lecture 21: Hash Tables Wednesday, November 17, 2004.
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.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Module D: Hashing.
HIGH-PERFORMANCE LONGEST PREFIX MATCH LOGIC SUPPORTING FAST UPDATES FOR IP FORWARDING DEVICES Author: Arun Kumar S P Publisher/Conf.: 2009 IEEE International.
Cuckoo Filter: Practically Better Than Bloom Author: Bin Fan, David G. Andersen, Michael Kaminsky, Michael D. Mitzenmacher Publisher: ACM CoNEXT 2014 Presenter:
A NOVEL LEVEL-BASED IPV6 ROUTING LOOKUP ALGORITHM Author: Xiaohong Huang, Xiaoyu Zhao, Guofeng Zhao, Wenjian Jiang, Dongqu Zheng, Qiong Sun and Yan Ma.
Chapter 5 Record Storage and Primary File Organizations
Author : Masanori Bando and H. Jonathan Chao Publisher : INFOCOM, 2010 Presenter : Jo-Ning Yu Date : 2011/02/16.
CSC 413/513: Intro to Algorithms Hash Tables. ● Hash table: ■ Given a table T and a record x, with key (= symbol) and satellite data, we need to support:
CHAPTER 51 LINKED LISTS. Introduction link list is a linear array collection of data elements called nodes, where the linear order is given by means of.
SCALAR PREFIX SEARCH: A NEW ROUTE LOOKUP ALGORITHM FOR NEXT GENERATION INTERNET Author: Mohammad Behdadfar, Hossein Saidi, Hamid Alaei and Babak Samari.
Exploiting Graphics Processors for High-performance IP Lookup in Software Routers Jin Zhao, Xinya Zhang, Xin Wang, Yangdong Deng, Xiaoming Fu IEEE INFOCOM.
Multiway Search Trees Data may not fit into main memory
IP Routers – internal view
AN ON-CHIP IP ADDRESS LOOKUP ALGORITHM
The Variable-Increment Counting Bloom Filter
Searching.
CH 9.2 : Hash Tables Acknowledgement: These slides are adapted from slides provided with Data Structures and Algorithms in C++, Goodrich, Tamassia and.
A SRAM-based Architecture for Trie-based IP Lookup Using FPGA
EMOMA- Exact Match in One Memory Access
A SRAM-based Architecture for Trie-based IP Lookup Using FPGA
Presentation transcript:

Author : N. Sertac Artan, Haowei Yuan, and H. Jonathan Chao Publisher/Conf : IEEE GLOBECOM 2008 Speaker : Chen Deyu Data :

Network applications such as IP traceback, route lookup, TCP flow state monitoring, and malware detection often require large data storage resources, fast queries, and frequent updates. Hash tables are traditional data structures that allow large amounts of data to be stored, queried, and updated in a space- and time-efficient manner on average.

However, in the worst case, which is critical for network applications, hash tables perform poorly. This poor performance is due to hash collisions. To reduce the impact of hash collisions on worst-case performance, the hash table can be modified to store multiple keys, say up to key in a single hash bucket. Unfortunately, even when multiple keys are allowed to be stored in one bucket, occasional overflows cannot be prevented.

(a) Co-processor architecture(b) The LB hash table reduces number of overflows compared to the naïve hash table

The hash co-processor consists of four parts: (1) Group Counts Table(GCT) (2) Bin-Table (BT) (3) Hash Function (4) CAMs.

The GCT consists of g entries, where each entry, GCT i shows the number of keys currently in the group i Both GCT and BT are divided into equal-sized segments. Let the number of groups in a single segment of GCT be Gs and the number of bins in a single segment of BT be s.

 Insertion (Include three algorithm) (1) Non-Search Algorithm (NSA) (2) Single-Search Algorithm (SSA) (3) Double-Search Algorithm (DSA)  Query  Deletion

K1K overflow CAM GCT i < G max ? 2

K2K g min

K3K g min b

If in the system, the queried key is either in the hash table or in the CAMs. If the key is found in the CAMs, it is returned immediately. Otherwise, the group of the bin where the key is hashed is read as a single burst from the hash table. So, the query operation takes at most one burst access.

To delete a key, the key is first queried. If the key is in the CAMs, it is removed from the CAMs and deletion is completed. If this key is not in the CAMs, the group to which this key belongs is read as a single burst from the off-chip structure. The key is deleted and the remaining keys are written back to the off-chip structure in another burst. So, the delete operation takes at most two burst accesses.

(1)One bin requires : (2)Each entry in GCT requires : (3)CAM storage : (4)On-chip memory requirement per key :  On-chip Memory Consumption n is the number of keys stored in CAMs and K s denotes key size. C is the hash table capacity. l is the ratio between the keys stored in the system(i.e. in hash table and CAMs) at a given time and hash table capacity.

 Time Complexity for On-chip Search The main contributor to on-chip time complexity is the search times for the SSA and DSA. The group search used by both algorithms takes time proportional to Gs, since the search is limited to a single segment and Gs −1 groups need to be searched. Note that for a hardware implementation, since Gs is small, the group search can be done in parallel using a simple priority encoder.

 External Memory Access (Per key on average) (1) NSA : (2) SSA 、 DSA : Where W is the number of overflows in a give time period. N is the total number of keys inserted into the system.

C=65,536 keys G max =8 l=0.8

Performance comparison for NSA, SSA, and DSA, where GSI and BSI stands for group and bin search per insertion, respectively. AI is external memory access for insert.