Title: Une version distribue de la petitmondisation
1Une version distribuée de la petit-mondisation ?
- Philippe Duchon, Nicolas Hanusse (LaBRI)
- Emmanuelle Lebahr, Nicolas Schabanel (LIP)
2Contexte
- Réseau Virtuel
- Chaque pair possède un petit carnet dadresse
(pas nécessairement petit) - Routage glouton entre source et destination.
- Problème
- Chemins de routage longs
- petit-mondisation ajout de raccourcis
- de manière distribuée
3Routage glouton dans le réseau virtuel
- Hypothèse chaque nud dispose dun oracle
indiquant un voisin qui rapproche de la
destination via - une approximation de la distance à la destination
(étiquetage de distance, ) OU - Propriétés de graphes géométriques (triangulation
Delaunay, graphes de Yao, ) - Routage glouton le message est redirigé vers le
voisin qui rapproche le plus de la destination
4Petit-monde généralités
- Topologie de réseaux rencontrés dans de nombreux
réseaux dinteractions - Pas de définition précise.
- Propriétés admises
- Petit diamètre
- Nombreux courts chemins
- Degré moyen faible
- Densité locale forte
5Petit-monde navigable
- Petit-monde navigable Pour un réseaux à n nuds,
on peut router avec polylog(n) sauts avec un
algorithme glouton décentralisé. - Petit-mondisation augmentation de G avec un lien
supplémentaire Lu par sommet en G petit-monde
navigable SANS recalcul global de loracle (Ajout
dune entrée dans le carnet dadresse, pas de
modification des étiquettes)
6Graphe augmenté (G,L)
graphe déterministe G liens (aléatoires) L
n
7Graphe augmenté (G,L) navigable ?
graphe déterministe G liens (aléatoires) L
8G est petit-mondisable sil existe une
petit-mondisation de G.
- Question 1 tout petit-monde est-il navigable ?
NON - Question 2 tout réseau peut-il être transformé
en petit-monde navigable ? Pierre va vous le
dire - Question 2bis quels sont les réseaux
petit-mondisables ? des exemples vont suivre - Question 3 comment construire la distribution L
? De manière distribuée ? but de lexposé
9Petit-mondiser nest pas facile
1
n
2
dG(u,v)min(u-v,n-u-v)
3
4
- Soit un cycle de longueur n, étiqueté suivant un
ordre cylique, cad. routage glouton fonctionne !
10Petit-mondiser nest pas facile
1
n
2
dG(u,v)min(u-v,n-u-v)
3
4
Ajout de liens longs !!!
- Il ne suffit pas que le diamètre devienne
polylogarithmique !
11Petit-mondiser nest pas facile
1
n
2
dG(u,v)min(u-v,n-u-v)
u
3
4
Le routage glouton nutilise pas le lien long
entre u et v !!
v
- Il ne suffit pas que le diamètre devienne
polylogarithmique !
12Exemples de graphes petit-mondisables
13A propos dexpansion de boules
i1
i2
B(r) ? rD polynomiale
B(r) ? 2r exponentielle
B(r) ? elog2(r) intermédiaire
B(r) noeuds à distance au plus r
14Graphes dexpansion c
- Un graphe est dexpansion c si pour tout centre,
on a - B(2r) lt c B(r)
- D log(c) est la dimension apparente de
lexpansion
t
r
(DHLS05) Graphe expansion bornée
petit-mondisable - ROUTAGE GLOUTON en O(logO(D) N)
15Se pose la question quest-ce que la dimension D
?
- Espace euclidien (RD,L2),
- Graphe dexpansion 2D, B(2r) lt 2D B(r)
- La dimension doublante DD est le logarithme du
nombre de boules de rayon r nécessaire pour
couvrir une boule de rayon 2r
(Zvilkins05) Graphe de dimension doublante
bornée petit-mondisable - ROUTAGE GLOUTON en
O(2O(DD) log2N) sauts avec 1 lien long.
16Les graphes petit-mondisables
N taille du graphe, A diamètre
normalisédmax/dmin
17petit-mondisation distribuée de graphes de faible
expansion
18Les graphes dexpansion bornée
- Def. Un graphe est dexpansion c si les tailles
de boules - Théorème (DHLS05) les graphes dexpansion bornée
sont petit-mondisables avec la distribution - Algorithme centralisé de petit-mondisation (pour
chaque sommet u) - On calcule Bu(r) et on tire une distance
aléatoire selon fu(r) - on choisit aléatoirement un nud à cette distance
-
19Quel temps/espace mémoire nécessite la
petit-mondisation ?
- Algorithme centralisé de petit-mondisation (pour
chaque sommet u) - On calcule Bu(r) et on tire une distance
aléatoire selon fu(r) - on choisit aléatoirement un nud à cette distance
- Calcul des boules BFS
- Calcul dune boule temps ?(m), mémoire ?(n)
- Calcul des boules ?(mn)
- Lien longue-distance de u mémoire O(n)
- Au total temps ?(mn) et mémoire ?(n)
20Connaître les EXACTEMENT les tailles de boules
est trop couteux !!!
21Une approche distribuée économique
G T ? O(G) H
- G réseau initial
- O(G) réseau logique spanner de la métrique
induite par G - T arbre codant une approximation des tailles de
boules dans G (sommets de niveau i stockent une
approx de B(2i) - H petit-monde (augmentation de G)
22Ingrédient construction des réseaux logiques
intermédiaires
- Si échantillon de niveau i
- Propriété de Couverture (Si couvre Si-1) pour
tout u ?Si-1, d(u,Si) 2i
G
23Ingrédient construction des réseaux logiques
intermédiaires
- Si échantillon de niveau i
- Propriété de Couverture (Si couvre Si-1) pour
tout u ?Si-1, d(u,Si) 2i
S0, S1, S2
24Ingrédient construction des réseaux logiques
intermédiaires
- Si échantillon de niveau i
- Propriété de Couverture (Si couvre Si-1) pour
tout u ?Si-1, d(u,Si) 2i - O(G) T,Ui Gi
- Gi(Si,,Ei ) Soient u,v ? Si, (u,v) ? Ei si
d(u,v) 5.2i. - T Chaque sommet de Si choisit un père dans Si1
parmi les sommets qui le couvrent - Propriété chaque feuille de larbre est à
distance lt 2i1 de son ancêtre de niveau i.
Pv1
Pv2
v
25Ingrédient Expansion c et approximation des
boules
- Si un echantillon de sommets u connaît Bu(2r)
- Si dG(u,v) lt 2r, Bu(2r) est une c3-approx de
Bv(r)
r
2r
u
v
4r
Expansion c Bv(r) lt Bu(4r) lt c Bu(2r) lt c
Bv(4r) lt c3 Bv(r)
26Ingrédient Expansion c et approximation des
boules
- u sommet de niveau i (r2i)
- d(u,v) lt 2i avec v sommet quelconque
- Pvi ancêtre de v de niveau i dans arbre T
- Pvi voisin de u au niveau i
- Les sous-arbres de T enracinés dans les voisins
de u au niveau i couvre Bu(2i) et sont contenus
dans Bu(52i )
Expansion c Bu(r) lt Ux voisin de u dans Gi
Txi lt Bu(5r) lt c3 Bu(r)
27Difficulté construction effective de
léchantillon hiérarchique
- Hypothèse
- Soit u appartenant au niveau i
- Supposons une c3-approx de Bu(2i), notée ? (via
couverture par les arbres voisins ) - Lemme (construction de Si1 - couverture) si u
est rajouté à Si1 avec proba c3 log N/ ?, alors
tout sommet de Si est couvert par un sommet de
Si1 avec grande probabilité. - Corollaire (Connexité de Gi) Si Gi-1 connexe,
les voisins de u dans Gi sont au plus 3 sauts
dans Gi-1 - Corollaire (Bonne approx) Si les propriétés de
couverture et de connexité sont vérifiés, on peut
bien calculer une c3-approx de Bu(2i1) pour u
dans Si1.
28Grossièrement, lalgo se résume
- Pour chaque sommet u
- u tire une v.a. Xu dans 0,1
- i1 ?(1)1
- TANT QUE Xu lt c3 log N/ ?(2i)
- i
- Informe voisinage dans Gi-1 que u appartient à Si
- Attend que le voisinage dans Gi-1 informe quels
voisins passent au niveau i - En déduire une vision locale de Gi
- Calcule lestimation ?(2i)
- Découverte dun sommet v qui couvre u parent
potentiel dans T (si u choisit v, v est informé
et le rajoute dans la liste de ses fils)
29Analyse de complexité de la construction de O(G)
et T
- Modèle
- Ronde intervalle de temps dans lequel chaque
nud envoie au moins un message (synchronisation
par le plus lent noeud) - 1 port le nud le plus lent envoie au plus 1
message par ronde - Congestion et au plus de taille O(log N)
- Proposition Avec grande probabilité, le calcul
de O(G) est effectué en O(c8 log N log D) rondes,
messages de taille O(log N) par nud et ne
nécessite que O(c8 log N log D) bits de mémoire
par nud.
30Phase de petit-mondisation
31petit-mondisation principe
- Version basique (centralisée)
- Chaque nud u choisit une échelle de distance de
manière aléatoire uniforme, cad niveau i. - Choisit un sommet vLu aléatoire dans sa boule de
rayon r2i
v
r
u
4r
32petit-mondisation principe
- Version basique (centralisée)
- Chaque nud u choisit une échelle de distance de
manière aléatoire uniforme, cad niveau i. - Choisit un sommet vLu aléatoire dans sa boule de
rayon r2i - Version décentralisée (via T)
- u contacte son ancêtre Pui de niveau i
- Pui choisit dans lunion des sous-arbres de ses
voisins (incluant lui-même) une feuille de
manière aléatoire uniforme.
x
Pui
u
v
33petit-mondisation principe
- Version basique (centralisée)
- Chaque nud u choisit une échelle de distance de
manière aléatoire uniforme, cad niveau i. - Choisit un sommet aléatoire dans sa boule de
rayon r2i - Version décentralisée (via T)
- u contacte son ancêtre Pui de niveau i
- Pui choisit dans lunion des sous-arbres de ses
voisins (incluant lui-même) une feuille de
manière aléatoire uniforme. - Inconvénient
- les sommets de haut niveaux recoivent n?(1)
requêtes de long liens surchage temps/mémoire
x
Pui
u
v
34petit-mondisation économique
Pui
AVANT
u
35petit-mondisation économique
- Un sommet de niveau i sélectionne un ensemble
aléatoire L de c7 log N feuilles dans sous-arbre
puis le diffuse à tout son sous-arbre - Chaque sommet ayant choisi léchelle de distance
2i pour son long lien, choisit aléatoirement un
sommet de L
Pui
APRES
u
36Bilan
- Théorème Tout graphe dexpansion c peut être
petit-mondisé en - O(c8 log N log D) rondes
- O(c8 log N log D) messages de taille O(log N)
bits par nud - O(c8 log N log D) bits de mémoire par nud.
37Perspectives
- O(G) réseau logique permettant de connaître des
approximations de tailles de boules - on est capable de calculer exactement les tailles
de boules avec un léger surcoût de rondes - Généralisation aux graphes pondérés
- Enlever lhypothèse sur la connaissance dune
approximation de N et de c ! - Nécessite mécanisme de détection de non-connexité
de Gi - Version dynamique sans recalcul global de O(G)
- Utilisation de réseaux logiques intermédiaires
similaires pour dautres familles de graphes
(dimension doublante bornée, mineurs exclus, )