73
VoroNet: A scalable object network based on Voronoi tessellations Olivier Beaumont, Anne-Marie Kermarrec, Loris Marchal and ´ Etienne Rivi` ere SCALAPPLIX project, LaBRI (Bordeaux) PARIS project, IRISA (Rennes) GRAAL project, LIP, ENS Lyon March 2006

VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

VoroNet: A scalable object networkbased on Voronoi tessellations

Olivier Beaumont, Anne-Marie Kermarrec,Loris Marchal and Etienne Riviere

SCALAPPLIX project, LaBRI (Bordeaux)

PARIS project, IRISA (Rennes)

GRAAL project, LIP, ENS Lyon

March 2006

Page 2: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Outline

1 Introduction

2 Description of VoroNet

3 Evaluation (simulation)

4 Perspectives, conclusion

Loris Marchal VoroNet 2/ 24

Page 3: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Outline

1 Introduction

2 Description of VoroNet

3 Evaluation (simulation)

4 Perspectives, conclusion

Loris Marchal VoroNet 3/ 24

Page 4: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Peer-to-peer overlay

What is peer-to-peer ?

paradigm to organize distributed ressources (peers)

overlay network: logical organization

core functionnality: search objects in the system

distributed hashtables (DHT) (Chord, Pastry,. . . )

hash function gives identifiers for peers and objects

choice of hash function to get uniform distributionmain goals:

scalability ,fault tolerance ,efficient search ,

but restricted to exact search /highly depends on the hash function /

Loris Marchal VoroNet 4/ 24

Page 5: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Peer-to-peer overlay

What is peer-to-peer ?

paradigm to organize distributed ressources (peers)

overlay network: logical organization

core functionnality: search objects in the system

distributed hashtables (DHT) (Chord, Pastry,. . . )

hash function gives identifiers for peers and objects

choice of hash function to get uniform distributionmain goals:

scalability ,fault tolerance ,efficient search ,

but restricted to exact search /highly depends on the hash function /

Loris Marchal VoroNet 4/ 24

Page 6: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Peer-to-peer overlay

What is peer-to-peer ?

paradigm to organize distributed ressources (peers)

overlay network: logical organization

core functionnality: search objects in the system

distributed hashtables (DHT) (Chord, Pastry,. . . )

hash function gives identifiers for peers and objects

choice of hash function to get uniform distributionmain goals:

scalability ,fault tolerance ,efficient search ,

but restricted to exact search /highly depends on the hash function /

Loris Marchal VoroNet 4/ 24

Page 7: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Peer-to-peer overlay

Content-based topologies:

CAN (Content Adressable Network)I d-dimensional torus

I degree O(d)

I diameter O(N1/d)

I not really “content addressed”:location (of objects and peers) computedwith hash function (to ensurehomogeneous distribution)

?

Loris Marchal VoroNet 5/ 24

Page 8: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Peer-to-peer overlay

Content-based topologies:

CAN (Content Adressable Network)I d-dimensional torus

I degree O(d)

I diameter O(N1/d)

I not really “content addressed”:location (of objects and peers) computedwith hash function (to ensurehomogeneous distribution)

?

Loris Marchal VoroNet 5/ 24

Page 9: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Peer-to-peer overlay

Content-based topologies:

CAN (Content Adressable Network)I d-dimensional torus

I degree O(d)

I diameter O(N1/d)

I not really “content addressed”:location (of objects and peers) computedwith hash function (to ensurehomogeneous distribution)

?

Loris Marchal VoroNet 5/ 24

Page 10: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

VoroNet

Object-based peer-to-peer overlayI objects are linked rather than peersI an object is held by the node which published it

Content-based topology:I not based on a DHTI objects with “close” attributes will be neighbors

d-dimensional attribute space

VoroNet topology is inspired from:I Voronoi diagram in the attribute spaceI Kleinberg’s small world routing algorithm designed for grids

Loris Marchal VoroNet 6/ 24

Page 11: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

VoroNet

Object-based peer-to-peer overlayI objects are linked rather than peersI an object is held by the node which published it

Content-based topology:I not based on a DHTI objects with “close” attributes will be neighbors

d-dimensional attribute space

VoroNet topology is inspired from:I Voronoi diagram in the attribute spaceI Kleinberg’s small world routing algorithm designed for grids

Loris Marchal VoroNet 6/ 24

Page 12: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

VoroNet

Object-based peer-to-peer overlayI objects are linked rather than peersI an object is held by the node which published it

Content-based topology:I not based on a DHTI objects with “close” attributes will be neighbors

d-dimensional attribute space

VoroNet topology is inspired from:I Voronoi diagram in the attribute spaceI Kleinberg’s small world routing algorithm designed for grids

Loris Marchal VoroNet 6/ 24

Page 13: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

VoroNet

Object-based peer-to-peer overlayI objects are linked rather than peersI an object is held by the node which published it

Content-based topology:I not based on a DHTI objects with “close” attributes will be neighbors

d-dimensional attribute space we consider for now: d = 2VoroNet topology is inspired from:

I Voronoi diagram in the attribute spaceI Kleinberg’s small world routing algorithm designed for grids

Loris Marchal VoroNet 6/ 24

Page 14: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

VoroNet

Object-based peer-to-peer overlayI objects are linked rather than peersI an object is held by the node which published it

Content-based topology:I not based on a DHTI objects with “close” attributes will be neighbors

d-dimensional attribute space we consider for now: d = 2VoroNet topology is inspired from:

I Voronoi diagram in the attribute spaceI Kleinberg’s small world routing algorithm designed for grids

Loris Marchal VoroNet 6/ 24

Page 15: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

set of points in R2

consider object at point M

region of points closer from Mthan

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 16: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

M

set of points in R2

consider object at point M

region of points closer from Mthan

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 17: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

A

M

set of points in R2

consider object at point M

region of points closer from Mthan

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 18: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

A

M

set of points in R2

consider object at point M

region of points closer from Mthan from A

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 19: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

BA

M

set of points in R2

consider object at point M

region of points closer from Mthan from A

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 20: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

BA

M

set of points in R2

consider object at point M

region of points closer from Mthan from A and B

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 21: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

M

set of points in R2

consider object at point M

region of points closer from Mthan from any other object:Voronoi cell of M (or region)

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 22: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

M

set of points in R2

consider object at point M

region of points closer from Mthan from any other object:Voronoi cell of M (or region)

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 23: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

M

set of points in R2

consider object at point M

region of points closer from Mthan from any other object:Voronoi cell of M (or region)

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 24: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Voronoi tessellations

M

set of points in R2

consider object at point M

region of points closer from Mthan from any other object:Voronoi cell of M (or region)

do the same for all objects

Voronoi neighbors: when cellsshare a border

graph of Voronoi neighbors:Delaunay triangularization

Loris Marchal VoroNet 7/ 24

Page 25: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Kleinberg’s small-world

N nodes in a 2D grid(√

N ×√

N)I routing in O(

√N)

add random long range links:I probability for a long link to be

at distance l: ∝ 1l2

I use greedy routing algorithmI then routing in O(ln2 N)

can be extended to anydimension d, with proba ∝ 1

ld

Loris Marchal VoroNet 8/ 24

Page 26: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Kleinberg’s small-world

N nodes in a 2D grid(√

N ×√

N)I routing in O(

√N)

add random long range links:I probability for a long link to be

at distance l: ∝ 1l2

I use greedy routing algorithmI then routing in O(ln2 N)

can be extended to anydimension d, with proba ∝ 1

ld

Loris Marchal VoroNet 8/ 24

Page 27: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Introduction

Kleinberg’s small-world

N nodes in a 2D grid(√

N ×√

N)I routing in O(

√N)

add random long range links:I probability for a long link to be

at distance l: ∝ 1l2

I use greedy routing algorithmI then routing in O(ln2 N)

can be extended to anydimension d, with proba ∝ 1

ld

Loris Marchal VoroNet 8/ 24

Page 28: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Outline

1 Introduction

2 Description of VoroNet

3 Evaluation (simulation)

4 Perspectives, conclusion

Loris Marchal VoroNet 9/ 24

Page 29: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood

Voronoi neighborslong range neighbors:

I randomly chose a target point tI the long range neighbors is the object “responsible” for point tI keep a back pointer for overlay maintenance

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

Page 30: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood

Voronoi neighborslong range neighbors:

I randomly chose a target point tI the long range neighbors is the object “responsible” for point tI keep a back pointer for overlay maintenance

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

Page 31: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood

t

Voronoi neighborslong range neighbors:

I randomly chose a target point tI the long range neighbors is the object “responsible” for point tI keep a back pointer for overlay maintenance

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

Page 32: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood

t

Voronoi neighborslong range neighbors:

I randomly chose a target point tI the long range neighbors is the object “responsible” for point tI keep a back pointer for overlay maintenance

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

Page 33: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood

dmin

Voronoi neighborslong range neighbors:

I randomly chose a target point tI the long range neighbors is the object “responsible” for point tI keep a back pointer for overlay maintenance

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

Page 34: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood – details

Space: 2-dimensional torus: [0, 1]× [0, 1]Long link target of object x: distribution in 1/d2

Pr[target(x) ∈ B(y, dr)

]= α

πr2

d(x, y)2

Link always points on the closest object from target.

Close neighbors: within dmin = 1πNmax

Nmax = maximal number of nodes for which we have an efficientrouting

Loris Marchal VoroNet 11/ 24

Page 35: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood – details

Space: 2-dimensional torus: [0, 1]× [0, 1]Long link target of object x: distribution in 1/d2

Pr[target(x) ∈ B(y, dr)

]= α

πr2

d(x, y)2

Link always points on the closest object from target.

Close neighbors: within dmin = 1πNmax

Nmax = maximal number of nodes for which we have an efficientrouting

Loris Marchal VoroNet 11/ 24

Page 36: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood – details

Space: 2-dimensional torus: [0, 1]× [0, 1]Long link target of object x: distribution in 1/d2

Pr[target(x) ∈ B(y, dr)

]= α

πr2

d(x, y)2

Link always points on the closest object from target.

Close neighbors: within dmin = 1πNmax

Nmax = maximal number of nodes for which we have an efficientrouting

Loris Marchal VoroNet 11/ 24

Page 37: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

VoroNet neighborhood – details

Space: 2-dimensional torus: [0, 1]× [0, 1]Long link target of object x: distribution in 1/d2

Pr[target(x) ∈ B(y, dr)

]= α

πr2

d(x, y)2

Link always points on the closest object from target.

Close neighbors: within dmin = 1πNmax

Nmax = maximal number of nodes for which we have an efficientrouting

Loris Marchal VoroNet 11/ 24

Page 38: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Size of the neighborhood

Voronoi neighbors:I graph of the Voronoi neighbors is planar ⇒ average degree 6 6I O(1) sizeI mean value 6 6 (max = N)

Close neighbors: number of objects in B(o, dmin)I O(1) size for a “reasonable” distributionI mean value = 1 (max = N)

Long range neighbors:I one long range neighbor per objectI O(1) backward links for a “reasonable” distributionI mean value = 1 (max = N)

size of data stored at each node: O(1) mean value 6 9(we will check this property in the experiments)

Loris Marchal VoroNet 12/ 24

Page 39: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Size of the neighborhood

Voronoi neighbors:I graph of the Voronoi neighbors is planar ⇒ average degree 6 6I O(1) sizeI mean value 6 6 (max = N)

Close neighbors: number of objects in B(o, dmin)I O(1) size for a “reasonable” distributionI mean value = 1 (max = N)

Long range neighbors:I one long range neighbor per objectI O(1) backward links for a “reasonable” distributionI mean value = 1 (max = N)

size of data stored at each node: O(1) mean value 6 9(we will check this property in the experiments)

Loris Marchal VoroNet 12/ 24

Page 40: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Size of the neighborhood

Voronoi neighbors:I graph of the Voronoi neighbors is planar ⇒ average degree 6 6I O(1) sizeI mean value 6 6 (max = N)

Close neighbors: number of objects in B(o, dmin)I O(1) size for a “reasonable” distributionI mean value = 1 (max = N)

Long range neighbors:I one long range neighbor per objectI O(1) backward links for a “reasonable” distributionI mean value = 1 (max = N)

size of data stored at each node: O(1) mean value 6 9(we will check this property in the experiments)

Loris Marchal VoroNet 12/ 24

Page 41: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Size of the neighborhood

Voronoi neighbors:I graph of the Voronoi neighbors is planar ⇒ average degree 6 6I O(1) sizeI mean value 6 6 (max = N)

Close neighbors: number of objects in B(o, dmin)I O(1) size for a “reasonable” distributionI mean value = 1 (max = N)

Long range neighbors:I one long range neighbor per objectI O(1) backward links for a “reasonable” distributionI mean value = 1 (max = N)

size of data stored at each node: O(1) mean value 6 9(we will check this property in the experiments)

Loris Marchal VoroNet 12/ 24

Page 42: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Overlay maintenance

How to insert an object x ?

Update the Voronoi diagram:I Find the closest existing object (route to x)I Add a new Voronoi cellI Find and update the Voronoi neighbors

Find and the close neighborssufficient to consider close neighbors of Voronoi neighbors

create a long range target point t, find the corresponding object:=⇒ route a JOIN message to t

Loris Marchal VoroNet 13/ 24

Page 43: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Overlay maintenance

How to insert an object x ?

Update the Voronoi diagram:I Find the closest existing object (route to x)I Add a new Voronoi cellI Find and update the Voronoi neighbors

Find and the close neighborssufficient to consider close neighbors of Voronoi neighbors

6 dmin

M

z

x y

create a long range target point t, find the corresponding object:=⇒ route a JOIN message to t

Loris Marchal VoroNet 13/ 24

Page 44: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Overlay maintenance

How to insert an object x ?

Update the Voronoi diagram:I Find the closest existing object (route to x)I Add a new Voronoi cellI Find and update the Voronoi neighbors

Find and the close neighborssufficient to consider close neighbors of Voronoi neighbors

6 dmin

M

z

x y

create a long range target point t, find the corresponding object:=⇒ route a JOIN message to t

Loris Marchal VoroNet 13/ 24

Page 45: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

General routing scheme

Route (Target):find the object responsible for the Voronoi cell where Target is.

Route(Target)z = DistanceToRegion(Target)if d(z,Target) > 1

3d(Target ,CurrentObject) andd(Target ,CurrentObject) > dmin then

Spawn(Route,Target ,GreedyNeighbor(Target))else

AddVoronoiRegion(z)AddVoronoiRegion(Target)Perform some local computations depending on the operation at zRemoveVoronoiRegion(z)(depending on the operation,RemoveVoronoiRegion(Target))

return

Loris Marchal VoroNet 14/ 24

Page 46: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

Lemma 1

The probability for the long link of x to be chosen in a disk of center

y and radius fr, where r = d(x, y) is lower bounded by πf2

K(1+f)2.

For f = 1/6: probability lower bounded by:1

98 ln(√

2πNmax)X: number of hops necessary to reach the disk of center Targetand radius d

6 .

E(X) =+∞∑i=1

Pr[X > i] 6+∞∑i=1

(1− 1

98 ln(√

2πNmax)

)i−1

E(X) 6 98 ln(√

2πNmax).

but link target 6= link destination

This accounts for a super-step.Loris Marchal VoroNet 15/ 24

Page 47: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

Lemma 1

The probability for the long link of x to be chosen in a disk of center

y and radius fr, where r = d(x, y) is lower bounded by πf2

K(1+f)2.

For f = 1/6: probability lower bounded by:1

98 ln(√

2πNmax)X: number of hops necessary to reach the disk of center Targetand radius d

6 .

E(X) =+∞∑i=1

Pr[X > i] 6+∞∑i=1

(1− 1

98 ln(√

2πNmax)

)i−1

E(X) 6 98 ln(√

2πNmax).

but link target 6= link destination

This accounts for a super-step.Loris Marchal VoroNet 15/ 24

Page 48: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

Lemma 1

The probability for the long link of x to be chosen in a disk of center

y and radius fr, where r = d(x, y) is lower bounded by πf2

K(1+f)2.

For f = 1/6: probability lower bounded by:1

98 ln(√

2πNmax)X: number of hops necessary to reach the disk of center Targetand radius d

6 .

E(X) =+∞∑i=1

Pr[X > i] 6+∞∑i=1

(1− 1

98 ln(√

2πNmax)

)i−1

E(X) 6 98 ln(√

2πNmax).

but link target 6= link destination

This accounts for a super-step.Loris Marchal VoroNet 15/ 24

Page 49: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

Lemma 1

The probability for the long link of x to be chosen in a disk of center

y and radius fr, where r = d(x, y) is lower bounded by πf2

K(1+f)2.

For f = 1/6: probability lower bounded by:1

98 ln(√

2πNmax)X: number of hops necessary to reach the disk of center Targetand radius d

6 .

E(X) =+∞∑i=1

Pr[X > i] 6+∞∑i=1

(1− 1

98 ln(√

2πNmax)

)i−1

E(X) 6 98 ln(√

2πNmax).

but link target 6= link destination

This accounts for a super-step.Loris Marchal VoroNet 15/ 24

Page 50: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

Lemma 1

The probability for the long link of x to be chosen in a disk of center

y and radius fr, where r = d(x, y) is lower bounded by πf2

K(1+f)2.

For f = 1/6: probability lower bounded by:1

98 ln(√

2πNmax)X: number of hops necessary to reach the disk of center Targetand radius d

6 .

E(X) =+∞∑i=1

Pr[X > i] 6+∞∑i=1

(1− 1

98 ln(√

2πNmax)

)i−1

E(X) 6 98 ln(√

2πNmax).

but link target 6= link destination

This accounts for a super-step.Loris Marchal VoroNet 15/ 24

Page 51: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

Lemma 1

The probability for the long link target of x to be chosen in a disk of

center y and radius fr, where r = d(x, y) is lower bounded by πf2

K(1+f)2.

For f = 1/6: probability lower bounded by:1

98 ln(√

2πNmax)X: number of hops necessary to reach an object whose long linktarget belongs to the disk of center Target and radius d

6 .

E(X) =+∞∑i=1

Pr[X > i] 6+∞∑i=1

(1− 1

98 ln(√

2πNmax)

)i−1

E(X) 6 98 ln(√

2πNmax).

but link target 6= link destination

This accounts for a super-step.Loris Marchal VoroNet 15/ 24

Page 52: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

Lemma 1

The probability for the long link target of x to be chosen in a disk of

center y and radius fr, where r = d(x, y) is lower bounded by πf2

K(1+f)2.

For f = 1/6: probability lower bounded by:1

98 ln(√

2πNmax)X: number of hops necessary to reach an object whose long linktarget belongs to the disk of center Target and radius d

6 .

E(X) =+∞∑i=1

Pr[X > i] 6+∞∑i=1

(1− 1

98 ln(√

2πNmax)

)i−1

E(X) 6 98 ln(√

2πNmax).

but link target 6= link destination

This accounts for a super-step.Loris Marchal VoroNet 15/ 24

Page 53: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

During a super-step, the distance to the target is divided by 5/6Number of super-steps bounded by

ln(√

2dmin

)

ln(65)

=ln(√

2πNmax)ln(6

5)

Expectation of number of steps:

E(N) 6 α ln2(Nmax)

Loris Marchal VoroNet 16/ 24

Page 54: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Evaluation (simulation)

Outline

1 Introduction

2 Description of VoroNet

3 Evaluation (simulation)

4 Perspectives, conclusion

Loris Marchal VoroNet 17/ 24

Page 55: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Evaluation (simulation)

Experimental framework

SimulationsI 300.000 objectsI objects are not leaving the overlay (for now)

Distribution of objectI uniformI skewed (powerlaw with parameter α = 1, 2, 5)

We observe:I number of neighborsI polylogarithmic routingI what happens if we add several long range links

Loris Marchal VoroNet 18/ 24

Page 56: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Evaluation (simulation)

Outgoing degree

Uniform distribution

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

0 2 4 6 8 10 12

Obj

ects

Out−degree

Skewed distribution (α = 5)

0

10000

20000

30000

40000

50000

60000

70000

80000

90000

0 2 4 6 8 10 12O

bjec

ts

Out−degree

Loris Marchal VoroNet 19/ 24

Page 57: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Evaluation (simulation)

Polylogarithmic routing

10

20

30

40

50

60

70

80

30025020015010050

Hop

s

Objects in the overlay (*1000)

UniformSparse (alpha = 1)Sparse (alpha = 2)Sparse (alpha = 5)

h =(lnn

)γ ⇔ ln(h) = ln((

lnn)γ

)= γ ln(lnn)

Loris Marchal VoroNet 20/ 24

Page 58: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Evaluation (simulation)

Polylogarithmic routing

3.3

3.4

3.5

3.6

3.7

3.8

3.9

4

4.1

4.2

4.3

2.2 2.25 2.3 2.35 2.4 2.45 2.5 2.55

log(

Hop

s)

log(log(Objects in the overlay))

UniformSparse (alpha = 1)Sparse (alpha = 2)Sparse (alpha = 5)

h =(lnn

)γ ⇔ ln(h) = ln((

lnn)γ

)= γ ln(lnn)

Loris Marchal VoroNet 20/ 24

Page 59: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Evaluation (simulation)

Using several long links to improve routing

10

20

30

40

50

60

70

80

30025020015010050

Hop

s

Objects in the overlay (*1000)

123456789

10

Loris Marchal VoroNet 21/ 24

Page 60: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Outline

1 Introduction

2 Description of VoroNet

3 Evaluation (simulation)

4 Perspectives, conclusion

Loris Marchal VoroNet 22/ 24

Page 61: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 62: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 63: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 64: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 65: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 66: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 67: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

z = x2 + y2

Loris Marchal VoroNet 23/ 24

Page 68: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 69: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 70: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 71: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number ofneighbors, O(1) data size ?

Extend small world propertyseems possible

Compute Voronoi diagram:geometric algorithms costlyand sensitive to computationerrors

No need to have completedescription of Voronoi cells,only compute neighborhood

Use other techniques:lifting in dimension d + 1 and LP

Loris Marchal VoroNet 23/ 24

Page 72: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Conclusion

Perspectives:

Range queries

Queries by proximity: all objects within d from a given object

Fault tolerance ?

VoroNet in a nutshell:

Object-to-object overlay

Efficient routing

Distributed construction and management

Reasonable size of neighborhood

Insensitive to object distribution

Base for complex requests

Loris Marchal VoroNet 24/ 24

Page 73: VoroNet: A scalable object network based on Voronoi tessellationsgraal.ens-lyon.fr/~eagullo/GDT/slides/gdt_23_03_2006.pdf · 2006-03-23 · VoroNet: A scalable object network based

Perspectives, conclusion

Conclusion

Perspectives:

Range queries

Queries by proximity: all objects within d from a given object

Fault tolerance ?

VoroNet in a nutshell:

Object-to-object overlay

Efficient routing

Distributed construction and management

Reasonable size of neighborhood

Insensitive to object distribution

Base for complex requests

Loris Marchal VoroNet 24/ 24