VoroNet: A scalable object network based on Voronoi tessellations - - PowerPoint PPT Presentation

voronet a scalable object network based on voronoi
SMART_READER_LITE
LIVE PREVIEW

VoroNet: A scalable object network based on Voronoi tessellations - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Outline

1

Introduction

2

Description of VoroNet

3

Evaluation (simulation)

4

Perspectives, conclusion

Loris Marchal VoroNet 2/ 24

slide-3
SLIDE 3

Introduction

Outline

1

Introduction

2

Description of VoroNet

3

Evaluation (simulation)

4

Perspectives, conclusion

Loris Marchal VoroNet 3/ 24

slide-4
SLIDE 4

Introduction

Peer-to-peer overlay

What is peer-to-peer ? paradigm to organize distributed ressources (peers)

  • verlay 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 distribution main goals: scalability fault tolerance efficient search but restricted to exact search highly depends on the hash function

Loris Marchal VoroNet 4/ 24

slide-5
SLIDE 5

Introduction

Peer-to-peer overlay

What is peer-to-peer ? paradigm to organize distributed ressources (peers)

  • verlay 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 distribution main goals: scalability fault tolerance efficient search but restricted to exact search highly depends on the hash function

Loris Marchal VoroNet 4/ 24

slide-6
SLIDE 6

Introduction

Peer-to-peer overlay

What is peer-to-peer ? paradigm to organize distributed ressources (peers)

  • verlay 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 distribution main goals: scalability fault tolerance efficient search but restricted to exact search highly depends on the hash function

Loris Marchal VoroNet 4/ 24

slide-7
SLIDE 7

Introduction

Peer-to-peer overlay

Content-based topologies: CAN (Content Adressable Network)

◮ d-dimensional torus ◮ degree O(d) ◮ diameter O(N 1/d) ◮ not really “content addressed”:

location (of objects and peers) computed with hash function (to ensure homogeneous distribution)

?

Loris Marchal VoroNet 5/ 24

slide-8
SLIDE 8

Introduction

Peer-to-peer overlay

Content-based topologies: CAN (Content Adressable Network)

◮ d-dimensional torus ◮ degree O(d) ◮ diameter O(N 1/d) ◮ not really “content addressed”:

location (of objects and peers) computed with hash function (to ensure homogeneous distribution)

?

Loris Marchal VoroNet 5/ 24

slide-9
SLIDE 9

Introduction

Peer-to-peer overlay

Content-based topologies: CAN (Content Adressable Network)

◮ d-dimensional torus ◮ degree O(d) ◮ diameter O(N 1/d) ◮ not really “content addressed”:

location (of objects and peers) computed with hash function (to ensure homogeneous distribution)

?

Loris Marchal VoroNet 5/ 24

slide-10
SLIDE 10

Introduction

VoroNet

Object-based peer-to-peer overlay

◮ objects are linked rather than peers ◮ an object is held by the node which published it

Content-based topology:

◮ not based on a DHT ◮ objects with “close” attributes will be neighbors

d-dimensional attribute space VoroNet topology is inspired from:

◮ Voronoi diagram in the attribute space ◮ Kleinberg’s small world routing algorithm designed for grids Loris Marchal VoroNet 6/ 24

slide-11
SLIDE 11

Introduction

VoroNet

Object-based peer-to-peer overlay

◮ objects are linked rather than peers ◮ an object is held by the node which published it

Content-based topology:

◮ not based on a DHT ◮ objects with “close” attributes will be neighbors

d-dimensional attribute space VoroNet topology is inspired from:

◮ Voronoi diagram in the attribute space ◮ Kleinberg’s small world routing algorithm designed for grids Loris Marchal VoroNet 6/ 24

slide-12
SLIDE 12

Introduction

VoroNet

Object-based peer-to-peer overlay

◮ objects are linked rather than peers ◮ an object is held by the node which published it

Content-based topology:

◮ not based on a DHT ◮ objects with “close” attributes will be neighbors

d-dimensional attribute space VoroNet topology is inspired from:

◮ Voronoi diagram in the attribute space ◮ Kleinberg’s small world routing algorithm designed for grids Loris Marchal VoroNet 6/ 24

slide-13
SLIDE 13

Introduction

VoroNet

Object-based peer-to-peer overlay

◮ objects are linked rather than peers ◮ an object is held by the node which published it

Content-based topology:

◮ not based on a DHT ◮ objects with “close” attributes will be neighbors

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

◮ Voronoi diagram in the attribute space ◮ Kleinberg’s small world routing algorithm designed for grids Loris Marchal VoroNet 6/ 24

slide-14
SLIDE 14

Introduction

VoroNet

Object-based peer-to-peer overlay

◮ objects are linked rather than peers ◮ an object is held by the node which published it

Content-based topology:

