HAL Id: hal-02102482
https://hal-lara.archives-ouvertes.fr/hal-02102482
Submitted on 17 Apr 2019
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of
sci-entific research documents, whether they are
pub-lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Découverte de services pour les grilles de calcul
dynamiques large échelle
Cédric Tedeschi
To cite this version:
Cédric Tedeschi. Découverte de services pour les grilles de calcul dynamiques large échelle. [Rapport
de recherche] LIP RR-2006-44, Laboratoire de l’informatique du parallélisme. 2006, 2+11p.
�hal-02102482�
École Normale Supérieure de Lyon
Unité Mixte de Recherche CNRS-INRIA-ENS LYON-UCBL n
o
5668
Dé ouverte de servi es pour les grilles de
al ul dynamiques large é helle
Cédri Tedes hi
Nov2006
Resear h Report N
o
2006-44
École Normale Supérieure de Lyon
46 Allée d’Italie, 69364 Lyon Cedex 07, France
Téléphone : +33(0)4.72.72.80.37
Télécopieur : +33(0)4.72.72.80.80
Adresse électronique :
lipens-lyon.frlarge é helle
Cédri Tedes hi
Nov 2006
Abstra t
Within omputationalgrids,some servi es(software omponents, linear
algebralibraries,et .) aremadeavailablebysomeserverstosome lients.
In spite of the growing popularity of su h grids, the servi e dis overy,
although e ient in many ases, does not rea h several requirements.
Among them, the exibility of thedis overy and its e ien y on
wide-area dynami platforms are two major issues. Therefore, it be omes
ru ialtoproposenewtools opingwithsu hplatforms. Emerging
peer-to-peerte hnologiesprovidealgorithmsallowingthedistributionandthe
retrievalofdataitemswhileaddressingthedynami ityoftheunderlying
network.
We studyinthis papertheservi edis overyinapurepeer-to-peer
envi-ronment. Wedes ribeanewtrie-basedapproa hfortheservi edis overy
that supports rangequeries and automati ompletion of partialsear h
strings,whileprovidingfault-toleran e,andpartiallytakingintoa ount
the topologyofthe underlyingnetwork. Wevalidatethis approa hboth
by analysis and simulation. Traditional metri s onsidered in
peer-to-peer systems exhibits interesting omplexities within our ar hite ture.
The analysis'results are onrmed bysome simulationexperimentsrun
using severalgrid'sdata sets.
Keywords: Servi edis overy, omputationalgrids, peer-to-peer, prextrees
Résumé
Dans les grilles desserveurs orent desservi es aux lients an de
réa-liser des al uls. Avant de pouvoir les utiliser, les lients doivent être à
mêmedelesretrouver.Bienquelesdiérentessolutionsproposéesdepuis
l'émergen edesgrillessoiente a essurdesplates-formesrelativement
statiques et de petite é helle, elles ne sont plus en adéquation ave la
nature dynamiqueet à large é helle des grillesfutures.Pour de tels
en-vironnements denouveauxoutils doivent être proposés,notamment des
mé anismes pour ladé ouverte de servi es,qui devront être exibles et
passer à l'é helle dans des environnements dynamiques. Nous étudions
dans e papier ladé ouverte de servi es pour des grilles de al ul
pair-à-pair. Nous proposons une nouvelle ar hite ture basée surun arbre de
plus longpréxes.
1 Introdu tion
Ces dernières années, les grilles onne tant des ressour es distribuées sont devenues une
al-ternative e a e pour résoudredesproblèmes de grandetaille. Toutefois, ledéploiement des
grilles de al ul est une tâ he di ile et de nombreux problèmes sont à prendre en
onsid-ération tels quelasé urité,l'ordonnan ement, lagestiondesressour es, et . Dans et arti le
nousnous intéresseronsà ladé ouverte de servi es.
Lesservi esd'unegrillesontunensemblede omposantslogi iels(bibliothèquesde al ul,
exé utables, et .) que des serveurs mettent à la disposition des lients. Depuis l'émergen e
des grilles, diérents mé anismes de dé ouverte des servi es ont été utilisés. Ces outils
tra-ditionnels, e a espour lesplates-formes relativement statiquesetà petiteé helle etfondés
sur des mé anismes entralisés ou semi- entralisés, perdent leur e a ité dans des
environ-nements large é helle où les n÷uds peuvent quitter le réseau à tout instant sans prévenir.
Iamnit hiet Foster ont ré emment suggéré que les grilles, qui fournissent une infrastru ture
pour le partage de ressour es, mais perdent leur e a ité sur des plates-formes dynamiques
grandeé helle,gagneraient às'inspirer des mé anismespair-à-pair [6 ℄. Leste hnologies
pair-à-pairfournissent desalgorithmes permettant lare her he d'objets. Parmi elles,les tablesde
ha hage distribuées (DHT) [13, 15 ℄ ont été initialement développées pour des systèmes très
large é helle tel que lepartage de hiers surInternet. Bien queles DHT passent à l'é helle
danslesens où une re her he demande un nombrede sauts et une taille de table de routage
logarithmiques en la taille du système et sont tolérantes aux pannes, elles présentent deux
défautsmajeurs. D'abord,lepla ement desn÷udsdansleréseaulogiquenetientpas ompte
de la topologie physique du réseau, e qui entraîne une perte importante des performan es.
Ensuite, leurs mé anismes de dé ouverte sont très rigides, puisqu'ils ne permettent que des
re her hes exa tes, sur une lef pré ise. La se tion 2 dé rit les travaux a tuels her hant à
résoudre esproblèmes.
Dansnotre appro he,les servi essont préinstalléssurles serveurset les lients her hent
à les dé ouvrir. Un servi e est dé rit par un ensemble d'attributs, par exemple le nom du
servi e, le pro esseur et le système du serveur qui le fournit. Nous dé oupons le problème
selondiérents ritères.
Tout d'abord, nous souhaitons supporter la omplétion automatique des haines de
re her he partielleet les requêtes sur des intervalles de lefs. Onremarquera que es deux
fon tionnalités sont similaires. Une autre fon tionnalité importante est la re her he
multi- ritères. Enn, pour faire fa e aux besoins des environnements pair-à-pair, il est ru ial
d'intégrer de latoléran e aux pannes pour assurer la ohéren e du routage si des n÷uds
quittent le réseau. Enn, pour éviter de grandes laten es lors des requêtes et ainsi rendre
l'ar hite tureinutilisableàlargeé helle,ilestimportantquelatopologielogiquetienne ompte
delalo alité physiquedu réseausous-ja ent.
Notre ontribution, la Table de Pla ement Lexi ographique Distribuée (TPLD) est une
nouvelle ar hite ture qui utilise une appro he pair-à-pair basée sur un arbre de plus long
préxespour ladé ouvertede servi esen fournissant les mé anismesné essaires à lamiseen
÷uvredesfontionnalitésdé rites au-dessus.
Dans la se tion suivante, nous donnons un rapide résumé de l'état de l'art dessolutions
pour des re her hes omplexes dans les systèmes pair-à-pair et pour la prise en ompte de
la topologie du réseau physique (on parle aussi de lo alité). Ensuite, après avoir pré isé la
validation analytique de nos travaux qui est a ompagnée par nos résultats par simulation
dansla se tion7.
2 Etat de l'art
Comme nous l'avons déjà vu, les deux prin ipaux in onvénients a tuels des DHT sont la
rigidité de leur re her he etlanon prise en ompte delatopologie du réseau sous-ja ent.
La formulationde solutions pour l'inje tion de lo alité physique dans leréseau logique a
engendré unelittératureimportante[20,7,17,13,19,18 ℄. Toutefois, estravauxs'appliquent
à des topologies en anneau et en tore, leur exploitation dans un arbre de préxe n'est pas
trivial.
L'autre in onvénient majeurdesDHTest leurmé anismede re her he rigidequiestbasé
sur une lef unique. Une sériedetravauxinitiée par [9℄ apourbut de supporter desrequêtes
omplexes dansdes systèmes pair-à-pair stru turées. INS/Twine [3℄ permet une des ription
semi-stru turée (en XML) des objets re her hés. [16 ℄ étend les opérations traditionnelles
des bases de données dans les systèmes pair-à-pair. Squid [14℄ permet desre her hes
multi- ritères et la omplétion automatique des haînes de re her he. Les travaux d'Andrzejak
et Xu [1 ℄ par exemple supportent les re her hes uni ritères sur un intervalle de valeurs en
utilisant les ourbes de remplissage de l'espa e de Hilbert. Construit au-dessus de plusieurs
DHT,SWORD[11℄estunservi ed'informationsupportantlesrequêtesmulti- ritères surdes
intervallesdont lebut estla dé ouverte deressour es de al ul.
Plus pro he de notre ar hite ture, diérents travaux se basent sur des arbres
lexi- ographiques, dont le parallélisme permet une laten e pour les requêtes sur un intervalle
logarithmique en lataille de l'arbre. Skip graphs [2℄ est une stru ture de données distribuée
fondée sur les skip list, où haque ressour e est un n÷ud du graphe. PHT [12℄ onstruit
un arbre lexi ographique des lefs au-dessus d'uneDHT, dont les omplexitésse multiplient.
Nodewiz[4 ℄s'appuiedemêmesurunarbrelexi ographique, maissepla esuruneplate-forme
où les n÷udssont onsidérés stables. P-Grid[5℄ onstruit demême unarbre lexi ographique
ave l'ensembledel'espa edes lefs. Une ara téristique ommune àtoutes esappro hesest
qu'elles ne prennent pasen ompte latopologie physique de laplate-forme. Nous omparons
es appro hes ave notrear hite ture danslase tion6.
L'idée lef de la TPLD est de onstruire dynamiquement un arbre logique des servi es,
et de le plonger dans le réseau physique, grâ e à un mé anisme distribué omme une DHT.
Il est toutefois important de disso ier plongement et routage des requêtes dans l'arbre qui
se fait indépendamment, ontrairement à [12℄. Nous utilisons un mé anisme de répli ation
pour prévenir les dé onnexions de n÷uds etnous nousadaptons partiellement à latopologie
physique.
3 Table de Pla ement Lexi ographique Distribuée
Nous faisonsi i une des riptiongénéralede notre ontribution. Il estpour elané essaire de
mieuxdénir equeseraunservi edanslaTPLD.Lesservi essonttraditionnellementdé rits
par un ensemble d'attributs. On onsidère les attributs suivants: 1 - Le nom du servi e,
sous lequel il est onnu par les utilisateurs. Par exemple DGEMM de la bibliothèque BLAS. 2
-Figure1: Exemplede onstru tion del'arbre: Lesn÷uds oloriésreprésentent desn÷udsaux
lefs réelles. (1)Unservi e DGEMMest dé laré. (2) Unservi eDTRSM estdé laréné essitant la
réation du n÷udà la lefvirtuelle D, plus long préxé desdeux lefs réelles. (3)Un servi e
DTRMMest dé laré. A droite,un exempled'arbre répliqué.
lo alisationduserveurpourdesquestionsde onan eoudeproximitéave le lient. Pour
fa iliter l'auto omplétion des lo alisations, on spé iera les ma hines en notation inversée,
par exemple, fr.grid5000.* si l'on veut une ma hine de la grille Grid'5000, où en ore edu.*,
et . L'exemple i-dessous illustre la des ription d'un servi eDGEMM fourni par un serveur de
Grid'5000dontlesystèmed'exploitationestuneDebianetlepro esseurunPowerPC.Cha un
desattributs estasso iéàlalo alisationduservi epourformerles ouples
(clef, valeur)
(i i,àdroite)qui serontdé larés etindexésdansla TPLD.
Servi e={ DGEMM,
Linux Debian 3.0,
PowerPC G5,
fr.grid5000.lyon }
(DGEMM, lyon.grid5000.fr)
(Linux Debian, lyon.grid5000.fr)
(PowerPC G5, lyon.grid5000.fr)
(fr.grid5000.lyon, lyon.grid5000.fr)
En terme de fon tionnalités, la TPLD indexeet re her he desréféren es de servi es sous
forme de ouples
(clef, valeur)
. Elle fournit l'auto omplétion des haînes de re her hepar-tielles. Par exemple,un lient peutdé ouvrir les servi esBLASpréxés par la haîneDTR. Il
re evra tous les servi esDTRMV, DTRSV,DTRMM etDTRSM.La TPLD s'appuiesurun pla ement
lexi ographique desattributs dansl'arbre.
L'ar hite ture logiquede laTPLD sont desarbres lexi ographiques réduits, aussiappelés
arbres deplus long préxe. L'entité de basede laTPLDest unn÷udde esarbres,quenous
nommerons n÷udlogique. Unn÷udlogiquesto ke lesréféren esdesservi esdé laréspar les
lients. L'identiant d'unn÷ud orrespondà la lefdesservi esqu'ilssto kent. Ondistingue
deux typesde lefs. Des lefs réelles qui orrespondent à desservi es réellement dé larés. On
remarquera que les feuilles de l'arbre orrespondent à des lefs réelles. Des lefs virtuelles
qui sont né essaires à la onstru tion de l'arbre. Notons qu'une lefvirtuelle est lara ine du
sous-arbre dont les n÷uds ont pour identiant des lefs préxées par ette lef virtuelle. La
gure1dé ritla onstru tiondynamiqued'unarbrequireçoitladé larationdetroisservi es.
Les n÷uds de l'arbre logique doivent être distribués sur les n÷uds physiques du réseau
physiquesous-ja ent. Onappelleralesn÷udsphysiquesdespairsquivonthéberger,sousforme
de pro essus un ou plusieurs n÷uds logiques. Ce plongement peut-être réalisé de plusieurs
manières. Un exemple distribué est d'utiliser une DHT et de pla er un n÷ud logique sur le
n÷ud physique qui orrespond au ha hage de l'identiant du n÷ud physique. Enn, on se
pla e dans un environnement dynamique. La TPLD ore un mé anisme de répli ation des
sous-ja ent.
Algorithme 3.1 Insertionetplongement (gau he), répli ation etlo alité(droite)
Constants:
loc
:lo allogi alnodeloc.ID
:IDofloc
Variables:
loc.children
:setof hildrenofloc
loc.parent
:parentofloc
loc.host
:addressofthepeerhostingloc
pref ix
:stringpref ixP arent
:stringUponRECEIPTof<logReq,
ID
>pref ix
:=COMMONPREFIX(ID
,loc.ID
)if(SIZEOF(
pref ix
)=SIZEOF(loc.ID
)=SIZEOF(ID
))then//Nodefound.Storingthenewservi e.
elseif(SIZEOF(
pref ix
)=SIZEOF(loc.ID
))thenif(
∃f ∈ loc.children |
SIZEOF(COMMONPREFIX(f.ID
,ID
))>SIZEOF(
loc.ID
))thenSEND<logReq,
ID
>TOf
else//Anode
n
is reatedasa hildofthelo alnodeandhostedn
:=NEWNODE(ID
,parent = loc.parent
,children = ∅
)n.host
:=GETPEER()SEND<hostReq,
n
>TOn.host
loc.children
+={n
} endifelseif(SIZEOF(
pref ix
)=SIZEOF(ID
))thenif(
loc.parent = ⊥
)then//
loc
isthe urrentrootn
:=NEWNODE(ID
,parent
:=⊥
,children
:={loc
})n.host
:=GETPEER()//butitsparentis reatedSEND<hostReq,
n
>TOn.host
//andhostedloc.parent
:=n
elsepref ixP arent
:=COMMONPREFIX(ID
,loc.parent.ID
)if(SIZEOF(
pref ixP arent
)=SIZEOF(ID
))thenSEND<logReq,
ID
TOloc.parent
//goingupelse//Anodeis reatedbetween
loc
andloc.parent
n
:=NEWNODE(ID
,parent
:=loc.parent
,children
:={loc
})n.host
:=GETPEER()SEND<hostReq,
n
>TOn.host
SEND<updateChild,
n
>TOloc.parent
loc.parent
:=n
endif endif
else
if(
loc.parent = ⊥
)and((COMMONPREFIX(pref ix
,loc.parent.ID
)=SIZEOF(prex))then
SEND<logReq,
ID
>TOloc.parent
else//
loc
andthenewnoden
aresiblings,theyneedaparentp
p
:=NEWNODE(pref ix
,parent
:=loc.parent
,children
:={loc
})p.host
:=GETPEER()n
:=NEWNODE(ID
,parent
:=p
,children
:={loc
})SEND<hostReq,
p
>TOp.host
SEND<hostReq,
n
>TOn.host
SEND<addChild,
n
>TOp
loc.parent
:=p
endifendif
Constants:
loc
:thelo alnodek
:repli ationfa torVariables:
loc.children
:setof hildrenofloc
n.R
: setofrepli asofthenoden
//Ontherootonly
//Repli atingtheroot,periodi ally
k
′
:=GETNBREPLICAS(loc
)while
k
′
< k
dop
:=GETPEER()SEND<hostReq,
loc
>TOp
k
′
++forall{
f
∈ loc.children
}do//Informingmy hildrenoftheirnewparent
SEND<addParent,
p
>TOf
done
done
loc.R
+={p
}//Laun hingtherepli ationinthetrie
SEND<s anReq>TO
loc
//Oneverynode
UponRECEIPTof<s anReq>
forall{
f
∈ loc.children
}dok
′
:=GETNBREPLICAS(f
) whilek
′
< k
dop
:=GETPEER() SEND<repli ationReq,p
>TOf
f.R
+={p
} donenext
:=GETBESTREPLICA(f.R
)//Laun hthes aninthissubtrie
SEND<s anReq>TO
next
done
4 Constru tion et maintenan e de la TPLD
4.1 Constru tion et plongement dynamique de l'arbre
Nous donnons i i une idée de l'algorithme d'insertion d'un servi e dé laré sous la forme
(
clef
=c
,valeur
=v
). Leserveurenvoieunerequêted'insertiondesonservi eàunn÷udquel- onque de l'arbre (dont il obtient la référen e par un mé anisme extérieur). La requête est
ensuiteroutéeselonla lef
c
. Chaquen÷ud,surré eptiondelarequête,appliquel'algorithmesuivant,en distinguant quatre as possibles:
sto ke
v
.c
est préxé par l'id du n÷ud lo al: len÷ud her he alorsparmi sesenfantsunn÷uddont l'id partage ave
c
plus de ara tères que lui-même. Si un tel n÷ud existe, larequête lui est transmise, sinon,
c
donne lieu à la réation d'un nouveau n÷ud ls dun÷ud lo al.
l'id du n÷ud lo alest préxé par
c
: sil'iddupèredun÷udlo alpréxec
ouestégalà
c
,larequêtedoitremonterdansl'arbreetesttransmiseaupèredun÷udlo al. Sinon,c
donne lieu àla réation d'unn÷udentre len÷udlo al etsonpère.Défaut : sile n÷udlo al n'est paslara ine etque l'identiant de sonpère estégal à ou
préxe lepréxe ommun de
c
etdu n÷udlo al, larequête esttransmise au pèredun÷ud lo al. Sinon, le n÷ud lo al et
c
sont des lefs s÷urs mais leur père doit être demême réé. Deuxn÷udssontalors réés,unn÷udd'id
c
etlepèredun÷udlo aletdunouveau n÷uddont l'idest leurplus longpréxe (éventuellement la haîne vide).
Nous dis utons i i brièvement omment plonger les n÷uds logiques sur les pairs. Une
appro he simpleest d'utiliser un répertoire entral supposé stableauquel haque ma hine se
dé lareetàlaquelleonfaitappellors dela réationd'unn÷udlogiquepourl'héberger. Pour
une ar hite ture totalement dé entralisée, une solution est de stru turer le réseau physique
ave une DHT etd'utiliser la fon tion deha hage de laDHT pour pla er les n÷udslogiques
enappliquant lafon tion deha hage delaDHT surlesidentiantsdesn÷uds del'arbre. Un
problèmede répartition de la harge apparaît. En eet, l'utilisation d'une DHT garantira la
distributionprobabilisteuniformedesn÷udssurlespairs. Cependant,la hargedetravailsera
également distribuée sous deux onditions habituellement admises dans les DHT. La harge
des n÷uds logiques d'une part et la apa ité des pairs doivent être homogènes. La harge
d'unn÷uddépend de lapopularitédes servi esqu'ilssto kent etde sahauteurdansl'arbre.
En eet, plus un n÷ud sera pro he de la ra ine, plus la proportion de requête qu'il devra
router sera importante. Nous ne traiterons pas i i spé iquement e sujet et onsidérons la
répartition de la harge ee tuée au niveau de la DHT qui a donné lieu à une importante
littérature [8, 10 ℄. Adapter le fa teur de répli ation lo alement en fontion de la harge et
répartirles requêtes sur haque répli aest également une solution.
Le pseudo- ode de gau he de l'algorithme 3.1 détaille le traitement d'une requête
d'insertion. La fon tion COMMONPREFIX retourne le plus long préxe de deux haînes.
La fon tion NEWNODE rée un nouveau n÷ud logique. La fon tion GETPEER appelle le
mé anisme deplongement (DHTpar exemple)etretourne laréféren ed'unpair hoisipar le
mé anisme de plongement. La requête hostReq est envoyée au pair hoisi pour héberger un
n÷ud logique nouvellement réé. Les requêtes updateChild etaddChild sont envoyées aux
n÷uds on ernés par un hangement dansles référen es vers leurs ls. Le ode exé uté sur
ré eption de esmessagesn'est pasdétaillé artrivial.
4.2 Toléran e aux pannes et prise en ompte de la lo alité physique
Le routage logique est maintenant xé. Pour faire fa e à la dynami ité du réseau, nous
adoptons un mé anisme de répli ations de l'arbre pour éviter la perte de n÷uds ou de liens
rendantleroutageimpossible. Lefa teurderépli ation
k
,indiquelenombredepairsdistin tsprendre en ompte la lo alité physique dans l'arbre, on her he à minimiser les temps de
ommuni ation dansl'arbre répliqué. Nousdevonsprendreen ompte diérentes ontraintes.
Dans notre arbre, haquelien a une sémantiquedont une instan eau moinsdoit être gardée
dans l'arbre, e qui rendle problème diérent d'un problème lassique d'arbre ouvrant. De
plus, pour garder une route optimale danslesens physique du termesur haque n÷udvers
haque n÷ud de l'arbre, il est né essaire de garder une table de routage de taille linéaire en
la taille de l'arbre non répliqué, e qui serait néfaste au passage à l'é helle. L'optimalité ne
pouvant être atteinte sans ette ondition, nous optons pour une solution raisonnable basée
surune heuristique gloutonne. Chaquen÷udvadéterminerpour ha un deses lslogiquele
répli aquiminimiseàuninstantdonnéletempsde ommuni ationave lui. Cetteheuristique
est omplètement intégrée à l'algorithme de répli ation et ne modie ni la omplexité de
l'algorithme nila omplexité dela taillede latable deroutage.
Le pro essusde répli ationave adaptation à latopologie physique,dé ritpar le
pseudo- ode de droite de l'algorithme 3.1 et qui est illustré par la gure i-dessous est initié
péri-odiquement par l'unedes ra inesde l'arbre(sur lagure, iln'y ena qu'une (1)). Lesra ines
de l'arbre et seulement les ra ines forment un réseau omplet, haque ra ine onnait don
l'ensemble des ra ines. Un algorithme simple d'ex lusion mutuel prévient l'initialisation de
l'algorithme par plusieurs ra ines en même temps. La ra ine élue ommen e par déterminer
le nombre de ra ines joignables, mettons
k
′
. La ra ine lan e don la répli ation d'elle-même
k
− k
′
fois en obtenant
k
− k
′
pairs eten envoyant à ha un de espairs sapropre stru ture
de n÷ud logique. Une fois la ra ine répliquée, la ra ine initie la répli ation dans l'arbre en
s'envoyant àlui-même une requêtes anReq (2).
Surré eptiond'unerequêtes anReq,unn÷udexé utelepseudo- odedétailléparlapartie
ommune àtouslesn÷udsdupseudo- odededroite del'algorithme3.1. Surré eption, don ,
unn÷udtraiteseslsunpar un. Pour ha un d'eux,ilteste lenombrederépli as joignables
et demande à l'un d'eux d'envoyer sa stru ture de n÷ud logique vers un nombre de pairs
né essaires pour atteindre
k
via la requête repli ationReq. Il détermine ensuite parmi lesrépli as de e ls le pair qui minimise le temps de ommuni ation ave lui (par la fon tion
GETBESTREPLICA)etenvoieàl'éluunerequêtes anReqand'initierlarépli ationdansle
sous-arbrede elslogique. Ainsi,déterminélemeilleurrépli alo alementpour haquelsa
deuxfon tions: déterminerlepair/répli aquireprésentera elsdansl'arbre ouvrant(etqui
sera ensuiteutilisé pour router les requêtes) et d'élire le pair/répli a qui lan e la répli ation
dans le sous-arbre de e ls. Cet algorithme ee tuant la répli ation en parallèle dans les
diérentesbran hesdel'arbre(3,4),possède unelaten elogarithmiqueen latailledel'arbre.
5 Requêtes de dé ouverte
Un lientenvoiesarequêteàunn÷udquel onquedansl'arbre. Commel'illustrelagure2(a),
dontl'idestla lefre her héeauquel as en÷udrenvoielesvaleursdesservi esqu'ilsto keou
qu'elleretombesurunn÷uddontl'idnepréxeplusla lef,auquel asonrépondnégativement
au lient.
Le traitement d'une requête sur une haîne partielle se fait en deux phases illustrées sur
lagure2(b). ConsidéronslarequêteDTR*. Onrouted'abordnormalement selonDTRjusqu'à
trouver le n÷ud ave l'id la plus petite préxé par DTR, éventuellement DTR seul. Les lefs
re her hées se trouvent dans le sous-arbre de e n÷ud. Il nous reste à inonder lesous-arbre
ave une laten e logarithmique en la taille de l'arbre, grâ e au parallélisme. Chaque n÷ud
envoiesesréponsesau lient. Le traitementd'unerequêtesurunintervallesera trèssimilaire,
en utilisant le préxe desdeux bornes eten appliquant le pro essuspré édent sur e préxe
mais sur haque n÷ud, en limitant la diusion aux bran hes de son sous-arbre on ernées
potentiellement par larequête.
Figure 2: Dé ouverte (gau he: requête simple, droite:auto omplétion). Le lient envoie sa
requête à un n÷ud logique quel onque (1). La requête est routée (2,3,4). Les valeurs sont
retournéesau lient(5).
Notrear hite turen'estpasnaturellementmulti ritère. Nous réonsunarbrepar ritère,
où haque ouple (
clef
,valeur
) est enregistré dans l'arbre orrespondant à l'attribut dé ritpar
clef
. Mettre tous les attributs dans le même arbre entraînerait des omportementsin-désirablessiunservi es'appelle ommeunsystèmeparexemple. Demême,pourune
interro-gation sur
d
ritères, le lient lan epour ha un desattributsqui l'intéresseunerequêtedansl'arbre orrespondant. Chaque arbretraitelarequête enparallèle résultant en oreen une
la-ten elogarithmiqueenlatailleagrégéedesarbres. Par exemple,larequête{DTRSM, Linux*,
PowerPC*, *}donneralieuàtroisrequêtestraitéesenparallèle dansl'arbredesnoms,l'arbre
dessystèmesetl'arbredespro esseurs. Surré eptiondesréponses,le lient faitl'interse tion
des valeursreçues pour negarder queles servi esqui respe tent lestrois lefs spé iées.
6 Analyse
Nous analysons i irapidement les omplexitésde laTPLD pour les diérentes métriquesdes
réseaux pair-à-pair et ses avantages/in onvénients par rapport aux autres appro hes basées
sur desarbres depréxes.
Considéronsun arbrede pluslongpréxe de taille
n
. AppelonsA
l'alphabetqui serviraità générer les lefs qui seront sto kées dans l'arbre. En onsidérant la taille des lefs bornée
par
Tmax
, equisembleréaliste, 'estpourquoinousnenouslan eronspasi idansdes al ulspoussésde omplexité, lenombredesauts aupire estbornée par
2 × Tmax
. Pour les requêtesné essitant l'auto omplétion, le nombre de messages né essaires pour arriver à la ra ine du
de messages linéaire en la taille du sous-arbre. En revan he, grâ e au parallélisme entre les
bran hes,lalaten ede e par ours esten orebornéeparlaprofondeur del'arbreetdon par
Tmax
. Demême,si l'on onsidèreA
ni, haque n÷udayant par onstru tion une entréeparara tèredanslatablederoutage,(
k
en omptantlarépli ation,latailledelatablederoutageest toujours bornée par
|A|
. Dans lapratique, ela signie quela table de routage peut-êtreallouée statiquement, par exemple sous laforme d'un tableau de
|A|
ases. En onséquen e,la dé ision lo al de routage sur haque n÷ud peut sefaire en temps onstant, en examinant
la ase orrespondant aupro hain ara tère de la lefre her hée.
Critère Skip Graphs Prex HashTree P-Grid TPLD
Nbdemessagespourunere her hesimple
O(log(n))
O(log(D) log(N ))
O(log(Π))
O(Tmax)
Nbdemessagespourunintervalle
O(m log(n))
O(o)
O(ΠR)
O(l)
Laten epourunintervalle
O(log(n))
O(D)
O(log(Π))
O(Tmax)
Toléran eauxpannes réparation baséesuruneDHT répli ation répli ation
Lo alité - - - gloutonne
Le tableau i-dessus résume les omplexités et fon tionnalités de la TPLD etdes autres
appro hesbaséessurdesarbreslexi ographiques. Bienquel'onpuissemontrerdiérentes
pro-priétésintéressantesdeSkipgraph on ernantlatoléran eauxpannes,lenombredemessages
né essaires au traitement d'une requêtesurun intervalle esten
O(m log(n))
oùn
est latailletotaledel'arbreet
m
lenombreden÷uds on ernéparl'intervalle. PrexHashTree onstruitun arbrelexi ographiquedel'ensembledes lefspotentielsdont haquefeuillegèrel'ensemble
des lefs de la bran he et est ae té à un n÷ud de la DHT sous-ja ente. Par l'utilisation
systématique delaDHT,la omplexité d'unerequêtesimpleestainsien
O(log(D) × log(N ))
,haque sautdansl'arbre de profondeurbornéepar lataille maximumdes lefs
D
né essitantune re her he dans la DHT de taille
N
, on noteo
la taille de la sortie engendrée par unerequête sur un intervalle. P-Grid onstruit unarbre de préxe statiquement surl'espa e des
lefstoutentier,enasso iant haquepairave unepartiedel'espa e,dontlatailleestnotée
Π
.ΠR
notelatailled'unintervalleR
. Nodewizadopteuneappro hesimilairemulti- ritèresmaisne sepla e pasdansun environnement dynamique, onsidérant lesn÷uds stables,hypothèse
qui semble peu réaliste. Notre ar hite ture onstruit un arbre lexi ographique réduit, ou de
plus long préxe qui reète mieux l'ensemble des servi es ee tivement dé larées et évitent
des sauts inutiles,
l
dénotele nombre de n÷uds du sous-arbre tou hé par une requêtesur unintervalle. Enn, seulement notre ar hite ture s'adapteau réseau sous-ja ent, en utilisant la
topologie del'arbre.
7 Simulation
Un simulateur aétédéveloppéen Java,implémentant la réationetl'interrogation del'arbre.
Nous avons utilisé des jeux de données réels ontenant 735 noms de servi es, 129 noms de
pro esseurs, 189 noms de systèmes d'exploitation ainsi que près de 4000 noms de ma hines.
Nous avons d'abord testé le nombre de sauts logiques moyen né essaire à l'insertion d'un
nouveau servi e,en prenant les lefs àinsérer aléatoirement dans ha un desjeuxd'attributs
ainsiquedans unensemble de 10000mots de taille maximum20 générés aléatoirement dans
unalphabetde65 ara tères. La ourbe(a)delagure3donnelerésultatde ettesimulation
0
2
4
6
8
10
12
10
100
1000
10000
Nb de sauts pour une requête d’insertion
Nb de requêtes d’insertion
735 services (1006 noeuds) [moyenne]
189 systèmes (255 nopeuds) [moyenne]
mots aléatoires de 1 à 20 caractères [moyenne]
129 architectures matérielles (173 noeuds) [moyenne]
3985 machines (~5250 noeuds) [moyenne]
a
0
2
4
6
8
10
100
1000
Nombre de sauts pour traiter une requeteª
Taille de l’arbre
3985 machines (5243 noeuds) [moyenne]
b
0
200
400
600
800
1000
1200
0
100
200
300
400
500
600
700
Taille de l’arbre
Nombre de clefs reelles
735 services (1006 noeuds) [moyenne]
0
50
100
150
200
0
20
40
60
80
100
120
Taille de l’arbre
Nombre de clefs reelles
129 processeurs (173 noeuds) [moyenne]
d
Figure3: (a) et(b) : nombre moyen de sauts né essaire au routage. ( ) et(d) :
proportion-nalitéentre nombre de lefs réelsettaillede l'arbre.
dansun arbre de taille bornépar lenombre total de n÷uds ( lefs réels et virtuels) résultant
de l'insertion de tous les attributs du jeu de données. Le résultat de l'expérien e nous est
donné par la ourbe (b) de lagure 3 qui exhibe de même un omportement logarithmique,
i isur lejeu d'attributsdes ma hines (mais le omportement est similairepour tousles jeux
dedonnées.)
Enn, les ourbes( )et(d)de lagure3montrent omment évolue lataille del'arbre en
fon tion du nombre de lefs réelles dé larées. Les deux ourbes sont lairement
proportion-nelles. L'ensemble desexpérien esmontrequelapartde lefs virtuellesesten moyenne de30
%(ave uné art typede 2,4%).
8 Con lusion
Nous avons dé rit une nouvelle ar hite ture pour une dé ouverte exible des servi es
per-mettant l'auto omplétion des haînes de re her he partielles. Notre outil est tolérant aux
pannesets'adaptedemanièregloutonneàlatopologieduréseausous-ja ent. Les omplexités
ainsique nosexpérien esde simulationmontrent des ara téristiquesetdesrésultats
tion présenté i i est préventif. Nousétudions a tuellement le développement d'un prototype
de la TPLD permettant d'observer son omportement sur une plate-forme large é helle an
d'ajuster ertains paramètres ommelefa teur derépli ation.
Referen es
[1℄ A. Andrzejak and Z. Xu. S alable, e ient range queries for grid information servi es.
InPeer-to-Peer Computing,pages 3340, 2002.
[2℄ J.Aspnes and G.Shah. Skip Graphs. In Fourteenth Annual ACM-SIAM Symposium on
Dis rete Algorithms,pages 384393, January2003.
[3℄ M. Balazinska, H. Balakrishnan, and D. Karger. INS/Twine: A S alable Peer-to-Peer
Ar hite ture for Intentional Resour eDis overy. InPervasive, 2002.
[4℄ S. Basu,S. Banerjee, P. Sharma, and S. Lee. NodeWiz: Peer-to-Peer Resour e
Dis ov-ery for Grids. In 5th International Workshop on Global and Peer-to-Peer Computing
(GP2PC), 2005.
[5℄ A. Datta, M. Hauswirth, R. John, R.S hmidt, and K. Aberer. Range Queries in T
rie-stru turedOverlays. In TheFifth IEEE InternationalConferen e on Peer-to-Peer
Com-puting, 2005.
[6℄ I.FosterandA.Iamnit hi. Ondeath,taxes,andthe onvergen eofpeer-to-peerandgrid
omputing. InIPTPS,pages118128, 2003.
[7℄ L.Gar es-Eri e, E.W.Biersa k, K.W.Ross,P.A.Felber,andG. Urvoy-Keller.
Hierar- hi al Peer-to-Peer Systems. Parallel Pro essing Letters Volume 13,2003.
[8℄ B.Godfrey,K.Lakshminarayanan,S.Surana, R.Karp, and I.Stoi a. Loadbalan ingin
dynami stru turedP2P systems. InPro . IEEE INFOCOM,Hong Kong, 2004.
[9℄ M.Harren,J.Hellerstein,R.Huebs h,B.Loo,S.Shenker,andI.Stoi a.ComplexQueries
inDHT-Based Peer-To-Peer Networks,2002.
[10℄ DavidR.Kargerand MatthiasRuhl. Simplee ientloadbalan ingalgorithmsfor
peer-to-peer systems. In IPTPS,pages131140, 2004.
[11℄ D. Oppenheimer, J. Albre ht, D. Patterson, and A. Vahdat. Distributed Resour e
Dis- overy on PlanetLab with SWORD. In Pro eedings of the ACM/USENIX Workshop on
Real, Large Distributed Systems(WORLDS), De ember 2004.
[12℄ S. Ramabhadran, S.Ratnasamy,J. M. Hellerstein, and S. Shenker. Prex hash tree an
indexing data stru ture over distributed hash tables. In Pro eedings of the 23rd ACM
Symposium on Prin iples of Distributed Computing,St.John's, Newfoundland, Canada,
july 2004.
Content-[14℄ C. S hmidt and M. Parashar. Enabling exible queries withguarantees in p2p systems.
IEEE Internet Computing,8(3):1926, 2004.
[15℄ I. Stoi a, R.Morris, D. Karger, M. Kaashoek, and H.Balakrishnan. Chord: A S alable
Peer-to-Peer Lookup servi efor Internet Appli ations. In ACM SIGCOMM,pages149
160,2001.
[16℄ P. Triantallou and T. Pitoura. Towards a Unifying Framework for Complex Query
Pro essingoverStru tured Peer-to-Peer Data Networks. In DBISP2P,2003.
[17℄ Z. Xu, M. Mahalingam, and M. Karlsson. Turning Heterogeneity into an Advantage in
Overlay Routing. In INFOCOM,2003.
[18℄ Z.Xu,R.Min,andY.Hu.HIERAS:ADHTBasedHierar hi alP2PRoutingAlgorithm.
InICPP, pages 187,2003.
[19℄ Z.XuandZ.Zhang.BuildingLow-Maintenan eExpresswaysforP2PSystems.Te hni al
report, Hewlett-Pa kard Labs, April2002.
[20℄ B.Y.Zhao,Y.Duan,L.Huang,A.D.Joseph,andJ.D.Kubiatowi z.Bro ade: Landmark