• 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!
21
0
0

Texte intégral

(1)

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�

(2)

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

(3)
(4)

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

(5)

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.

(6)

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

(7)

é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

(8)

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

(9)

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 BLAS

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

(10)

heuris-tiquegloutonne permettant l'adaptation partielle à latopologiephysique du réseau

sous-ja ent.

Algorithme 3.1Insertionetplongement

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

(11)

Algorithme 3.2Répli ation etlo alité

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

). 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é anisme

exté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 ke

v

.

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 ave

c

plus de ara tères que lui-même. Si un tel

(12)

n÷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éxe

c

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 alet

c

sontdes lefss÷urs maisleurpère doitêtrede même réé. Deux n÷udssont alors réés,unn÷ud

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

(13)

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é

(14)

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 qui

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

(15)

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 par

clef

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

exemple. 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. Chaque

arbretraite 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

. Appelons

A

l'alphabet qui servirait à générer les lefs qui seront sto kées dans l'arbre. En onsidérant la

taille des lefs bornéepar

T

max

, e quisemble réaliste, 'estpourquoinousne nous lan eronspasi i dansdes al ulspoussésde omplexité, lenombrede sautsau pire

est 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ête

estdelamêmefaçon bornéepar

T

max

. Ensuite,onnepeutéviterde passerpartous lesn÷udstou hésparl'intervalle onsidéréetobtenirunnombredemessageslinéaire

(16)

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

A

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

tableau 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 hain

ara 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 epourunintervalle

O(log(n))

O(D)

O(log(Π))

O(T

max

)

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

n

est la taille totale de l'arbre et

m

le nombre de n÷uds on ernéparl'intervalle. PrexHashTree onstruitunarbrelexi ographique

de 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 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 un arbre de préxe

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

R

. Nodewizadopte une appro he similaire multi- ritères mais ne sepla e pas dansun

environnement 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,en

(17)

7 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

(18)

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

(19)

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

(20)

[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:

(21)

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

Figure

Figure 1: Exemple de onstrution de l'arbre: Les n÷uds oloriés représenten t des
Figure 2: Déouverte (gauhe: requête simple, droite:autoomplétion). Le lient

Références

Documents relatifs

Chaque réseau dispose de son propre serveur DHCP chargés de distribuer autiomatiquement les adresses en respectant la hiérarchie ci-dessus (La direction à les adresses les plus

2/ Pour chacun des sous réseau, la passerelle aura la dernière adresse possible et le serveur l’avant

Un système autonôme (autonomous system – AS), aussi connu sous le nome de domaine de routage – est l'ensemble de routeurs sous une administration commune.   Le réseau

Le routage consiste à déterminer la route qu'un paquet doit prendre pour atteindre une destination en fonction de l'adresse IP de destination et des routes contenues dans la table

Chaque message LSR, LSU ou LSA est encapsulé dans un paquet IP ayant pour adresse de destination l’adresse multicast identifiant tous les routeurs OSPF sur la liaison de données.

La translation d’adresse de source permet aux hôtes du réseau privé de sortir

I Un routeur d´ ecide de la destination (passerelle, gateway) d’un paquet par consultation de la table de routage et de l’adresse IP du datagramme. I La maintenance des tables

• Plus la distance administrative d’un protocole de routage est faible, plus les routes qu’il fournit sont prioritaires. » 1 pour les