◮ not based on a DHT ◮ objects with “close” attributes will be neighbors

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

◮ Voronoi diagram in the attribute space ◮ Kleinberg’s small world routing algorithm designed for grids Loris Marchal VoroNet 6/ 24

slide-15
SLIDE 15

Introduction

Voronoi tessellations

set of points in R2 consider object at point M region of points closer from M than do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-16
SLIDE 16

Introduction

Voronoi tessellations

M

set of points in R2 consider object at point M region of points closer from M than do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-17
SLIDE 17

Introduction

Voronoi tessellations

A M

set of points in R2 consider object at point M region of points closer from M than do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-18
SLIDE 18

Introduction

Voronoi tessellations

A M

set of points in R2 consider object at point M region of points closer from M than from A do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-19
SLIDE 19

Introduction

Voronoi tessellations

B A M

set of points in R2 consider object at point M region of points closer from M than from A do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-20
SLIDE 20

Introduction

Voronoi tessellations

B A M

set of points in R2 consider object at point M region of points closer from M than from A and B do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-21
SLIDE 21

Introduction

Voronoi tessellations

M

set of points in R2 consider object at point M region of points closer from M than from any other object: Voronoi cell of M (or region) do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-22
SLIDE 22

Introduction

Voronoi tessellations

M

set of points in R2 consider object at point M region of points closer from M than from any other object: Voronoi cell of M (or region) do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-23
SLIDE 23

Introduction

Voronoi tessellations

M

set of points in R2 consider object at point M region of points closer from M than from any other object: Voronoi cell of M (or region) do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-24
SLIDE 24

Introduction

Voronoi tessellations

M

set of points in R2 consider object at point M region of points closer from M than from any other object: Voronoi cell of M (or region) do the same for all objects Voronoi neighbors: when cells share a border graph of Voronoi neighbors: Delaunay triangularization

Loris Marchal VoroNet 7/ 24

slide-25
SLIDE 25

Introduction

Kleinberg’s small-world

N nodes in a 2D grid ( √ N × √ N)

◮ routing in O(

√ N)

add random long range links:

◮ probability for a long link to be

at distance l: ∝ 1 l2

◮ use greedy routing algorithm ◮ then routing in O(ln2 N)

can be extended to any dimension d, with proba ∝ 1 ld

Loris Marchal VoroNet 8/ 24

slide-26
SLIDE 26

Introduction

Kleinberg’s small-world

N nodes in a 2D grid ( √ N × √ N)

◮ routing in O(

√ N)

add random long range links:

◮ probability for a long link to be

at distance l: ∝ 1 l2

◮ use greedy routing algorithm ◮ then routing in O(ln2 N)

can be extended to any dimension d, with proba ∝ 1 ld

Loris Marchal VoroNet 8/ 24

slide-27
SLIDE 27

Introduction

Kleinberg’s small-world

N nodes in a 2D grid ( √ N × √ N)

◮ routing in O(

√ N)

add random long range links:

◮ probability for a long link to be

at distance l: ∝ 1 l2

◮ use greedy routing algorithm ◮ then routing in O(ln2 N)

can be extended to any dimension d, with proba ∝ 1 ld

Loris Marchal VoroNet 8/ 24

slide-28
SLIDE 28

Description of VoroNet

Outline

1

Introduction

2

Description of VoroNet

3

Evaluation (simulation)

4

Perspectives, conclusion

Loris Marchal VoroNet 9/ 24

slide-29
SLIDE 29

Description of VoroNet

VoroNet neighborhood

Voronoi neighbors long range neighbors:

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

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

slide-30
SLIDE 30

Description of VoroNet

VoroNet neighborhood

Voronoi neighbors long range neighbors:

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

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

slide-31
SLIDE 31

Description of VoroNet

VoroNet neighborhood

t

Voronoi neighbors long range neighbors:

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

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

slide-32
SLIDE 32

Description of VoroNet

VoroNet neighborhood

t

Voronoi neighbors long range neighbors:

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

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

slide-33
SLIDE 33

Description of VoroNet

VoroNet neighborhood

dmin

Voronoi neighbors long range neighbors:

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

close neighbors (within distance dmin) for convergence

Loris Marchal VoroNet 10/ 24

slide-34
SLIDE 34

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 efficient routing

Loris Marchal VoroNet 11/ 24

slide-35
SLIDE 35

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 efficient routing

Loris Marchal VoroNet 11/ 24

slide-36
SLIDE 36

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 efficient routing

Loris Marchal VoroNet 11/ 24

slide-37
SLIDE 37

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 efficient routing

Loris Marchal VoroNet 11/ 24

slide-38
SLIDE 38

Description of VoroNet

Size of the neighborhood

Voronoi neighbors:

◮ graph of the Voronoi neighbors is planar ⇒ average degree 6 ◮ O(1) size ◮ mean value 6

