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 Performance Concept Insertion Query Modification Deletion 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 ki hash 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 k1 m1-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 k3 m3-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) 011 key table E 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 000 001 010 110 011 100 101 111 key table A B C D E F G H 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 000 001 010 110 011 100 101 111 key table A B C D E F G H 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 000 001 010 110 011 100 101 111 key table A B C D E F G H rule table
THE PROPOSED SCHEME - QUERY No f-positive (eg. search key = 01101011) A = 100 000 001 010 110 011 100 101 111 key table key is matched A B C D E F G H rule table
THE PROPOSED SCHEME - QUERY No f-positive (eg. search key = 01101011) 000 001 010 110 011 100 101 111 key table A B C D E F G H rule table fetch relative rule
THE PROPOSED SCHEME - QUERY F-positive (eg. search key = 01101011) 000 001 010 110 011 100 101 111 key table A B C D E F G H rule table
THE PROPOSED SCHEME - QUERY No f-positive (eg. search key = 01101011) A = 010 A = 100 000 001 010 110 011 100 101 111 key table key is unmatched key is matched A B C D E F G H rule table
THE PROPOSED SCHEME - QUERY No f-positive (eg. search key = 01101011) 000 001 010 110 011 100 101 111 key table A B C D E F G H 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) next 100 FAS 100 1 VBA 000 001 010 110 011 100 101 111 A B C D E F G H
THE PROPOSED SCHEME - DELETION F-positive (eg. delete key = 001) 100 next 001 100 FAS 001 1 VBA 000 001 010 110 100 101 111 f-positive is checked by unmatched key f-positive is checked A B C D F G H
THE PROPOSED SCHEME - INSERTION (eg. insert key = 101, r = G) 110 next 001 001 100 FAS 1 VBA 1 000 010 110 100 111 101 A C D F H 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 table # of prefixes B1 AS65000 233451 B2 AS6447 235307 B3 AS1221 181295 B4 AS12654 170459 B5 AS5459 78133 B6 AS3303 68739 160Gbps: 4.5 and 2.0 times efficiency over a c-FHT and a BFHT 40Gbps: 4.2 and 2.0 times efficiency over a c-FHT and a BFHT
Thanks for your listening!