HAL Id: inria-00116791
https://hal.inria.fr/inria-00116791v2
Submitted on 28 Nov 2006
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] RR-6035, INRIA. 2006, pp.17. �inria-00116791v2�
a p p o r t
d e r e c h e r c h e
9
-6
3
9
9
IS
R
N
IN
R
IA
/R
R
--?
?
?
?
--F
R
+
E
N
G
Thème NUM
Découverte de services pour les grilles de calcul
dynamiques large échelle
Cédric Tedeschi
N°6035
Cédri Tedes hi
ThèmeNUM Systèmes numériques
ProjetGRAAL
Rapportdere her he n°???? Nov2006 17 pages
Abstra t: Within omputationalgrids,someservi es(software omponents,linear
algebra libraries, et .) aremade available bysome servers to some 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
the dis overy and its e ien y on wide-area dynami platforms are two major
is-sues. Therefore,itbe omes ru ialtoproposenewtools opingwithsu hplatforms.
Emergingpeer-to-peerte hnologiesprovide algorithmsallowingthedistributionand
theretrievalofdataitemswhileaddressingthedynami ityoftheunderlyingnetwork.
Westudyinthispapertheservi edis overyinapurepeer-to-peerenvironment.
Wedes ribeanewtrie-based approa hfor theservi edis overythatsupportsrange
queries and automati ompletion of partial sear h strings, while providing
fault-toleran e, andpartially takinginto a ount thetopologyof theunderlying network.
We validate this approa h both 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 simulation experiments run
usingseveral grid'sdatasets.
Key-words: Servi edis overy, omputational grids,peer-to-peer, prextrees
Thistextisalsoavailableasaresear hreportoftheLaboratoiredel'Informatiquedu
dynamiques large é helle
Résumé: Danslesgrillesdesserveursorentdesservi esaux lientsanderéaliser
des al uls. Avant de pouvoir les utiliser, les lients doivent être à même de les
retrouver. Bienqueles diérentes solutionsproposées depuis l'émergen edesgrilles
soiente a essurdesplates-formesrelativement statiquesetde petiteé helle,elles
ne sont plus en adéquation ave la nature dynamique et à large é helle des grilles
futures. Pour de tels environnements de nouveaux outils doivent être proposés,
notamment desmé anismespourladé ouvertedeservi es,quidevrontêtreexibles
et passer à l'é helle dans des environnements dynamiques. Nous étudions dans e
papierladé ouvertedeservi espourdesgrillesde al ulpair-à-pair. Nousproposons
une nouvelle ar hite ture baséesur unarbrede plus longpréxes.
1 Introdu tion
Ces dernières années, les grilles onne tant desressour esdistribuées sont devenues
une alternative e a e pour résoudre des problèmes de grande taille. Toutefois, le
déploiement des grilles de al ul est une tâ he di ile et de nombreux problèmes
sontàprendreen onsidérationtels quelasé urité,l'ordonnan ement, lagestiondes
ressour es,et . Dans et arti lenousnousintéresserons àla dé ouverte de servi es.
Lesservi es d'unegrillesont unensemblede omposants logi iels(bibliothèques
de al ul, exé utables, et .) que des serveurs mettent à la disposition des lients.
Depuisl'émergen e desgrilles, diérentsmé anismes de dé ouverte desservi es ont
étéutilisés. Cesoutilstraditionnels,e a espourlesplates-formesrelativement
sta-tiquesetàpetiteé helleetfondéssurdesmé anismes entralisésousemi- entralisés,
perdent leur e a ité dans des environnements large é helle où les n÷uds peuvent
quitterleréseauàtoutinstantsansprévenir. Iamnit hietFosterontré emment
sug-géréqueles grilles, quifournissent une infrastru ture pour lepartage de ressour es,
mais perdent leur e a ité sur des plates-formes dynamiques grande é helle,
gag-neraient à s'inspirer des mé anismes pair-à-pair [6℄. Les te hnologies pair-à-pair
fournissent desalgorithmes permettant lare her he d'objets. Parmi elles, lestables
deha hage distribuées(DHT)[13 ,15℄ontétéinitialement développéespourdes
sys-tèmestrèslargeé helle telquelepartage de hiers surInternet. Bienqueles DHT
passentàl'é helledanslesensoùunere her he demandeunnombredesautsetune
taille de table de routage logarithmiques en la taille du système et sont tolérantes
auxpannes,ellesprésententdeuxdéfautsmajeurs. D'abord,lepla ementdesn÷uds
dans le réseau logique ne tient pas ompte de la topologie physique du réseau, e
qui entraîne une perte importante desperforman es. Ensuite, leurs mé anismes de
dé ouverte sonttrèsrigides,puisqu'ilsne permettentquedesre her hesexa tes,sur
une lef pré ise. La se tion 2 dé rit les travaux a tuels her hant à résoudre es
problèmes.
Dans notre appro he, les servi es sont préinstallés sur les serveurs et 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.
Nousdé ouponsleproblème selon diérents ritères.
Tout d'abord, nous souhaitons supporter la omplétion automatique des
haines de re her he partielle et les requêtes sur des intervalles de lefs. On
re-marquera que es deuxfon tionnalités sont similaires. Une autre fon tionnalité
im-portante 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 la toléran e aux pannes
éviterde grandes laten eslors desrequêtes etainsirendre l'ar hite ture inutilisable
àlargeé helle,ilestimportantquelatopologie logiquetienne omptedelalo alité
physique duréseau sous-ja ent.
Notre ontribution, la Table de Pla ement Lexi ographique Distribuée (TPLD)
estune nouvelle ar hite ture quiutilise uneappro he pair-à-pairbasée surunarbre
de plus long préxes pour la dé ouverte de servi es en fournissant les mé anismes
né essairesà lamiseen ÷uvredesfontionnalités dé ritesau-dessus.
Dans la se tion suivante, nous donnons un rapide résumé de l'état de l'art des
solutions 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 modélisation des servi es,nous exposons le prin ipe
général de laTPLD se tion 3. Nous détaillons ses mé anismes etalgorithmes dans
les se tions 4 et 5. La se tion 6 présente une validation analytique de nos travaux
quiest a ompagnéepar nosrésultatspar simulation danslase tion7.
2 Etat de l'art
Comme nous l'avons déjà vu, les deux prin ipaux in onvénients a tuels des DHT
sontlarigidité de leurre her he etlanonprise en ompte de latopologiedu réseau
sous-ja ent.
La formulation de solutions pour l'inje tion de lo alité physique dans le réseau
logique a engendré une littérature importante [20, 7, 17 ,13 , 19 , 18℄. Toutefois, es
travauxs'appliquentàdestopologiesenanneau etentore, leurexploitation dansun
arbrede préxe n'est pastrivial.
L'autre in onvénient majeur des DHT est leur mé anisme de re her he rigide
qui est basé sur une lef unique. Une série de travaux initiée par [9℄ a pour
but de supporter des requêtes omplexes dansdes systèmes pair-à-pair stru turées.
INS/Twine [3℄ permet une des riptionsemi-stru turée (enXML)des objets
re her- hés. [16℄ étend les opérations traditionnelles des bases de données dans les
sys-tèmes pair-à-pair. Squid [14 ℄ permetdes re her hes multi- ritères etla omplétion
automatiquedes haînesdere her he. Lestravauxd'AndrzejaketXu [1 ℄par
exem-plesupportent les re her hes uni ritères sur un intervalle de valeurs en utilisant les
ourbesderemplissagedel'espa edeHilbert. Construitau-dessusdeplusieursDHT,
SWORD [11℄est unservi e d'informationsupportant lesrequêtes multi- ritères sur
desintervalles dont le butest ladé ouvertede ressour esde al ul.
Plus pro he de notre ar hite ture, diérents travaux se basent sur des arbres
intervalle logarithmique en la taille 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 ℄ onstruitunarbrelexi ographiquedes lefsau-dessusd'uneDHT,
dont les omplexités se multiplient. Nodewiz [4℄ s'appuie de même sur un arbre
lexi ographique, mais se pla e sur une plate-forme où les n÷uds sont onsidérés
stables. P-Grid [5 ℄ onstruit de même un arbre lexi ographique ave l'ensemble de
l'espa e des lefs. Une ara téristique ommune à toutes esappro hes est qu'elles
neprennentpasen omptelatopologie physique delaplate-forme. Nous omparons
esappro hesave notrear hite ture danslase tion 6.
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é
ommeune DHT. Il est toutefoisimportant de disso ier plongement et routage des
requêtes dans l'arbre qui se fait indépendamment, ontrairement à [12 ℄. Nous
util-isonsunmé anismede répli ationpourprévenirles dé onnexions den÷uds et nous
nousadaptons partiellement à latopologie physique.
Figure 1: Exemple de onstru tion de l'arbre: Les n÷uds oloriés représentent des
n÷uds aux lefs réelles. (1) Un servi eDGEMM est dé laré. (2) Un servi eDTRSM est
dé laré né essitant la réation du n÷ud à la lef virtuelle D, plus long préxé des
deux lefs réelles. (3) Un servi e DTRMM est dé laré. A droite, un exemple d'arbre
répliqué.
3 Table de Pla ement Lexi ographique Distribuée
Nous faisons i i une des ription générale de notre ontribution. Il est pour ela
né essaire de mieux dénir e que sera un servi e dans la TPLD. Lesservi es sont
traditionnellement dé 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 labibliothèque BLAS. 2 - Le pro esseur du serveur, par
pour des questions de fon tionnalités ou de performan es. 4 - La lo alisation
du serveur pour des questions de onan e ou de proximité 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 oreedu.*, et . L'exemple i-dessousillustrelades ription d'unservi eDGEMM
fourni par un serveur de Grid'5000 dont le système d'exploitation est une Debian
et lepro esseur un PowerPC. Cha un des attributs est asso ié à la lo alisation du
servi e pour former les ouples
(clef, valeur)
(i i, à droite) qui seront dé larés et indexésdanslaTPLD. 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, laTPLD indexe et re her he des référen es de
ser-vi essousforme de ouples
(clef, valeur)
. Ellefournit l'auto omplétion des haînes de re her he partielles. Par exemple, un lient peut dé ouvrir les servi es BLASpréxésparla haîneDTR.Ilre evratousles servi esDTRMV,DTRSV,DTRMM etDTRSM.
La TPLDs'appuie surunpla ement lexi ographiquedes attributsdans l'arbre.
L'ar hite turelogiquedelaTPLDsontdesarbreslexi ographiquesréduits, aussi
appelés arbresde pluslong préxe. L'entité de basedelaTPLDest unn÷udde es
arbres, que nous nommerons n÷ud logique. Un n÷ud logique sto ke les référen es
des servi es dé larés par les lients. L'identiant d'un n÷ud orrespond à la lef
des servi es qu'ils sto kent. On distingue deux types de lefs. Des lefs réelles qui
orrespondent à des servi es réellement dé larés. On remarquera queles feuilles de
l'arbre orrespondent àdes lefs réelles. Des lefs virtuelles quisont né essairesà la
onstru tion del'arbre. Notonsqu'une lefvirtuelleestlara inedusous-arbre dont
lesn÷uds ont pour identiant des lefs préxéespar ette lefvirtuelle. La gure1
dé 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 physique sous-ja ent. On appellera les n÷uds physiques des pairs qui
vont héberger, sousforme de pro essus unou plusieurs n÷uds logiques. Ce
plonge-mentpeut-êtreréalisédeplusieurs manières. Unexempledistribué estd'utiliser une
DHTetdepla er unn÷udlogiquesurlen÷udphysique qui orrespondau ha hage
de l'identiant du n÷ud physique. Enn, on se pla e dans un environnement
dy-namique. La TPLD ore un mé anisme de répli ation des arbres de préxes pour
heuris-tiquegloutonne permettant l'adaptation partielle à latopologiephysique du réseau
sous-ja ent.
Algorithme 3.1Insertionetplongement
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
))then if(loc.parent = ⊥
)then//
loc
isthe urrentrootn
:=NEWNODE(ID
,parent
:=⊥
,children
:={loc
})n.host
:=GETPEER()//butitsparentis reated SEND<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
//goingup else//Anodeis reatedbetweenloc
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 elseif(
loc.parent = ⊥
)and((COMMONPREFIX(pref ix
,loc.parent.ID
) =SIZEOF(prex))thenSEND<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
endifAlgorithme 3.2Répli ation etlo alité
Constants:
loc
:thelo alnodek
:repli ationfa tor Variables:loc.children
:setof hildrenofloc
n.R
:setofrepli asofthenoden
//Ontherootonly
//Repli atingtheroot,periodi ally
k
′
:=GETNBREPLICAS(loc
) whilek
′
< 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>TOnext
done4 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
). Leserveurenvoieune requête d'insertionde son servi e à un n÷ud quel onque de l'arbre (dont il obtient la référen e par un mé anismeextérieur). La requêteestensuiteroutéeselonla lef
c
. Chaquen÷ud,surré eption dela requête, appliquel'algorithmesuivant,en distinguant quatre as possibles:c
est égal à l'id du n÷udlo al:c
estdon déjàprésentedansl'arbre, len÷ud lo alsto kev
.c
est préxé par l'id du n÷ud lo al : len÷ud her he alorsparmi sesenfants un n÷ud dont l'id partage avec
plus de ara tères que lui-même. Si un teln÷udexiste,larequêteluiesttransmise, sinon,
c
donnelieuàla réationd'un nouveau n÷udls dun÷udlo al.l'id du n÷ud lo al est préxé par
c
: si l'id du père du n÷ud lo al préxec
ou estégal àc
,larequête doit remonter dans l'arbreet esttransmise au père dun÷udlo al. Sinon,c
donnelieuàla réationd'unn÷udentrelen÷udlo al etsonpère.Défaut : si le n÷ud lo al n'est pas la ra ine et que l'identiant de son père est
égal à ou préxe le préxe ommun de
c
et du n÷ud lo al, la requête est transmiseaupèredun÷udlo al. Sinon,len÷udlo aletc
sontdes lefss÷urs maisleurpère doitêtrede même réé. Deux n÷udssont alors réés,unn÷udd'id
c
etlepèredun÷udlo aletdunouveaun÷uddontl'idestleurpluslong préxe (éventuellement la haînevide).Nousdis utonsi i brièvement omment plonger lesn÷udslogiquessurlespairs.
Uneappro hesimpleestd'utiliserunrépertoire entralsupposéstableauquel haque
ma hine sedé lare età laquelleon fait appellors de la réation d'unn÷ud logique
pour l'héberger. Pour une ar hite ture totalement dé entralisée,une solution estde
stru turerleréseauphysique ave uneDHTetd'utiliserlafon tiondeha hagede la
DHTpourpla erlesn÷udslogiquesenappliquantlafon tiondeha hagedelaDHT
sur les identiants des n÷uds de l'arbre. Un problème de répartition de la harge
apparaît. En eet, l'utilisation d'une DHT garantira la distribution probabiliste
uniforme des n÷uds sur les pairs. Cependant, la harge de travail sera également
distribuéesousdeux onditionshabituellementadmisesdanslesDHT.La hargedes
n÷udslogiquesd'unepartetla apa itédespairsdoiventêtrehomogènes. La harge
d'unn÷uddépendde lapopularitédesservi esqu'ilssto kentetdesahauteurdans
l'arbre. Eneet,plusunn÷udserapro hedelara ine,pluslaproportionderequête
qu'ildevrarouterseraimportante. Nousnetraiteronspasi ispé iquement esujet
et onsidérons larépartitionde la hargeee tuéeauniveaudelaDHTquia donné
lieuàuneimportantelittérature[8 ,10℄. Adapterlefa teurderépli ationlo alement
en fontion de la harge etrépartirles requêtes sur haquerépli a estégalement une
solution.
Le pseudo- ode 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 de plongement (DHT par exemple) et retourne
estenvoyée aupair hoisipour hébergerunn÷udlogiquenouvellement réé. Les
re-quêtesupdateChildetaddChildsontenvoyéesauxn÷uds on ernésparun
hange-mentdanslesréféren esversleursls. Le odeexé utésurré eptionde esmessages
n'est pasdétaillé artrivial.
4.2 Toléran e auxpannes et priseen omptede lalo alitéphysique
Le routage logique est maintenant xé. Pour faire fa e à la dynami ité du réseau,
nousadoptonsunmé anismederépli ationsdel'arbrepouréviterlaperteden÷uds
ou de liens rendant le routage impossible. Le fa teur de répli ation
k
, indique le nombrede pairsdistin tssurlesquels haquen÷uddoitêtreprésent, ommeillustrésur la gure 1 pour
k
= 2
. Pour prendre en ompte la lo alité physique dans l'arbre, on her he à minimiser les temps de ommuni ation dans l'arbre répliqué.Nous devons prendre en ompte diérentes ontraintes. Dans notre arbre, haque
lien a une sémantique dont une instan eau moins doit être gardée dans l'arbre, e
qui rend le problème diérent d'un problème lassique d'arbre ouvrant. De plus,
pour garder une route optimale dans le sens physique du terme sur haque n÷ud
vers 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
pourunesolutionraisonnablebaséesuruneheuristiquegloutonne. Chaquen÷udva
déterminerpour ha undeseslslogiquelerépli aquiminimise àuninstant donné
le temps de ommuni ation ave lui. Cette heuristique est omplètement intégrée
à l'algorithme de répli ation et ne modie ni la omplexité de l'algorithme ni la
omplexité delataille de latable deroutage.
Le pro essusderépli ationave adaptationàlatopologiephysique,dé ritparle
pseudo- ode de l'algorithme 3.2 et qui est illustré par la gure i-dessous est initié
périodiquementparl'une desra inesdel'arbre(surlagure,iln'yenaqu'une(1)).
Les ra ines de l'arbre et seulement les ra ines forment un réseau omplet, haque
ra ine onnaitdon l'ensembledesra ines. Unalgorithmesimpled'ex lusionmutuel
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
′
.
Lara inelan edon larépli ationd'elle-même
k
− k
′
foisenobtenant
k
− k
′
pairs et
en envoyant à ha un de espairs sapropre stru ture de n÷udlogique. Une fois la
ra ine répliquée,lara ine initielarépli ation dansl'arbreens'envoyant àlui-même
une requêtes anReq(2).
Sur ré eption d'une requête s anReq, un n÷ud exé ute le pseudo- ode détaillé
ré eption, don , un n÷ud traite ses ls un par un. Pour ha un d'eux, il teste le
nombre de ré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 les répli as de e ls le pair quimin-imise letemps de ommuni ation ave lui (par lafon tion GETBESTREPLICA) et
envoieà l'élu une requêtes anReq an d'initier larépli ation dansle sous-arbre de
e ls logique. Ainsi, déterminé le meilleur répli a lo alement pour haque ls a
deux fon tions: déterminer le pair/répli a qui représentera e ls dans l'arbre
ou-vrant (et qui sera ensuite utilisé 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érentes bran hes de l'arbre (3, 4), possède une
laten elogarithmiqueen lataille de l'arbre.
5 Requêtes de dé ouverte
Un lient envoie sarequêteà unn÷udquel onque dansl'arbre. Comme l'illustre la
gure2(a), larequête est ensuite routée dansl'arbre de façon simple en remontant
tant que l'id du n÷ud ren ontré ne préxe pas la lef re her hée. Puis la requête
redes endjusqu'àtrouverlen÷uddont l'idestla lefre her héeauquel as en÷ud
renvoielesvaleursdesservi esqu'ilsto keou qu'elleretombesurun n÷uddontl'id
nepréxe plus la lef, auquel ason répondnégativement au lient.
Le traitement d'unerequêtesurune haînepartiellesefaiten deuxphases
illus-tréessurlagure2(b). ConsidéronslarequêteDTR*. Onrouted'abordnormalement
selonDTRjusqu'àtrouverlen÷udave l'idlapluspetitepréxépar DTR,
éventuelle-ment DTR seul. Les lefs re her hées se trouvent dans le sous-arbre de e n÷ud.
Il nous reste à inonder le sous-arbre ave une laten e logarithmique en la taille de
l'arbre,grâ eauparallélisme. Chaquen÷udenvoiesesréponsesau lient. Le
traite-mentd'unerequêtesurunintervalleseratrèssimilaire,enutilisantlepréxedesdeux
bornes etenappliquantlepro essuspré édent sur epréxe maissur haquen÷ud,
en limitant la diusion aux bran hes de son sous-arbre on ernées potentiellement
Figure 2: Dé ouverte (gau he: requête simple, droite:auto omplétion). Le lient
envoie sarequête à un n÷ud logique quel onque (1). La requête est routée (2,3,4).
Lesvaleurssont retournéesau lient(5).
Notre ar hite ture n'est pasnaturellement multi ritère. Nous réons un arbre
par ritère,où haque ouple(
clef
,valeur
)estenregistrédansl'arbre orrespondant à l'attribut dé rit parclef
. Mettre tous les attributs dans le même arbre entraîn-erait des omportements indésirables si un servi es'appelle omme un système parexemple. De même, pour une interrogation sur
d
ritères, le lient lan e pour ha- un des attributs qui l'intéresse une requête dans l'arbre orrespondant. Chaquearbretraite larequêteen parallèle résultant en ore enune laten elogarithmique en
la taille agrégée des arbres. Par exemple, la requête {DTRSM, Linux*, PowerPC*,
*} donnera lieu à trois requêtes traitées en parallèle dans l'arbre des noms, l'arbre
des systèmes et l'arbre des pro esseurs. Sur ré eption des réponses, le lient fait
l'interse tion des valeurs reçues pour ne garder que les servi es qui respe tent les
trois lefs spé iées.
6 Analyse
Nous analysons i i rapidement les omplexités de la TPLD pour les diérentes
métriques des réseaux pair-à-pair et ses avantages/in onvénients par rapport aux
autres appro hes basées surdesarbres de préxes.
Considérons un arbre de plus long préxe de taille
n
. AppelonsA
l'alphabet qui servirait à générer les lefs qui seront sto kées dans l'arbre. En onsidérant lataille des lefs bornéepar
T
max
, e quisemble réaliste, 'estpourquoinousne nous lan eronspasi i dansdes al ulspoussésde omplexité, lenombrede sautsau pireest bornée par
2 × T
max
. Pour les requêtes né essitant l'auto omplétion, lenombre demessagesné essairespourarriveràlara inedusous-arbre on ernéparlarequêteestdelamêmefaçon bornéepar
T
max
. Ensuite,onnepeutéviterde passerpartous lesn÷udstou hésparl'intervalle onsidéréetobtenirunnombredemessageslinéaireen lataille du sous-arbre. En revan he, grâ eau parallélisme entre les bran hes, la
laten e de e par ours est en ore bornée par la profondeur de l'arbre et don par
T
max
. De même, si l'on onsidèreA
ni, haque n÷ud ayant par onstru tion une entréepar ara tère danslatablede routage,(k
en omptant larépli ation, lataille delatablederoutageesttoujoursbornéepar|A|
. Danslapratique, elasignieque latable de routage peut-être allouée statiquement, par exemple sous laforme d'untableau de
|A|
ases. En onséquen e,ladé ision lo alde routage sur haquen÷ud peut se faire en temps onstant, en examinant la ase orrespondant au pro hainara tère dela lef re her hée.
Critère Skip Graphs Prex HashTree P-Grid TPLD
Nbdemessages(lookup)
O(log(n))
O(log(D) log(N ))
O(log(Π))
O(T
max
)
Nbdemessages(range)O(m log(n))
O(o)
O(Π
R
)
O(l)
Laten epourunintervalleO(log(n))
O(D)
O(log(Π))
O(T
max
)
Toléran eauxpannes réparation baséesuruneDHT répli ation répli ationLo alité - - - gloutonne
Le tableau i-dessus résume les omplexités et fon tionnalités de la TPLD et
des autres appro hes basées sur des arbres lexi ographiques. Bien que l'on puisse
montrer diérentes propriétés intéressantes de Skip graph on ernant la toléran e
aux pannes, le nombre de messages né essaires au traitement d'une requête sur un
intervalle est en
O(m log(n))
oùn
est la taille totale de l'arbre etm
le nombre de n÷uds on ernéparl'intervalle. PrexHashTree onstruitunarbrelexi ographiquede l'ensemble des lefs potentiels dont haque feuille gère l'ensemble des lefs de la
bran he etestae téà unn÷udde laDHT sous-ja ente. Par l'utilisation
systéma-tiquedelaDHT,la omplexitéd'unerequêtesimpleestainsien
O(log(D)× log(N ))
, haque saut dans l'arbre de profondeur bornée par la taille maximum des lefsD
né essitant une re her he dans la DHT de tailleN
, on noteo
la taille de la sortie engendrée par une requête sur un intervalle. P-Grid onstruit un arbre de préxestatiquement sur l'espa e des lefs tout entier, en asso iant haque pair ave une
partie de l'espa e, dont la taille est notée
Π
.Π
R
note la taille d'un intervalleR
. Nodewizadopte une appro he similaire multi- ritères mais ne sepla e pas dansunenvironnement dynamique, onsidérantlesn÷udsstables,hypothèsequisemblepeu
réaliste. Notrear hite ture onstruitunarbrelexi ographiqueréduit,oudepluslong
préxe quireètemieuxl'ensembledesservi esee tivementdé laréesetévitentdes
sautsinutiles,
l
dénotelenombreden÷udsdusous-arbretou héparunerequêtesur unintervalle. Enn, seulement notrear hite ture s'adapteau réseausous-ja ent,en7 Simulation
UnsimulateuraétédéveloppéenJava,implémentantla réationetl'interrogationde
l'arbre. Nousavonsutilisé desjeuxdedonnéesréels ontenant735 nomsdeservi es,
129nomsdepro esseurs,189nomsdesystèmesd'exploitationainsiqueprèsde4000
noms de ma hines. Nous avons d'abord testé le nombre de sauts logiques moyen
né essaireàl'insertion d'unnouveau servi e, enprenant les lefsà insérer
aléatoire-ment dans ha un des jeux d'attributs ainsi que dans un ensemble de 10000 mots
de taille maximum 20 générés aléatoirement dansun alphabet de 65 ara tères. La
ourbe(a)delagure3donnelerésultatde ettesimulationpour ha undesjeuxde
données. Le omportement est lairement logarithmique. Nousavonsdemême testé
lenombre desautslogiquesné essairesauroutaged'unerequêted'insertiondansun
arbre detaille bornépar lenombre total de n÷uds( lefs réelset 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 la gure 3 qui exhibe de même un
omporte-ment logarithmique, i i sur le jeu d'attributs des ma hines (mais le omportement
estsimilairepour tousles jeuxde données.)
Enn, les ourbes ( ) et (d) de la gure 3 montrent omment évolue la taille
de l'arbre en fon tion du nombre de lefs réelles dé larées. Les deux ourbes sont
lairement proportionnelles. L'ensembledes expérien es montrequela partde lefs
virtuellesesten moyenne de 30 %(ave uné art type de2,4%).
8 Con lusion
Nous avons dé rit une nouvelle ar hite ture pour une dé ouverte exible des
ser-vi es permettant l'auto omplétion des haînes de re her he partielles. Notre outil
est tolérant aux pannes et s'adapte de manière gloutonne à la topologie du réseau
sous-ja ent. Les omplexités ainsi que nosexpérien es de simulation montrent des
ara téristiques et des résultats intéressants. Nous développons a tuellement un
autremé anismedetoléran eauxpannesfondésurlaréparationdesarbressuiteàla
perted'unebran he,alors quelemé anismede répli ationprésentéi iestpréventif.
Nous étudions a tuellement le développement d'un prototype de la TPLD
perme-ttant d'observer son omportement sur une plate-forme large é helle an d'ajuster
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
Figure 3: (a) et (b) : nombre moyen de sauts né essaire au routage. ( ) et (d) :
Referen es
[1℄ A. Andrzejak and Z. Xu. S alable, e ient range queries for grid information
servi es. InPeer-to-Peer Computing, pages3340, 2002.
[2℄ J. Aspnesand G. Shah. SkipGraphs. InFourteenth Annual ACM-SIAM
Sym-posiumon Dis rete Algorithms,pages 384393, January 2003.
[3℄ M. Balazinska,H. Balakrishnan,and D. Karger. INS/Twine: A S alable
Peer-to-PeerAr hite ture for Intentional Resour eDis overy. InPervasive, 2002.
[4℄ S.Basu, S.Banerjee,P.Sharma, andS.Lee. NodeWiz: Peer-to-Peer Resour e
Dis overyforGrids. In5thInternationalWorkshop on Global andPeer-to-Peer
Computing (GP2PC), 2005.
[5℄ A. Datta,M. Hauswirth, R.John, R.S hmidt, and K. Aberer. Range Queries
in Trie-stru tured Overlays. In The Fifth IEEE International Conferen e on
Peer-to-Peer Computing, 2005.
[6℄ I.FosterandA.Iamnit hi. Ondeath,taxes,andthe onvergen eofpeer-to-peer
and grid omputing. InIPTPS,pages 118128, 2003.
[7℄ L.Gar es-Eri e,E.W.Biersa k,K.W.Ross,P.A.Felber,andG.Urvoy-Keller.
Hierar hi alPeer-to-PeerSystems.ParallelPro essing LettersVolume13,2003.
[8℄ B. Godfrey, K. Lakshminarayanan, S. Surana, R. Karp, and I. Stoi a. Load
balan ingindynami stru turedP2Psystems.InPro .IEEEINFOCOM,Hong
Kong, 2004.
[9℄ M. Harren,J.Hellerstein, R.Huebs h,B.Loo,S.Shenker,and I.Stoi a.
Com-plex Queries inDHT-BasedPeer-To-Peer Networks,2002.
[10℄ DavidR.KargerandMatthiasRuhl. Simplee ient loadbalan ingalgorithms
for peer-to-peersystems. In IPTPS,pages 131140, 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 Workshopon Real, LargeDistributed Systems(WORLDS),
[12℄ S.Ramabhadran,S.Ratnasamy,J.M. Hellerstein,and S.Shenker. Prex hash
tree an indexing datastru ture over distributedhash tables. In Pro eedings of
the 23rd ACM Symposium on Prin iples of Distributed Computing,St. John's,
Newfoundland, Canada, july2004.
[13℄ S. Ratnasamy, P. Fran is, M. Handley, R. Karp, and S. Shenker. A S alable
Content-Adressable Network. InACM SIGCOMM,2001.
[14℄ C. S hmidt and M. Parashar. Enabling exible queries with guarantees inp2p
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 e for Internet Appli ations. In ACM
SIGCOMM,pages 149160, 2001.
[16℄ P. Triantallou and T. Pitoura. Towards a Unifying Framework for Complex
Query Pro essing over Stru tured Peer-to-Peer Data Networks. In DBISP2P,
2003.
[17℄ Z. Xu, M. Mahalingam, and M. Karlsson. Turning Heterogeneity into an
Ad-vantageinOverlayRouting. In INFOCOM,2003.
[18℄ Z. Xu,R.Min, and Y.Hu. HIERAS:A DHT Based Hierar hi al P2P Routing
Algorithm. InICPP, pages187, 2003.
[19℄ Z. XuandZ.Zhang. BuildingLow-Maintenan e Expressways forP2PSystems.
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:
Unité de recherche INRIA Rhône-Alpes
655, avenue de l’Europe - 38334 Montbonnot Saint-Ismier (France)
Unité de recherche INRIA Futurs : Parc Club Orsay Université - ZAC des Vignes
4, rue Jacques Monod - 91893 ORSAY Cedex (France)
Unité de recherche INRIA Lorraine : LORIA, Technopôle de Nancy-Brabois - Campus scientifique
615, rue du Jardin Botanique - BP 101 - 54602 Villers-lès-Nancy Cedex (France)
Unité de recherche INRIA Rennes : IRISA, Campus universitaire de Beaulieu - 35042 Rennes Cedex (France)
Unité de recherche INRIA Rocquencourt : Domaine de Voluceau - Rocquencourt - BP 105 - 78153 Le Chesnay Cedex (France)
Unité de recherche INRIA Sophia Antipolis : 2004, route des Lucioles - BP 93 - 06902 Sophia Antipolis Cedex (France)
Éditeur
INRIA - Domaine de Voluceau - Rocquencourt, BP 105 - 78153 Le Chesnay Cedex (France)
http://www.inria.fr