(max = N)

Close neighbors: number of objects in B(o, dmin)

◮ O(1) size for a “reasonable” distribution ◮ mean value = 1

(max = N)

Long range neighbors:

◮ one long range neighbor per object ◮ O(1) backward links for a “reasonable” distribution ◮ mean value = 1

(max = N)

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

Loris Marchal VoroNet 12/ 24

slide-39
SLIDE 39

Description of VoroNet

Size of the neighborhood

Voronoi neighbors:

◮ graph of the Voronoi neighbors is planar ⇒ average degree 6 ◮ O(1) size ◮ mean value 6

(max = N)

Close neighbors: number of objects in B(o, dmin)

◮ O(1) size for a “reasonable” distribution ◮ mean value = 1

(max = N)

Long range neighbors:

◮ one long range neighbor per object ◮ O(1) backward links for a “reasonable” distribution ◮ mean value = 1

(max = N)

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

Loris Marchal VoroNet 12/ 24

slide-40
SLIDE 40

Description of VoroNet

Size of the neighborhood

Voronoi neighbors:

◮ graph of the Voronoi neighbors is planar ⇒ average degree 6 ◮ O(1) size ◮ mean value 6

(max = N)

Close neighbors: number of objects in B(o, dmin)

◮ O(1) size for a “reasonable” distribution ◮ mean value = 1

(max = N)

Long range neighbors:

◮ one long range neighbor per object ◮ O(1) backward links for a “reasonable” distribution ◮ mean value = 1

(max = N)

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

Loris Marchal VoroNet 12/ 24

slide-41
SLIDE 41

Description of VoroNet

Size of the neighborhood

Voronoi neighbors:

◮ graph of the Voronoi neighbors is planar ⇒ average degree 6 ◮ O(1) size ◮ mean value 6

(max = N)

Close neighbors: number of objects in B(o, dmin)

◮ O(1) size for a “reasonable” distribution ◮ mean value = 1

(max = N)

Long range neighbors:

◮ one long range neighbor per object ◮ O(1) backward links for a “reasonable” distribution ◮ mean value = 1

(max = N)

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

Loris Marchal VoroNet 12/ 24

slide-42
SLIDE 42

Description of VoroNet

Overlay maintenance

How to insert an object x ? Update the Voronoi diagram:

◮ Find the closest existing object (route to x) ◮ Add a new Voronoi cell ◮ Find and update the Voronoi neighbors

Find and the close neighbors sufficient 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

slide-43
SLIDE 43

Description of VoroNet

Overlay maintenance

How to insert an object x ? Update the Voronoi diagram:

◮ Find the closest existing object (route to x) ◮ Add a new Voronoi cell ◮ Find and update the Voronoi neighbors

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

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

slide-44
SLIDE 44

Description of VoroNet

Overlay maintenance

How to insert an object x ? Update the Voronoi diagram:

◮ Find the closest existing object (route to x) ◮ Add a new Voronoi cell ◮ Find and update the Voronoi neighbors

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

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

slide-45
SLIDE 45

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) and

d(Target, CurrentObject) > dmin then Spawn(Route, Target, GreedyNeighbor(Target)) else AddVoronoiRegion(z) AddVoronoiRegion(Target) Perform some local computations depending on the operation at z RemoveVoronoiRegion(z) (depending on the operation, RemoveVoronoiRegion(Target)) return

Loris Marchal VoroNet 14/ 24

slide-46
SLIDE 46

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 Target and radius d

6.

E(X) =

+∞

  • i=1

Pr[X i]

  • +∞
  • i=1
  • 1 −

1 98 ln( √ 2πNmax) i−1 E(X)

  • 98 ln(

√ 2πNmax). but link target = link destination This accounts for a super-step.

Loris Marchal VoroNet 15/ 24

slide-47
SLIDE 47

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 Target and radius d

6.

E(X) =

+∞

  • i=1

Pr[X i]

  • +∞
  • i=1
  • 1 −

1 98 ln( √ 2πNmax) i−1 E(X)

  • 98 ln(

√ 2πNmax). but link target = link destination This accounts for a super-step.

Loris Marchal VoroNet 15/ 24

slide-48
SLIDE 48

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 Target and radius d

6.

E(X) =

+∞

  • i=1

Pr[X i]

  • +∞
  • i=1
  • 1 −

1 98 ln( √ 2πNmax) i−1 E(X)

  • 98 ln(

√ 2πNmax). but link target = link destination This accounts for a super-step.

Loris Marchal VoroNet 15/ 24

slide-49
SLIDE 49

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 Target and radius d

6.

E(X) =

+∞

  • i=1

Pr[X i]

  • +∞
  • i=1
  • 1 −

1 98 ln( √ 2πNmax) i−1 E(X)

  • 98 ln(

√ 2πNmax). but link target = link destination This accounts for a super-step.

