chisel: a storage-efficient, collision-free hash-based network processing architecture

Post on 23-Feb-2016

47 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture. Author: Jahangir Hasan , Srihari Cadambi , Venkatta Jakkula Srimat Chakradhar Publisher: ISCA 2006 Presenter: Yuen- Shuo Li Date: 2012/10/03. Outline. Introduction Bloomier Filter - PowerPoint PPT Presentation

TRANSCRIPT

1

Chisel: A Storage-efficient, Collision-free Hash-based Network Processing ArchitectureAuthor: Jahangir Hasan, Srihari Cadambi, Venkatta Jakkula Srimat Chakradhar

Publisher: ISCA 2006Presenter: Yuen-Shuo LiDate: 2012/10/03

2Outline

Introduction Bloomier Filter Issue – False Positive Issue - Wildcard Issue - Update Performance

3Introduction(1/2)

There are three major families of techniques for performing LPM TCAM

Large cost and power dissipation Trie-Based

Large memory requirements and long lookup latencies Hash-Based

lower power, small memory requirement, and short lookup latencies can’t handle wildcard and have collision problem

4Introduction(2/2)

Chisel(Collision-free Hashing-Scheme for LPM) use collision-free hashing scheme called Bloomier filter solve two key problem

false positive wildcard

support incremental updates

5Bloomier Filter(1/5)

recall Bloom Filter a bit vector multiple hash function false-positive problem

6Bloomier Filter(2/5)

an extension of Bloom filter collision-free hashing scheme support storage and retrieval of arbitrary per-key information support static sets of keys and not dynamic update inherit Bloom filter’s false-positive problem

7Bloomier Filter(3/5)

Idea find a T(t) among HN(t) such that there is a one-to-one mapping

between all t and T(t) setup the Index Table, so that a lookup for t return location T(t) and store value in a separate Result Table at address T(t)

HN: The set of k hash values of a key

8Bloomier Filter(4/5)

It is possible that this setup process can fail

• use more hash function or expand the table• and use a little TCAM

9Bloomier Filter(5/5)

In order to retrieve T(t), the solution is to store some value in T(t) use XOR

the value of the i’th hash functionD[the data value in the ‘th location

10Issue – False Positive(1/2)

can occur when lookup involves some key t which was not in the set of original keys used for setup

two way add a checksum field to each hash bucket

still has false positives use chisel architecture

eliminating false positives

11Issue – False Positive(2/2)

encode a pointer p(t) for each t instead of use two separate tables to store f(t) and t

12Issue – Wildcard(1/3)

Because hash functions cannot operate on wildcard bits the way to support wildcard bits

large number of tables results in considerable hardware complexity and cost

CPE resulting in huge amounts of memory

prefix collapsing

13Issue – Wildcard(2/3)

14Issue – Wildcard(3/3)

15Issue - Update

update for existing prefix is easy just change the entry in the Result Table

remove: temporarily mark the prefix dirty a large fraction of updates are actually route-flaps

maintain shadow copy of the date structures in software first incrementally update the shadow copy then transfer the data structure to the hardware engine

route-flaps: a prefix is added back after being recently removed

16Performance(1/3)

17Performance(2/3)

18Performance(3/3)

top related