• Aucun résultat trouvé

Découverte de services pour les grilles de calcul dynamiques large échelle

N/A
N/A
Protected

Academic year: 2021

Partager "Découverte de services pour les grilles de calcul dynamiques large échelle"

Copied!
14
0
0

Texte intégral

(1)

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�

(2)

É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.fr

(3)

large é 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.

(4)

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

(5)

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

(6)

-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 he

par-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

(7)

sous-ja ent.

Algorithme 3.1 Insertionetplongement (gau he), répli ation etlo alité(droite)

Constants:

loc

:lo allogi alnode

loc.ID

:IDof

loc

Variables:

loc.children

:setof hildrenof

loc

loc.parent

:parentof

loc

loc.host

:addressofthepeerhosting

loc

pref ix

:string

pref ixP arent

:string

UponRECEIPTof<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

))then

if(

∃f ∈ loc.children |

SIZEOF(COMMONPREFIX(

f.ID

,

ID

))

>SIZEOF(

loc.ID

))then

SEND<logReq,

ID

>TO

f

else//Anode

n

is reatedasa hildofthelo alnodeandhosted

n

:=NEWNODE(

ID

,

parent = loc.parent

,

children = ∅

)

n.host

:=GETPEER()

SEND<hostReq,

n

>TO

n.host

loc.children

+={

n

} endif

elseif(SIZEOF(

pref ix

)=SIZEOF(

ID

))then

if(

loc.parent = ⊥

)then

//

loc

isthe urrentroot

n

:=NEWNODE(

ID

,

parent

:=

,

children

:={

loc

})

n.host

:=GETPEER()//butitsparentis reated

SEND<hostReq,

n

>TO

n.host

//andhosted

loc.parent

:=

n

else

pref ixP arent

:=COMMONPREFIX(

ID

,

loc.parent.ID

)

if(SIZEOF(

pref ixP arent

)=SIZEOF(

ID

))then

SEND<logReq,

ID

TO

loc.parent

//goingup

else//Anodeis reatedbetween

loc

and

loc.parent

n

:=NEWNODE(

ID

,

parent

:=

loc.parent

,

children

:={

loc

})

n.host

:=GETPEER()

SEND<hostReq,

n

>TO

n.host

SEND<updateChild,

n

>TO

loc.parent

loc.parent

:=

n

endif endif

else

if(

loc.parent = ⊥

)and((COMMONPREFIX(

pref ix

,

loc.parent.ID

)

=SIZEOF(prex))then

SEND<logReq,

ID

>TO

loc.parent

else//

loc

andthenewnode

n

aresiblings,theyneedaparent

p

p

:=NEWNODE(

pref ix

,

parent

:=

loc.parent

,

children

:={

loc

})

p.host

:=GETPEER()

n

:=NEWNODE(

ID

,

parent

:=

p

,

children

:={

loc

})

SEND<hostReq,

p

>TO

p.host

SEND<hostReq,

n

>TO

n.host

SEND<addChild,

n

>TO

p

loc.parent

:=

p

endif

endif

Constants:

loc

:thelo alnode

k

:repli ationfa tor

Variables:

loc.children

:setof hildrenof

loc

n.R

: setofrepli asofthenode

n

//Ontherootonly

//Repli atingtheroot,periodi ally

k

:=GETNBREPLICAS(

loc

)

while

k

< k

do

p

:=GETPEER()

SEND<hostReq,

loc

>TO

p

k

++

forall{

f

∈ loc.children

}do

//Informingmy hildrenoftheirnewparent

SEND<addParent,

p

>TO

f

done

done

loc.R

+={

p

}

//Laun hingtherepli ationinthetrie

SEND<s anReq>TO

loc

//Oneverynode

UponRECEIPTof<s anReq>

forall{

f

∈ loc.children

}do

k

:=GETNBREPLICAS(

f

) while

k

< k

do

p

:=GETPEER() SEND<repli ationReq,

p

>TO

f

f.R

+={

p

} done

next

:=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÷ud

quel- 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'algorithme

suivant,en distinguant quatre as possibles:

(8)

sto ke

v

.

c

est préxé par l'id du n÷ud lo al: len÷ud her he alorsparmi sesenfantsunn÷ud

dont l'id partage ave

c

plus de ara tères que lui-même. Si un tel n÷ud existe, la

requête lui est transmise, sinon,

c

donne lieu à la réation d'un nouveau n÷ud ls du

n÷ud lo al.

l'id du n÷ud lo alest préxé par

c

: sil'iddupèredun÷udlo alpréxe

c

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èredu

n÷ud lo al. Sinon, le n÷ud lo al et

c

sont des lefs s÷urs mais leur père doit être de

même réé. Deuxn÷udssontalors réés,unn÷udd'id

c

etlepèredun÷udlo aletdu

nouveau 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 ts

(9)

prendre 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 les

ré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),

(10)

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é rit

par

clef

. Mettre tous les attributs dans le même arbre entraînerait des omportements

in-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êtedans

l'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

. Appelons

A

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 uls

poussésde omplexité, lenombredesauts aupire estbornée par

2 × Tmax

. Pour les requêtes

né essitant l'auto omplétion, le nombre de messages né essaires pour arriver à la ra ine du

(11)

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ère

A

ni, haque n÷udayant par onstru tion une entréepar

ara tèredanslatablederoutage,(

k

en omptantlarépli ation,latailledelatablederoutage

est toujours bornée par

|A|

. Dans lapratique, ela signie quela table de routage peut-être

alloué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))

n

est lataille

totaledel'arbreet

m

lenombreden÷uds on ernéparl'intervalle. PrexHashTree onstruit

un 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é essitant

une re her he dans la DHT de taille

N

, on note

o

la taille de la sortie engendrée par une

requê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'unintervalle

R

. Nodewizadopteuneappro hesimilairemulti- ritèresmais

ne 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 un

intervalle. 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

(12)

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

(13)

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.

(14)

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

Figure

Figure 1: Exemple de onstrution de l'arbre: Les n÷uds oloriés représentent des n÷uds aux
Figure 2: Déouverte (gauhe: requête simple, droite:autoomplétion). Le lient envoie sa
Figure 3: (a) et (b) : nombre moyen de sauts néessaire au routage. () et (d) : proportion-

Références

Documents relatifs

Les propositions sont à l'origine proposées pour le travail à la maison, mais en classe elles sont tout à fait adaptables. Charivari

Dans ce dernier j'ai vraiment découvert avec émerveillement toutes les possibilités qu'offre la broderie... côté de l'estrade, la démarche pédago- gique que nous

Only one passenger should be carried and then only if the motorcycle is designed and equipped to carry a passenger and the motorcycle is operated by

El 23 de junio de 1997, el Director General estableció un pequeño grupo especial integrado por personal de la Sede y de la Oficina Regional a fin de que examinara opciones

udkisl m%:udOdr uE;l§ isÿjqKq oreKq w¾nqohlg fydA yÈis wjia:djlg uqyqK § lïmkhg m;ajqKq mqoa.,hka Wfoidh' fuh &lt;uqka iy jeäysáhka hk fomd¾Yjhgu Woõ lsÍu ioyd fhdod .;

de la lasse String permet d'obtenir la longueur d'une ha ^ ne de arat eres. La m

Soucieuse de leur bien-être et consciente que nous avons du chemin à faire pour désamorcer certains schémas répétitifs, certains implants et certaines habitudes j’ai

En outre il fallait unifier quatre législations différentes (1), trouver des cadres pour l'administration, en particulier pour l'ins- truction publique, former des