1 blooming trees for minimal perfect hashing author: gianni antichi, domenico ficara, stefano...

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

Upload: abigail-wright

Post on 14-Jan-2016

219 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 2: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

2

Outline

Related workHuffman spectral bloom filterBlooming tree

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

Experimental result

Page 3: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 4: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 5: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

5

Outline

Related workHuffman spectral bloom filterBlooming tree

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

Experimental result

Page 6: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 7: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 8: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 9: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 10: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 11: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 12: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 13: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

13

Outline

Related workHuffman spectral bloom filterBlooming tree

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

Experimental result

Page 14: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

14

Experimental result

Our Intel 2.4Ghz Pentium 4 Core 2 Duo processor,

4GB RAM, Linux OS 2.6

Page 15: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

15

Experimental result BPZ

3.2 Ghz XEON, 1G RAM, Linux 2.6 BL

Pentium 4

Page 16: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

16

Page 17: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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

Page 18: 1 Blooming Trees for Minimal Perfect Hashing Author: Gianni Antichi, Domenico Ficara, Stefano Giordano, Gregorio Procissi, Fabio Vitucci Publisher: GLOBECOM

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