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

18
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 1

Upload: kalil

Post on 23-Feb-2016

47 views

Category:

Documents


0 download

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

Page 1: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 2: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

2Outline

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

Page 3: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 4: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 5: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

5Bloomier Filter(1/5)

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

Page 6: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 7: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 8: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 9: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 10: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 11: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 12: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 13: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

13Issue – Wildcard(2/3)

Page 14: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

14Issue – Wildcard(3/3)

Page 15: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

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

Page 16: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

16Performance(1/3)

Page 17: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

17Performance(2/3)

Page 18: Chisel: A Storage-efficient, Collision-free Hash-based Network Processing Architecture

18Performance(3/3)