Loris Marchal VoroNet 15/ 24

slide-50
SLIDE 50

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 Target and radius d

6.

E(X) =

+∞

  • i=1

Pr[X i]

  • +∞
  • i=1
  • 1 −

1 98 ln( √ 2πNmax) i−1 E(X)

  • 98 ln(

√ 2πNmax). but link target = link destination This accounts for a super-step.

Loris Marchal VoroNet 15/ 24

slide-51
SLIDE 51

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 link target belongs to the disk of center Target and radius d

6.

E(X) =

+∞

  • i=1

Pr[X i]

  • +∞
  • i=1
  • 1 −

1 98 ln( √ 2πNmax) i−1 E(X)

  • 98 ln(

√ 2πNmax). but link target = link destination This accounts for a super-step.

Loris Marchal VoroNet 15/ 24

slide-52
SLIDE 52

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 link target belongs to the disk of center Target and radius d

6.

E(X) =

+∞

  • i=1

Pr[X i]

  • +∞
  • i=1
  • 1 −

1 98 ln( √ 2πNmax) i−1 E(X)

  • 98 ln(

√ 2πNmax). but link target = link destination This accounts for a super-step.

Loris Marchal VoroNet 15/ 24

slide-53
SLIDE 53

Description of VoroNet

Polylogarithmic routing - sketch of proof - 1/2

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

√ 2 dmin )

ln(6

5)

= ln( √ 2πNmax) ln(6

5)

Expectation of number of steps: E(N) α ln2(Nmax)

Loris Marchal VoroNet 16/ 24

slide-54
SLIDE 54

Evaluation (simulation)

Outline

1

Introduction

2

Description of VoroNet

3

Evaluation (simulation)

4

Perspectives, conclusion

Loris Marchal VoroNet 17/ 24

slide-55
SLIDE 55

Evaluation (simulation)

Experimental framework

Simulations

◮ 300.000 objects ◮ objects are not leaving the overlay (for now)

Distribution of object

◮ uniform ◮ skewed (powerlaw with parameter α = 1, 2, 5)

We observe:

◮ number of neighbors ◮ polylogarithmic routing ◮ what happens if we add several long range links Loris Marchal VoroNet 18/ 24

slide-56
SLIDE 56

Evaluation (simulation)

Outgoing degree

Uniform distribution

10000 20000 30000 40000 50000 60000 70000 80000 90000 2 4 6 8 10 12 Objects Out−degree

Skewed distribution (α = 5)

10000 20000 30000 40000 50000 60000 70000 80000 90000 2 4 6 8 10 12 Objects Out−degree Loris Marchal VoroNet 19/ 24

slide-57
SLIDE 57

Evaluation (simulation)

Polylogarithmic routing

10 20 30 40 50 60 70 80 300 250 200 150 100 50 Hops Objects in the overlay (*1000) Uniform Sparse (alpha = 1) Sparse (alpha = 2) Sparse (alpha = 5)

h =

  • ln n

γ ⇔ ln(h) = ln

  • ln n

γ = γ ln(ln n)

Loris Marchal VoroNet 20/ 24

slide-58
SLIDE 58

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(Hops) log(log(Objects in the overlay)) Uniform Sparse (alpha = 1) Sparse (alpha = 2) Sparse (alpha = 5)

h =

  • ln n

γ ⇔ ln(h) = ln

  • ln n

γ = γ ln(ln n)

Loris Marchal VoroNet 20/ 24

slide-59
SLIDE 59

Evaluation (simulation)

Using several long links to improve routing

10 20 30 40 50 60 70 80 300 250 200 150 100 50 Hops Objects in the overlay (*1000) 1 2 3 4 5 6 7 8 9 10

Loris Marchal VoroNet 21/ 24

slide-60
SLIDE 60

Perspectives, conclusion

Outline

1

Introduction

2

Description of VoroNet

3

Evaluation (simulation)

4

Perspectives, conclusion

Loris Marchal VoroNet 22/ 24

slide-61
SLIDE 61

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-62
SLIDE 62

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-63
SLIDE 63

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-64
SLIDE 64

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-65
SLIDE 65

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-66
SLIDE 66

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-67
SLIDE 67

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

z = x2 + y2

Loris Marchal VoroNet 23/ 24

slide-68
SLIDE 68

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-69
SLIDE 69

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-70
SLIDE 70

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-71
SLIDE 71

Perspectives, conclusion

Extension to higher dimensional cases

No bound on the number of neighbors, O(1) data size ? Extend small world property seems possible Compute Voronoi diagram: geometric algorithms costly and sensitive to computation errors No need to have complete description of Voronoi cells,

  • nly compute neighborhood

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

Loris Marchal VoroNet 23/ 24

slide-72
SLIDE 72

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

slide-73
SLIDE 73

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