250 likes | 338 Views
A SPACE- AND TIME-EffiCIENT HASH TABLE HIERARCHICALLY INDEXED BY BLOOM FILTERS. Author: Heeyeol Yu and Rabi Mahapatra Publisher/Conf .: Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on Speaker: Han-Jhen Guo Date: 2009.05.20. OUTLINE. The Proposed Scheme
E N D
A SPACE- AND TIME-EffiCIENT HASH TABLE HIERARCHICALLY INDEXED BY BLOOM FILTERS Author: Heeyeol Yu and Rabi Mahapatra Publisher/Conf.: Parallel and Distributed Processing, 2008. IPDPS 2008. IEEE International Symposium on Speaker: Han-Jhen Guo Date: 2009.05.20
OUTLINE • The Proposed Scheme • Concept • Insertion • Query • Modification • Deletion • Insertion • Performance • Simulation for IP Lookup • Time Complexity • Memory Consumption
THE PROPOSED SCHEME- CONCEPT • Basic configuration of hierarchical indexing tree of 0- and 1-tree
THE PROPOSED SCHEME- CONCEPT • Hierarchically Indexed Hash Table (HIHT) • Assumption • hash functions are perfectly random • n keys → s = log2(n) layers (SRAM modules) • at same level i, each BF use mi-bit vector and kihash functions • The BFs in the hierarchical indexing tree (HIT) used for indexes to a key table is hierarchically partitioned to make indexes
THE PROPOSED SCHEME- INSERTION • (eg. insert key = 011, rule = E, addr(key) = 4) 1-3. set all k1m1-bit vectors with hi(key) in parallel (0 <= i <= k1-1) 1-1. base addr = 100 * m1 * k1 key table rule table
THE PROPOSED SCHEME- INSERTION • (eg. insert key = 011, rule = E, addr(key) = 4) 2-3. set all k2 m2-bit vectors with hi(key) in parallel (0 <= i <= k2-1) 2-1. base addr = 100 * m2 * k2 key table rule table
THE PROPOSED SCHEME- INSERTION • (eg. insert key = 011, rule = E, addr(key) = 4) 3-3. set all k3m3-bit vectors with hi(key) in parallel (0 <= i <= k3-1) 3-1. base addr = 100 * m3 * k3 key table rule table
THE PROPOSED SCHEME- INSERTION • (eg. insert key = 011, rule = E, addr(key) = 4) key table rule table
THE PROPOSED SCHEME- QUERY • No f-positive (eg. search key = 01101011) calculate hi(key) in parallel (0 <= i <= k1-1 ) count 1’s = k1→ hit; A = 1 key table rule table
THE PROPOSED SCHEME- QUERY • No f-positive (eg. search key = 01101011) calculate hi(key) in parallel (0 <= i <= k2-1 ) count 1’s = k2→ hit; A = 10 key table rule table
THE PROPOSED SCHEME- QUERY • No f-positive (eg. search key = 01101011) calculate hi(key) in parallel (0 <= i <= k3-1 ) count 1’s = k3→ hit; A = 100 key table rule table
THE PROPOSED SCHEME- QUERY • No f-positive (eg. search key = 01101011) A = 100 key table key is matched rule table
THE PROPOSED SCHEME- QUERY • No f-positive (eg. search key = 01101011) key table rule table fetch relative rule
THE PROPOSED SCHEME- QUERY • F-positive (eg. search key = 01101011) key table rule table
THE PROPOSED SCHEME- QUERY • No f-positive (eg. search key = 01101011) A = 010 A = 100 key table key is unmatched key is matched rule table
THE PROPOSED SCHEME- QUERY • No f-positive (eg. search key = 01101011) key table rule table fetch relative rule
THE PROPOSED SCHEME- MODIFICATION • Dual HITs • valid bit array (VBA) • on-chip; indicate whether the key exists in the key table • next • on-chip; indicate the address for inserting next new key • free address stack (FAS) • off-chip; store addresses of empty spaces
THE PROPOSED SCHEME- DELETION • No f-positive (eg. delete key = 011) 100 100 VBA 0
THE PROPOSED SCHEME- DELETION • F-positive (eg. delete key = 001) 001 001 VBA 0 f-positive is checkedby unmatched key f-positive is checked
THE PROPOSED SCHEME- INSERTION • (eg. insert key = 101, r = G) 001 VBA 1 101 G
Performance- Simulation for IP Lookup • Architecture
PERFORMANCE- SIMULATION FOR IP LOOKUP • Related work - Prefix collapsing • (eg. collapse stride = 3)
PERFORMANCE- TIME COMPLEXITY • Average access time to a table or a linked list as a function of SS rate
PERFORMANCE- MEMORY COMSUMPTION • On-chip memory size with various hash schemes for 6 BGP tables in 40Gbps and 160Gbps routers
Thanks for your listening!