blooming trees for minimal perfect hashing

Post on 01-Feb-2016

60 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Blooming Trees for Minimal Perfect Hashing. Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM 2008 Presenter: Yu-Ping Chiang Date: 2009/07/21. Outline. Related work Huffman spectral bloom filter Blooming tree - PowerPoint PPT Presentation

TRANSCRIPT

1

Blooming Trees for Minimal Perfect Hashing

Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio VitucciPublisher: GLOBECOM 2008Presenter: Yu-Ping ChiangDate: 2009/07/21

2

Outline

Related workHuffman spectral bloom filterBlooming tree

Minimal Perfect Hash FunctionUsing naïve blooming treeUsing optimized blooming tree and HSBF

Experimental result

3

Related work – Huffman Spectral Bloom Filter

Using Huffman code encode Counting Bloom Filter (CBF)Encode value δ with (δ+1) bits

3 0 0 1 0 010

0111010 0 00 10 0

CBF

HSBF

δ”1s”, and a trailing 0

4

B0

B1

B2

B3

0

1 1 1 10 0 0 0

1 2 1 1 1 1

1 1 1 10 0 0 0

1 1 1 1 1 10 0

0 0 0

0 0

1

1 1 1

3 items 2 items1 itemitem

Bit string

HASH FUNCTION

3 bits 1 bit 1 bitindex

index

index

Related work – blooming tree

5

Outline

Related workHuffman spectral bloom filterBlooming tree

Minimal Perfect Hash FunctionUsing naïve blooming treeUsing optimized blooming tree and HSBF

Experimental result

6

MPHF – using NBT

B0

B1

B2

B3

0

1 1 0 10 0 0 0

1 1 1 1

1 1 10 0 0

1 0 1 1 10

0 0

0 0

1

1

1 item 2 items1 itemitem

Bit string

HASH FUNCTION

3 bits 1 bit 1 bitindex

index

index

Popcount is final hash number

7

MPHF – using NBT

B0

B1

B2

0

1 1 0 10 0 0 0

1 1 10 0 0

1 0 1 1 10

0 0

0 0

1

1

1 item 2 items1 item

Step1:

Step2: final hash number = popcount

item1

item2

item4

item3

hash

001 00

010 10

111 00

111 01

item1

item2

item4

item3

popcount

00

01

10

11item1 item2 item3 item4

B3 1 1 1 1

8

MPHF – using OBT and HSBT

0

1 1 0 10 0 0 0

0 10 00 0

0 01

1

1 item 2 items1 item

00 00

B0

B1

B2

0

1 1 0 10 0 0 0

1 1 10 0 0

1 0 1 1 10

0 0

0 0

1

1

1 item 2 items1 item

NBT OBT

9

MPHF – using OBT and HSBT

0

1 1 0 10 0 0 0

0 10 00 0

0 01

1

1 item 2 items1 item

00 00

0

0 10 00 0

0 01

1

1 item 2 items1 item

00 00

110100 010 0 0 0

OBT OBT with HSBF

10

MPHF – using OBT and HSBTStep1:

Step2: final hash number = zero blocks

item1

item2

item4

item3

Zero blocks

00

01

10

11

item1

item2

item4

item3

hash

001 000

010 100

111 000

111 010……

0

0 10 00 0

0 01

1

1 item 2 items1 item

00 00

110100 010 0 0 0

11

MPHF – using OBT and HSBTStep1:

Step2: final hash number = zero blocks

item1

item2

item4

item3

Zero blocks

00

01

10

11

item1

item2

item4

item3

hash

001 000

010 100

111 000

111 010……

0

0 10 00 0

0 01

1

1 item 2 items1 item

00 00

110100 010 0 0 0

Start addr.

Prev. elements Prev. “10”s

Y1 0 0

Y2 2 2

Lookup table :

Y1 Y2

12

MPHF – using OBT and HSBTStep1:

Step2: final hash number = zero blocks

item1

item2

item4

item3

Zero blocks

00

01

10

11

item1

item2

item4

item3

hash

001 000

010 100

111 000

111 010……

0

0 10 00 0

0 01

1

1 item 2 items1 item

00 00

110100 010 0 0 0

Start addr.

Prev. elements Prev. “10”s

Y1 0 0

Y2 2 2

Lookup table :

Y1 Y2

0

13

Outline

Related workHuffman spectral bloom filterBlooming tree

Minimal Perfect Hash FunctionUsing naïve blooming treeUsing optimized blooming tree and HSBF

Experimental result

14

Experimental result

Our Intel 2.4Ghz Pentium 4 Core 2 Duo processor,

4GB RAM, Linux OS 2.6

15

Experimental result BPZ

3.2 Ghz XEON, 1G RAM, Linux 2.6 BL

Pentium 4

16

UU

Bloom Filter

17

UU

item1item1

item2item2

item3

item3

If present item in U as xxxItem1 can be 001Item2 can be 010Item3 can be 110

SS

item1item1 ite

m3

item3

There can be at most three items each present with three bits in set S.S can be present as 001 110 000

Bloom Filter

18

UU

item1

item1

item2

item2

item3

item3

Assume hash function H(x) :H(item1) = 0H(item2) = 1H(item3) = 2U can be present in three bits, No.H(itemi) bit present i

S can be present as 101

UU

SS

item1item1 ite

m3

item3

top related