• Aucun résultat trouvé

Plan de déploiement Description Générique Description Spécifique

N/A
N/A
Protected

Academic year: 2022

Partager "Plan de déploiement Description Générique Description Spécifique"

Copied!
25
0
0

Texte intégral

(1)

BenjaminDepardon

Sous ladiretiond'Eddy Caron(ÉNS-Lyon/INRIA/LIP)

et

Christian Pérez (IRISA/INRIA)

Février- Juin 2007

Déploiement générique d'appliations

sur plates-formes hétérogènes réparties

Résumé

Lesgrillesdealulsontdessystèmesdistribués hétérogènesdeplusenplusutiliséspourexéu-

ter des appliations de alul sientique. Seulement lesexpérienes à largeéhelle néessitentdes

moyenssimplesetautomatiséspourséletionnerlesressouresàutiliser,puisinstalleretexéuterles

appliationsanderendreaessibleettepuissanedealulàdesutilisateursnonexpertseninfor-

matique.Auunoutilnepermetpourl'instantdeouvrirl'intégralitéduproessusdedéploiement,le

plusgrosmanquesesituantauniveaudesalgorithmesd'attributionderessouresauxappliations.Il

estdonindispensabledeproposerdenouveauxalgorithmeseaes.Parmileslogiielsdedéploie-

mentAdageesteluiquis'annoneleplusprometteur.Notrebutestderajouterdesalgorithmesde

déploiementauseind'Adage.Leproblèmequenousherhonsàrésoudreestdetrouverundéploie-

mentquiminimiselesommuniations,répartitlahargedefaçonéquitableentrelesproesseurs,et

maximiselenombred'instanesdesappliationsdéployées.

Mots-lés :Grillede alul,déploiement, plaement,intergiiel, équilibrage de harge

1 Introdution

Le alul haute performane onsiste en la résolution de problèmes néessitant une grande puis-

sanede aluletde stokage.Ces problèmes sont par exemple dessimulations pour vérier un modèle

théorique, de l'analyse de signaux, de laprévision météorologique, de l'analyse d'images médiales, de

la détermination de formes de protéines, et. Ces problèmes peuvent être onstitués d'un ensemble de

travauxtotalement indépendants(formesdesprotéines),ouàl'opposéd'unensembled'appliationsfor-

tement ouplées requérant desommuniations (simulations météorologiques ave un ouplage entre le

modèledel'atmosphèreetlemodèledesoéans).Siesalulsontétéprinipalementmenéspendantun

temps surdesordinateursmassivementparallèles, l'émergenedesréseauxhaut-débitapermisl'agréga-

tion de ressouresde alulhétérogènes en grappes, puisen grilles dealul [12 ℄.Les grillesorent une

puissanedealulonséquente auxutilisateurs,maisellen'orepaslemême environnement homogène

quiestprésent surlessuperalulateurs.Seposealors leproblèmeduhoixdesressourespourexéuter

les appliations : en fontion de e hoix les performanes peuvent fortement varier (variation de la

quantitéetduoûtdesommuniations,variationdelapuissanedealuloerte,et.).Lesutilisateurs

(2)

adaptésleurpermettantd'utiliserleursappliationsleplussimplement etdanslesmeilleuresonditions,

sansqu'ilssoient expertsen informatique.

Le déploiement d'appliations sur une plate-forme onsiste à séletionner, puis à attribuer des

ressoures de alul àes appliations. Atuellement, les appliations sientiques sont biensouvent

déployées demanière manuelle :le hoix desressoures,leur attribution àune appliation,puis l'instal-

lationetlelanement desappliationsrestent àlahargede l'utilisateur.Ilexiste desoutils permettant

de simplier ela, maisertains restent spéiques à une appliation [1, 6℄, d'autres seveulent plus gé-

nériques et traitent un ensemble d'appliations quelonques [5, 19 ℄. Tous es outils ne ouvrent pas le

même spetre d'undéploiement etassez peu proposent des méthodes pour attribuer automatiquement

lesressoures auxappliations. Notrebut est deonevoirdes algorithmespermettant d'automatiser la

générationdu plande déploiement.

Nousonsidéronsunensemblede

n

appliationsàdéployersurlagrille,esappliationspeuventêtre soit séquentielles, soit parallèles, soit enore des appliations hiérarhiques. Pour haune d'elle, nous

disposonsd'unertainnombred'instanesmaximumàdéployer (lenombred'instanespeutreprésenter

lenombrede fois qu'on souhaitedupliquer unservie, ouenore lenombre delienes disponiblespour

l'appliation, et.). Chaqueappliation peutommuniquer ave uneou plusieurs autres, il n'y aepen-

dant pas de notion de préédene entre les appliations : toutes les appliations doivent être présentes

sur la plate-forme en même temps. La plate-forme onsidérée omprend

m

proesseurs regroupés en

grappes.Nousonsidéronsquehaqueproesseurpeutommuniqueravetouslesautres,seulslesoûts

des ommuniations sont variables. Notre problème est le suivant : trouverun déploiement qui permet

de maximiser le nombre d'instanes déployées, tout en minimisant le oût des ommuniations et en

répartissant lahargesur l'ensemble desproesseurs.

Le reste de e rapport s'organise ainsi :nous ferons tout d'abord un état de l'art sur les outils de

déploiement en setion 2, puis nous présenterons les extensions proposées au logiiel de déploiement

Adageensetion3.Cesoutilsnéessitantdesalgorithmesdeplaniation,nousprésenteronsensetion

4desméthodesde répartitiondehargesurplates-formeshétérogènes.Puis,nousproposeronsenndes

heuristiques pour réaliser le déploiement d'appliations en setion 5, et présenterons des résultats de

simulations.Noustermineronsparuneonlusion,etparprésenterlesperspetivesoertespare thème

de reherhe.

2 Outils de déploiement

L'utilisation simple et eae d'une grille de alul etdes appliations à déployer passe par l'utili-

sation d'un outil de déploiement. Celui-i a la harge d'un ertain nombre d'opérations aboutissant à

l'exéutiondesappliations. Enpremierlieu,ladéouvertedes ressoures disponiblessertàdéter-

minerunsous-ensemblede ressouresompatiblesave lesappliations, etsurlesquellesil serapossible

dedéployer.Laseondeétapeonsisteàattribuerdesressouresauxappliationsenfontiondeleurdes-

ription:lesbesoinsenommuniationsetenaluls, 'estlagénérationduplande déploiement.Il

faut ensuiteséletionnerlesressouresquifont partie duplandedéploiement,etinstallerles hiers

néessaires sur es diérentes ressoures. Les trois dernières phases onernent diretement l'exéution

des appliations. Une phase de pré-onguration permet de vérier les dépendanes de hiers, de

bibliothèques, et., requises par les appliations, elle permet également de les ongurer. La phase de

lanementexéuteleplande déploiement, enrespetant lesdiérentes ontraintes pouvantexistersur

l'ordred'exéution.Finalement,unephasedepost-ongurationpermetdeongurerlesappliations

(3)

tion un ensemble représentatif, mais non exhaustif, des possibilités oertes par les diérents outils de

déploiement existants.

Adage [19 , 20, 21℄ vise l'automatisation du déploiement d'appliations sur un environnement de

Grille.Ilproposeunmodèlededesriptiongénérique pourlesappliations, ainsiqu'uneséparationentre

ladesriptiondesressoures,desappliationsetdesparamètresdeontrles, elalerendutilisablepour

une grande variété de déploiements. Adage permet d'installer à distane les hiers, de ongurer les

appliationsetdelesdémarrer.Ilnedisposeependantpasd'algorithmeperformantpourréaliserleplan

dedéploiement (seulsRandometRound-Robin sontproposés),maissonarhiteture modulairepermet

d'étendreses possibilités en ajoutant d'autresalgorithmes.

DistAnt [15 , 16℄sert prinipalement à installer des appliations sur un environnement hétérogène

réparti, lelanement desappliations, etle hoix des ressouressont laissésà un systèmetieretel que

le GlobusToolkit. Il seompose de deux parties: unlient gèrel'ensemble desations du déploiement

à partir d'un n÷ud, et des serveurs DistAnt devant être présents sur les n÷uds à utiliser qui réalisent

le déploiement desappliations. Le fait qu'il soit néessaire d'avoir desserveurs DistAnt déjà présents

surles ressoureslimitel'utilisation de etoutil :il faut eetuer unpremier déploiement pour pouvoir

déployerlesappliations.Ilneproposeégalementauuneméthodedeséletionderessoures,l'utilisateur

doitfournir un hier préisant elles àutiliser.

GoDiet [6℄estunlogiieldédiéau déploiement dehiérarhies del'intergiielDiet [7℄,et n'estpas

extensible à d'autres appliations. GoDiet prend en entrée un hier XML dérivant les ressoures de

stokage etde alul disponibles etleurs moyens d'aès, ainsi que le déploiement Diet voulu sur es

ressoures (assoiation des éléments Diet aux ressoures, ainsi que la desription de la hiérarhie), la

séparation entrela desriptiondes ressoureset ladesriptionde la hiérarhie n'est pasnette (tout est

dans un seul hier). Le déploiement ne peut avoir lieu que siDiet est déjà installé surles diérentes

mahines (il n'y a pas de méanisme d'installation distante), mais par ontre la pré-onguration des

diérentes entités estgérée.

Jade [5 ℄ est un intergiiel servant à déployer et gérer des appliations de façon dynamique. Il est

plus orienté gestion autonome dynamique d'appliations. Il permet la prise en ompte des variations

de l'environnement grâe à desapteurs, etd'agir sur lesystème déployé en onséquene (enmodiant

leur onguration, ou en ajoutant/enlevant des instanes,et.). Il dispose également d'un système de

déploiement d'appliations : elles-i sont enapsulées dans des omposants Fratal 1

qui dénissent les

interfaes entrantes et sortantes, ainsi que des ontrleurs permettant d'agir sur le omportement des

omposants. Laséletion desressouresest faitedans ungroupe de n÷uds disponibles au niveau d'une

grappe dealul.

JXTA Distributed Framework (JDF) [1 ℄ est un ensemble d'outils visant à failiter la réalisa-

tion de tests de plates-formes pair à pair basées sur JXTA 2

. L'utilisateur doit spéier l'ensemble des

ressoures qui sont utilisées (bien que pour un déploiement sur une seule grappe de alull'utilisation

de PBS puisseêtre envisagée pour séletionner automatiquement les ressoures).JDF s'oupe ensuite

d'installer à distane les hiers via rp/sp,puis initialise le réseau JXTA, et exéute les tests en les

oordonnantà partird'un n÷udde référene,nalementilrapatrieles hiers delog.L'utilisationde e

systèmereste très spéique.

Sekitei [17, 18℄ est un algorithme d'intelligene artiielle servant à résoudre le problème CPP

(Component Plaement Problem). Il se présente en tant qu'un module Java pouvant être réutilisé dans

1

http://fratal.objetweb.org/

2

http://www.jxta.org/

(4)

règlesetunbut àatteindredonnéspar l'utilisateur,ilreherhe undéploiement minimalrépondantaux

ontraintes. Sekiteinepermetpasdedéployerlesappliations,ilnefaitqueréerleplandedéploiement.

Weevil [27℄ est un outil permettant d'automatiser la réalisation d'expérienes sur des systèmes

distribués. Il omprend deux parties : la génération d'une harge de travail pour les appliations à

tester, et le déploiement et exéution des diérents sénarios. Les ressoures, les appliations et les

ations à eetuer sont dérites dans des hiers en GNU m4 fournis par l'utilisateur. Le déploiement

est automatiséà l'aide de sripts générés par Weevil qui vaenvoyer les hiers néessaires sur les sites,

puisexéuter les expérienes enutilisant lemodule degénération de travail.

Il n'existe pas de logiiel de déploiement véritablement générique permettant de déployer à la fois

des workows, ou bien juste un ensemble d'appliations, ou enore un intergiiel hiérarhique de façon

automatique.Laplupartdesoutilssontspéiquesàuntypededéploiement,oud'appliation.Danstous

les as lehoix des ressoures estlaissé à l'utilisateur, et seules les partiesd'installation et d'exéution

sontautomatisées (letableau 1résumel'étude).Adageestl'outil quisembleleplusintéressant depart

sesmodèles génériquesd'appliations etde ressoures,sonarhiteture modulairepermettantde dénir

au besoin ses propres modèles, et ses propres algorithmes de séletion de ressoures. Nous omptons

implémenter nosheuristiquesprésentées ensetion 5au seinde e logiiel.Nous proposons en setion3

une extension dumodèle générique d'appliations.

Ad a

ge

DistAn t

Go Diet

Jade JDF SekiteiW eevil

Déouverteressouresautomatique

Planning

Auto

Basique x

Intelligent x

Utilisateur x x x x x x

Desriptionappliations

Spéique x x x

Générique x x x x x

Compilation x

Installationdistante x x x x x

Pré-onguration x x x x x x

Lanement x x x x x

Gestiondynamique x

Post-onguration x x

Modularitédesalgorithmes x

Tab.1 Comparaison dequelquesoutils de déploiement.

3 Extensions pour Adage

Adage [19 ,20,21℄estl'aronymedeAutomatiDeploymentofAppliationsinaGridEnvironment.

Cette appliation est développée à l'IRISA de Rennes, au sein de l'équipe projet Paris 3

. Elle propose

un modèle d'appliations intéressant qui permet de dénir pratiquement tous les types d'appliations.

De plus, Adage ouvre pratiquement l'ensemble du proessus de déploiement. Il manque simplement

un module de déouverte automatique de ressoures, et des algorithmes, autres que Round-robin et

Random, pour générer un plande déploiement. Nous avonsdéidé de nous baser sur Adage pour mo-

déliser notreproblème, etprévoyons d'yimplanter nosalgorithmes de déploiement.La gure1 rappelle

lefontionnement général d'Adage.

3

http://www.irisa.fr/paris/

(5)

Configuration des applications Exécution du plan de déploiement

Plan de déploiement Description Générique Description Spécifique

Paramètres de contrôle Description des ressources

Traducteur

Fig.1 Fontionnement d'Adage.

3.1 Extension du modèle

3.1.1 Motivations

Le modèle de desriptiondes appliations d'Adage permet de prendre en ompte des appliations

séquentielles, desappliationsparallèles, desappliationsà basede omposants CCM,et.,ela grâeà

sa génériité, et à la possibilité d'utiliser ses propres desriptions spéiques.Nous voulons rajouter la

possibilitéde dériredesappliationshiérarhiques,'est-à-diredesappliationsreprésentablessousla

forme d'un arbre. L'exemple qui motive ette extension est l'intergiiel de Grille Diet 4

[7℄, développé

au seinde l'équipeGraal à l'ÉNS-Lyon.

Diet permet à un lient de soumettre des requêtes à un ensemble de serveurs pour résoudre un

problème. Les requêtes sont envoyées deslients vers la raine de lahiérarhie Diet :le Master Agent

(MA).Cederniervaalorstransmettrelarequêteàlahiérarhiesous-jaente,elleserapropagéejusqu'aux

feuilles (les Sed, Server Daemons) qui renverront une réponse validant ou invalidant leur apaitéà la

traiter. Un hoix est eetué parmi les Sed valides, et une réponse est retournée au lient. La gure

2(a)présenteunexemplede hiérarhieDiet.Elleest omposéed'uneraine (leMA),d'unensemblede

n÷udsintermédiaires (les Loal Agent, LA,quiont pour tâhe detransmettre lesrequêtes etderéaliser

de l'ordonnanement de requêtes sur leurs sous-arbres), et enn les Sed tout en bas qui ont la harge

de traiterles requêtes.Onvoitque etype d'appliation aune partie réursive :les LA peuvent avoir

pourenfants soitdesLA, soit desSed.

Lahiérarhieàdéployerétantdépendantedelaplate-forme,ilestpeuutilededérireetteappliation

de façon statique sans prendre en ompte les ressoures disponibles, nous aurions alors de mauvaises

performanes sur le débit de requêtes traitées si la hiérarhie ne orrespond pas à la plate-forme sur

laquelle elle est déployée. Il est don préférable d'avoir une desription synthétique, générique de e

type d'appliation an de laisser le module de déploiement hoisir la meilleure hiérarhie en fontion

desparamètres de laplate-forme. La gure2(b)présenteDietsous uneforme synthétique.Nous avons

représenté qu'un LA peut avoir omme type de ls un autre LA, ou des Sed ou Sed2 (les deux Sed

serventiiàdiérentierdeuxservies,oudeuxensemblesdeservies).DansDiet,haqueSedpeutêtre

4

http://graal.ens-lyon.fr/DIET

(6)

SeD SeD2 LA LA

SeD2 SeD2

SeD SeD

SeD SeD2

LA

SeD SeD2

LA

SeD

SeD2 SeD

SeD SeD2

LA

LA

MA

(a)HiérarhieDietdéployée

MA

SeD2 SeD

LA

(b)Desription

Fig. 2 Exemple de hiérarhieDiet, ave 2 typesdeSed.

répliqué une innité de fois sous un LA, mais nous pourrions également borner e nombre si nous ne

souhaitionspasavoirtropdeSed sousunLA.Nousavonsainsiunenotiondeardinalitésurlesenfants

des diérents éléments d'une hiérarhie. De nombreuses appliations peuvent bénéier de e modèle,

Dietn'estpasleseulintergiielreprésentableparunehiérarhie,nousiteronségalementNetSolve[8℄,

ou Ninf [23℄ (hiérarhies à un niveau). Des appliations ave une struture simple en maître-eslaves,

peuventégalementêtrereprésentéesainsi.C'estunmodèlelargementutilisé,etdontiln'estpaspossible

de trouver undéploiement générique orrespondant àdiérentes plates-formes.

3.1.2 Desription globale du modèle

Ce modèle permet de dérire un graphe de tâhes. Le terme graphe de tâhes n'est pas à prendre

au sensgraphede préédeneentreles tâhes, ilreprésenteun ensembled'appliations (les sommetsdu

graphe)àdéployer,elles-ipouvantommuniquerentreelles(lesarêtesdugraphe).Nousneonnaissons

pasàquelmomentlesappliationsdoiventommuniquerentreelles,nil'ordred'exéutionréeldestâhes

(nouspouvonstoutefoisdénir desdépendanes entresles appliationsspéiantl'ordre delanement).

Chaque appliation peut être répliquée au sein du déploiement, 'est-à-dire que nous pouvons préiser

ombien d'instanesdu même programmesont à mettresur laplate-forme.

Ce modèlevient étendre GADe(Generi Appliation Desription),lemodèlede desriptiongéné-

riqued'appliation pour Adageproposépar Sébastien Laourdanssathèse [19℄.

Il estonstituédesélémentssuivants(modèleprésent enannexeA.1):1) unouplusieursgroupesde

proessus:ungroupereprésente unensemblede proessusqui doivent s'exéutersurlamême mahine,

2)desappliationsnonhiérarhiques, etdesappliationshiérarhiques, et3) legrapheenlui-même:les

entitésleonstituant (lessommets :desappliations hiérarhiques, ou nonhiérarhiques),etleurs liens

(les arêtes:les onnexionsentreles appliations).

3.1.3 Présentation détaillée

Groupe de proessus. L'élément pro_groups ontient ladesriptionde l'ensemble desgroupes de

proessus :un groupe de proessus est un ensemble de proessus qui doivent s'exéuter sur une même

mahine. Il peut être répliqué un ertain nombre de fois, et il peut exister des dépendanes entre les

groupessurl'ordredelanement. Ladesriptiondehaqueproessusontient l'emplaement oùtrouver

les hiers (binaires, bibliothèque,et.), les diérents arguments, la quantité de travail à réaliser, et le

nombre de fois queleproessuspeut(oudoit) être répliqué ausein du groupede proessus.

(7)

ouparallèle.Ellefaitréféreneàungroupedeproessusdénissantl'appliationorrespondante.Chaque

appliation simple aune ardinalitéreprésentant lenombre d'instanes àdéployer.

Appliation hiérarhique. Les appliations hiérarhiques sont un as partiulier de graphe : des

arbres. L'élément hierarhies_defontient la dénition des appliations hiérarhiques : les diérents

n÷uds nodes,etleshiérarhies hierarhies.

L'élément nodes omprend la desription de l'ensemble desn÷uds pouvant être utilisés par les ap-

pliationshiérarhiques.Chaquen÷udfaitréféreneàuneappliation simplepartiulière.Ilestpossible

de mettredesontraintessur sondegrésortant ave l'élément degree.

Une hiérarhie est omposée d'un ensemble de n÷uds internes (tous les n÷uds appartenant à la

hiérarhie). Elle a également despropriétés :depth représente laprofondeur de l'arbre, l'identiant du

n÷udrainepointantsurundesn÷udsinternes,etauneardinalitépréisantlenombred'instanesde

lahiérarhie àdéployer.

Chaun des n÷uds internes fait référene à un n÷ud node dérit préédemment, et a un ertain

nombre d'enfants. Chaque onnexion ave un enfant peutengendrer un oût en alul qui s'ajoute au

oût de travail du pro_group, de même la onnexion provenant du père peut engendrer un sur-oût

en alul. Chaqueenfant est un desn÷uds internes de la hiérarhie, etles onnexions entre père et ls

engendrent desoûtsen ommuniation.

Graphe. Ungrapheestomposéd'unensembledesommetsetd'arêtes.Chaquesommetpeutêtresoit

uneappliationhiérarhique,soituneappliation simple.Pour haquesommetdugraphe,ondénitune

fréquene d'utilisation représentant le pourentage d'utilisation de e sommet par rapport aux autres.

Cettefréquened'utilisationpeutêtredénieparl'utilisateuràpriori, oubienêtreunevaleurréupérée

parunhistoriquesurdesutilisationspréédentes. Lesonnexionsentrelessommets(les ommuniations

entre les appliations) sont dénies d'une soure vers un ensemble de destinations, haune ayant un

oût(quantité dedonnées àtransmettre).

Un exemple d'utilisationde e modèleest donné en annexeA.2.

Nous avons jusque là étudié les possibilités oertes par les diérents logiiels de déploiement, et

plus partiulièrement Adage pour lequel nous proposons une extension de son modèle de desription

générique d'appliation pour dérire des appliations hiérarhiques. Il manque ependant toujours des

algorithmes pour hoisirautomatiquement les ressouressurlesquellesserontdéployéeslesappliations.

Dansles setionssuivantesnousallonsprésenterdiérentes méthodes d'équilibragedehargesurplate-

forme hétérogène,puis proposeronsdesheuristiquespour ledéploiement.

4 Équilibrage de harge sur plate-forme hétérogène

Denombreuses approhes existent pourordonnaner desensembles de tâhesindépendantes, oudes

graphes detâhes surune plate-formehétérogène.

4.1 Régime permanent (steady-state)

Une approhe lassique d'ordonnanement est de tenter de minimiser le temps total d'exéution.

Cependant, es problèmes sont généralement NP-diiles. Une façon de ontourner ette diulté a

été proposée par Bertsimas et Gamarnik [4℄ : tenter d'obtenir une optimalité en régime permanent,

(8)

'est-à-dire exéuter le plus grand nombre possible de tâhes en une unité de temps. On ne tient plus

ompte de laphase d'initialisation, ni de la phase de terminaison, et on ne s'intéresse plus qu'à l'état

stable, permanent et périodique du système, l'alloation préise des tâhes et des ommuniations

n'estplusnéessairepourrésoudreleproblème. Dans[2℄,Beaumontet al.montrent quepourdestâhes

indépendantesidentiques,enseplaçantdansunadremaître-eslaves(unn÷uddelaplate-formepossède

initialement l'ensemble des données néessaires aux tâhes pour être exéutées), la meilleure stratégie

est de distribuer les données aux n÷uds onnetés au maître ave la plus grande bande passante, et

e indépendamment de leur puissane de alul. Intuitivement ela est du au fait que si le maître les

envoyaitenprioritéàdesn÷udspotentiellementpluspuissants,maisreliésaveunebandepassanteplus

faible,lemaîtrepasserait plusdetemps àenvoyerlesdonnées, etserviraitmoinsden÷uds parunité de

temps (ilsseplaent dansun modèle1-port oùunn÷ud peut simultanément reevoir desdonnéesd'un

seul autre n÷ud, en envoyer à un seul autre, et aluler). [3℄ apporte d'autres résultats pour diérents

problèmes :maître-eslave, satter pipelinés, etmultiast pipelinés.

Cette approhe permetdon de maximiserle nombre de tâhesexéutées par unité de temps, mais

ela peutsefaire au détriment des ommuniations. Des méthodes d'analyseetmodiationdu graphe

de tâhesontété proposées ande réduireles ommuniations.

4.2 Regroupement de tâhes (Clustering)

Lorsque l'on disposed'ungraphe detâhes à ordonnaner,un moyen eae de réduireles ommu-

niations est de regrouper les tâhes ommuniquant beauoup sur une même ressoure de alul. Une

méthodepourela estderegrouperengrappesles tâhes:'estlaméthodede lustering.Une première

étape regroupe des tâhesen un ensemble de grappes, et une seonde étape rane e regroupement et

détermine l'assoiation tâhe-ressoure. Le problème de déterminer un lustering eae d'un graphe

général est NP-omplet, diérentes heuristiquesont alors étémises en plae. Yang et al.[28 ℄ proposent

DSC (Dominant Sequene Clustering), qui prend en ompte le niveau haut et le niveau bas (dénis

omme étant le plus longhemin (somme desaluls et desommuniations) entre latâhe onsidérée

et la tâhe d'entrée, et une tâhe de sortie, respetivement) pour donner une priorité aux tâhes, et

regroupe une tâhe dans une grappe si le niveau haut est réduit par e regroupement. Liou et al. [22℄

proposent unalgorithmemoinsomplexe,CASS-II,enprenant uneapprohebottom-up.Chaquegrappe

est par lasuite assignée à un proesseur partiulier. Senar et al. [24℄ proposent un algorithme prenant

en ompte l'arhiteture de la plate-forme. Un premier regroupement est réalisé, puis les tâhes sont

déplaéesentrelesgrappes.Aprèsavoirréaliséunepremière alloation surlesressoures, lestâhessont

de nouveau déplaées an deréduire enoreles ommuniations. Cetteapprohe estplus omplexe que

les deuxpréédentes.

Cette méthode permet de réorganiser legraphe des tâhesde façon à mieuxle faire orrespondre à

l'environnementsurlequelilvaêtredéployé.Laplate-formepouvantêtrehétérogène,etlesinformations

disponiblessurlestâhesetsurlesressourespouvantêtretrèsrestreintes,desalgorithmesderépliation

ont étémis enplae.

4.3 Répliation

Unefaçondeontournerleproblèmedel'hétérogénéitéetlearatèreévolutifdesperformanesd'une

plate-forme,estdefairedelarépliationdetâhes.L'idéesous-jaenteestqu'enrépliquantlaprobabilité

d'obtenirun meilleursitepour l'exéutiondestâhesestplus élevée,par ontre onrisqued'utiliser plus

de ressoures, mais en faisant l'hypothèse que dans une grille les ressoures sont nombreuses, on peut

(9)

dedistribuerhaunedestâhessurles

K

siteslesmoinshargés.Chaundessitesvaalorsordonnaner

loalement es tâhes. Dès qu'une tâhe

t i

peut ommener sur un site, les

K − 1

autres sites sont

informés, et retirent la tâhe

t i

de leur liste de tâhes à ordonnaner. Cirne et al. présentent WQR (WorkQueue withRepliation)[10, 11℄,unalgorithmequiordonnaneunepremière instanedehaque

tâhe, puis réplique es tâhes sur les diérents proesseurs (dans et algorithme plusieurs instanes

d'une même tâhe peuvent être exéutées simultanément). Dèsqu'une instane est terminée, les autres

proesseurs en sont informés et les répliats sont supprimés. Fujimoto et al. [13 ℄ proposent également

un algorithme d'ordonnanement ave répliation (list sheduling with Round-robin order Repliation,

RR),qu'ilsprouvent sous-optimal.Leurmétriquen'estependant pasletempstotal d'exéutionomme

préédemment, mais le TPCC (Total Proessor Cyle Consumption), qui représente le nombre total

d'instrutionsque laplate-formepeutréaliserdurant letemps d'exéution.

5 Algorithmes de déploiement

Nous présentonsdansette partie toutd'abord le modèleque nousonsidérons, puisun algorithme

pourdéployerunehiérarhie, unemodélisationenprogrammelinéairepourleasd'appliations séquen-

tielles, etterminons par présenter desheuristiquesetrésultatsde simulations.

5.1 Modèle

Nousdénissonstoutd'abordlesnotationssuivantes:unensemblede

m

proesseurs

p i , i ∈ [1..m]

,et

unensemblede

n

appliations

a j , j ∈ [1..n]

.Chaqueproesseur

p i

aune puissanede alul

α i

,unoût

de ommuniation ave un autre proesseur

p i

:

β i,i

. Chaque appliation

a j

a un nombre d'instanes

minimum

nb min j

, et maximum

nb max j

, un besoin en travail

w j

, une fréquene d'utilisation

f j

, et une

quantité de ommuniation vers une autre appliation

a j

:

c j,j

. Enn, nous dénissons

δ i j,k

:variable

préisant le plaement de l'instane

k

de l'appliation

a j

surleproesseur

p i

.

δ i j,k = 1

si l'instane

k

de

l'appliation

a j

estplaée surleproesseur

i

,

δ j,k i = 0

sinon.

Conernant laplate-forme, nous onsidérons quehaque proesseur

p i

peutommuniquer ave tous

les autres

p i

.De plus, tous les proesseurs peuvent aueillir n'importe quelle appliation

a j

(apaité

en terme de puissane de alul, mais également par rapport à la ompatibilité des bibliothèques par

exemple).

Lorsqu'il y aun besoin en ommuniationentre deuxappliations

a j

et

a j

,es ommuniations ne sefont qu'entre deuxinstanes préises. Pour avoirle oûtde ommuniation, ononsidère lamoyenne

desommuniations entrelesdiérentesinstanesdéployées(àlahargedesappliationsdehoisirave

laquelle elle va réellement ommuniquer au moment de l'exéution, mais les ommuniations peuvent

également êtrerépartiesentrelesdiérentesinstanesenround-robinparexemple,d'oùettemoyenne).

Dans le adre d'appliations parallèles, nous faisons une approximation : nous onsidérons que le

travail d'une instane est réparti de façon uniforme entre les diérents proesseurs surlesquels elle est

déployée. Par exemple siuneinstane d'unprogramme estrépartie sur4proesseurs,alors haunaura

1/4 de la harge. Ce modèle n'est bien entendu pas réaliste dans le as général. Bien souvent le fait

d'augmenter lenombre de proessusparallèles va engendrer un suroût de alulet deommuniation.

Il faudrait introduire une fontion donnant le travail en fontion du nombrede proessus, mais enore

unefois,elan'estpaspossiblepourtouteslesappliations.Uneétudeplusapprofondie desappliations

parallèles estprévue dansde futurstravaux.

(10)

Notre but est de trouver un déploiement des appliations sur un ensemble de ressoures, etnon de

trouverunordonnanement deesappliationsauniveau desproesseurs.Nousétudionsleproblèmeen

régimepermanent (toutdu moinsunesorte de régimepermanent puisque lesappliations peuvent tout

aussibienêtredesserviesinterrogéspardeslientsexternes,ommeellespeuventêtredesappliations

quineserontlanéesqu'une seulefois),'estuneapprohestatiquedudéploiement,nousneonsidérons

pasenore leredéploiement de façon dynamique.

5.2 Déploiement d'une hiérarhie

Pushpinder KaurChouhan amontré danssathèse [9℄ queledéploiement optimal (au sensdu débit

derequêtestraitées)pourunintergiielhiérarhique dansleadred'unenvironnement homogèneestun

CSDtree (CompleteSpanningd-arytree,unarbre ouvrantompletd-aire).Unarbre ompletd-aire est

un arbre pour lequel tous lesn÷uds internes, à partpeutêtre un, ont exatement d enfants. Un arbre

ouvrant,est unsous-graphe onneté ayliqueontenant tous lessommets dugraphe.

Nousnoussommesintéressésàdeshiérarhiesontenantunseuln÷udréursifparsous-arbrepartant

de la raine (nous ne onnaissons pas d'exemple d'appliation néessitant deux niveaux de réursion

suessifs), et voulons le déployer sur une plate-forme hétérogène. Nous avons érit un algorithme qui

onstruitundéploiementquitendàserapproherd'unCSDtreepargrappedeproesseurssilahiérarhie

estseule àutiliserlesressoures,sinonles degrésdehaquen÷udinternesont adaptésen fontiondela

hargedesproesseurs surlesquels ilssont déployésdansleadre hétérogène.

NR2 NR1

NR3 NR4

(a)Desription

NR2

NR2 NR2 NR2

NR3

NR4 NR4 NR4

NR3 NR4

NR3 NR4

NR3 NR3

NR4 NR3

NR3

NR4

NR3 NR4 NR2

NR3 NR1

NR4

NR3 NR2

NR2

NR3 NR4

NR3 NR4 NR3 NR4

NR2

(b)Déploiementdelahiérarhie

Fig. 3 Exemple de déploiement serapprohant d'un CSD-treepar grappe.

L'idée estlasuivante:bienqu'étant enenvironnement hétérogène,nousonsidérons quenousavons

desgrappesdeproesseursregroupéesenunegrille,nouspouvonsalorsdéployerunCSDtreepargrappe

pourtenterdeserapproherd'undéploiement optimal,laraine delahiérarhieétantpositionnéesurle

n÷udleplus puissant ande supporter une hargemaximale.Un exemple estdonné surlagure 3(b),

ladesriptiondelahiérarhieestsurlagure3(a).Laplate-formea3grappesdepuissanesdiérentes,

(11)

et ave un nombre de proesseurs diérent (entre 5, 9 et 16), haque retangle représente une grappe

diérente. Enfontion delapuissane etdunombrede proesseursdisponibleslahiérarhieest plusou

moinsprofonde.

La onstrution dudéploiement est réalisée de lafaçon suivante(algorithme présent en annexe B):

toutd'abord len÷udle pluspuissant est pris pour positionner la raine.Puis, pour haquegrappe, on

onstruit la hiérarhie jusqu'à atteindre le n÷ud réursif (le n÷ud réursif n'est pasnéessairement le

premier n÷ud après la raine). On ajoute alors des enfants à ette instane du n÷ud réursif jusqu'à

e qu'il ne puisseplus en aepter(les enfants sont ajoutésde façon à e que haquetype d'enfant soit

représenté de façon équitable au sein de la hiérarhie). Lorsqu'il est hargé, on ajoute alors un n÷ud

du même type au dessusde lui,eton redesendà la même profondeur dansl'arbre avant de harger la

nouvelle instanedun÷udréursif.Ceproessusestrépétéjusqu'àneplusavoirderessoures.Lagure

4 présente le déroulement de l'algorithme, ette hiérarhie a un n÷ud réursif (NR2) et un ls sous e

n÷ud(NR3). Lesn÷uds griséssont eux ne pouvant plus aepterde ls.

NR1

NR3 NR2

NR1

NR3 NR3

NR2 NR2

NR1

NR3 NR3

NR2

NR3 NR2 NR2

NR1

NR3 NR3

NR2

NR3 NR3

NR2 NR2

NR1

NR3 NR3

NR2

NR3 NR3

NR2 NR2

NR3 NR2

NR2 NR1 NR2

NR3 NR3

NR2

...

3 2

1 4

0

6 5

2 1

3 4 0

4

3 1

2 3 1

0 0

1

2 2

0

6 5

7 2

1 4

3 6

5 8

0

11 10

9

7

Fig. 4 Déroulement de l'algorithmede déploiement d'unehiérarhie.

Aveetalgorithme,silahiérarhieaàsadispositionl'ensembledesressoures(i.e.,lesproesseursne

sontpashargéspard'autresappliations,etdonsurhaquegrappelesressouressontbienhomogènes),

alorsledéploiementserapproherad'unCSDtreepargrappe.Parontre,silesressouressontpartagées,

alors l'algorithmeonstruira un arbreoù haque n÷udinterne serahargéau maximumde saapaité,

maisleur degrérespetifpourravarier enfontion de lapuissane disponible.

Il est possible d'étendre une hiérarhie déployée ainsi sur un ensemble de ressoures. Si d'autres

ressoures sont disponibles on peutrajouter desn÷uds à lahiérarhie :il sut de reherher le n÷ud

interne le plus profond non omplètement hargé, et d'appliquer le même prinipe que préédemment

(méthode utiliséedanslaseonde partie desheuristiquesprésentées ensetion 5.4.1).

5.3 Programmes séquentiels

Il est possible de modéliser leas plus simple où nous n'avons quedes appliations séquentielles, à

l'aide d'unprogramme linéaire.Le problèmese rapprohant dela répliationde données, nous sommes

partis des travaux réalisés par Antoine Vernois dans sathèse [26℄,il modélise le plaement statique de

donnéesbioinformatiques, danslebut d'optimiser lenombrederequêtes traitées surlaplate-forme.Les

ontraintesde notreproblème sont lessuivantes.

Chaque proesseurne peutpastraiter plusquesapuissane en alul(ontraintede ressoures):

∀i,

n

X

j =1 nb max j

X

k =1

δ j,k i · w j ≤ α i

(5.1)

(12)

Noussouhaitons avoir aumoinsune instanedéployée dehaqueprogramme

a j

,et nouspouvonsen

avoirau plus

nb max j

:

∀j, 1 ≤

m

X

i =1 nb max j

X

k =1

δ j,k i ≤ nb max j

(5.2)

Soit

T P

le rendement de la plate-forme, i.e., le nombre de requêtes qui peuvent être exéutées sur l'ensemble de la plate-forme. Nous onsidérons qu'une requête est exéutée par une instane d'un

programme. Nous voulons également limiter le nombre de requêtes par programme par rapport à sa

fréquened'utilisation

f j ∈]0, 1]

:

∀j,

m

X

i =1 nb max j

X

k =1

δ j,k i ≤ f j · T P

(5.3)

Ave les ontraintes préédentes, nous souhaitons maximiser le débit

T P

, minimiser les ommuni-

ations, et avoir une harge équilibrée entre les proesseurs. Il nous faut un estimateur permettant de

prendre en ompte es trois métriques. Pour prendre en ompte l'équilibre de la harge entre les pro-

esseurs une simple diérene entre la harge minimum et la harge maximum n'est pas susante :

elane prendpasen ompte l'ensemble desproesseurs.Nousavonsdon déidéde prendre lavariane

sur la harge des proesseurs (la harge étant dénie omme étant la somme des travaux présents sur

le proesseur, divisée par sa puissane de alul :

P n j =1

P nb

max j

k =1 δ i j,k × w ji

). Nous herhons don à

minimiser l'estimateur

LB

suivant :

LB = std

_

dev 2 + comm 2

T P

(5.4)

ave

std

_

dev

l'éart type sur la harge des proesseurs, et

comm

les ommuniations, qui sont une moyenne surlesommuniations réaliséesentrelesinstanes (nousonsidérons qu'uneinstanene om-

munique qu'ave une seuleautre) :

comm =

m

X

i =1 n

X

j =1 nb max j

X

k =1

δ i j,k ×

n

X j = 1 j 6= j

c j,j × P m

i =1

P nb

max j

k =1 δ i j ,k · β i,i

P m i =1

P nb

max j

k =1 δ i j ,k

(5.5)

Cet estimateur prenden ompte à lafois la harge de la plate-forme, les ommuniations et lenombre

d'instanesdéployées.Minimiser

LB

revientbienàminimiserl'éartentrelahargedesproesseurs(mi-

nimiser

std

_

dev

),laquantité deommuniations (minimiser

comm

),etàmaximiserledébit(minimiser

1/T P

).Il en déoule leprogramme linéaire suivant :

Formulation du programme linéaire

Minimiser

LB,

Sous les ontraintes

 

 

 

 

 

 

 

 

(1) P n j =1

P nb max j

k =1 δ i j,k · w j ≤ α i 1 ≤ i ≤ m

(2) δ j,k i ∈ {0, 1} 1 ≤ i ≤ m, 1 ≤ j ≤ n, 1 ≤ k ≤ nb max j (3) P m

i =1

P nb max j

k =1 δ i j,k ≤ f j · T P 1 ≤ j ≤ n (4) 1 ≤ P m

i =1

P nb

max j

k =1 δ i j,k ≤ nb max j 1 ≤ j ≤ n (5) P m

i =1

P n j =1

P nb

max j

k =1 δ j,k i = T P

(13)

Nous n'avons pas trouvé de logiiel permettant de résoudre e programme linéaire : l'estimateur

est trop omplexe (l'estimateur n'est ni linéaire, ni quadratique, et nous n'avons pas pu le simplier

susamment pour l'utiliser). Nous avons don déidé de ne garder que le alul du débit, et tenté de

le maximiser, an de déterminer la borne maximum sur le nombre d'instanes de haque appliation

qu'ilesteetivementpossiblededéployerenrespetantesontraintes. Leprogrammelinéaireestdon

le même que préédemment, seule la fontion objetif hange : nous voulons maximiser le nombre de

requêtes traitées,Maximiser

T P

.

5.3.1 Approximation d'une solutionentière

Nous ne pouvons garantir que le programme linéaire initial soit faisable. Il se peut qu'il ne le soit

pas: ela dépend desfréquenes etdu nombre d'instanes maximum attribué à haque programme.Si

la fréquene est trop faible pour un ertain programme, alors il se peut qu'il n'existe pas de solution

telle qu'il soit possible d'avoir au moins une instane de e programme. De plus, les ontraintes sur le

débit

T P

sont fortes,e qui peutempêherde trouverunesolution entière. Nousoptons donpour une

résolution en rationnels,puis, par approximations suessives, nousonstruisonsune solutionentière.

L'algorithme 1 débute par la résolution en rationnels du programme linéaire

lp

présenté préédem-

ment. On dénit ensuite les trois ensembles suivants :

S 0

les tuples

(i, j, k)

pour lesquels

δ i j,k = 0

,

S 1

les tuples

(i, j, k)

pour lesquels

δ i j,k = 1

,etenn

S

eux qui ne sont ni dans

S 0

, nidans

S 1

.On dénit

ensuitel'ensemble

notP laced

desprogrammesquin'ontauuneinstanedeplaée(i.e.,

∀k, ∀i, δ i j,k = 0

).

S'ilya desprogrammesquin'ont auuneinstane deplaée, onhoisitletuple

(i 1 , j 1 , k 1 )

telque

δ j i 1 ,k 1

1

soit maximum,ave

j 1 ∈ notP laced

.Si

notP laced

estvide, alors onhoisitune instanedans

S

ave la

même ontrainte. Dans les deux as le tuple

(i 1 , j 1 , k 1 )

est ajouté à

S 1

. On ajoute à

lp

les ontraintes

δ i j,k = 0

pour tout

(i, j, k) ∈ S 0

,et

δ i j,k = 1

pour tout

(i, j, k) ∈ S 1

.Onrésoud à nouveau le programme

linéaire.S'iln'yapasdesolution,onretire

(i 1 , j 1 , k 1 )

de

S 1

,etonl'ajouteà

S 0

,puisonrésoudànouveau

leprogrammelinéaire.S'iln'yatoujourspasde solution,onignore e

δ i j,k

par lasuite (onlelaisselibre,

onl'ajouteà

S ignore

),etonlepositionneraà

0

àlan delarésolution. Onitèrejusqu'àavoirl'ensemble

S

vide.

5.4 Heuristiques

Nous avons omparé plusieurs heuristiquespour ledéploiement desappliations. La plupart d'entre

ellesfontionneendeuxétapes(setion5.4.1):unepremièrealloation,suivied'unephasederemplissage

de la plate-forme. Une autre heuristique attribue des listes d'anités des appliations pour haque

proesseur(setion5.5),puisdéploieàhaqueitérationuneinstaned'unprogramme

a j

surunproesseur

p i

,en utilisant leslistes d'anité pourhoisir lesappliations.

Si nous n'avons pas uniquement desappliations séquentielles, nous ne pouvons pasutiliser la mo-

délisationen programme linéairede lasetion5.3, etne pouvonsalors pasdéterminerledébit maximal

qu'il est possible d'atteindre sur la plate-forme. Pour borner le nombre d'instanes par rapport aux

fréquenes d'utilisation, on reherhe les appliations qui ont un

nb max j 6= ∞

, et on alule un débit

théorique

T P ← nb max j /f j

(on prend le débit minimum, vu que 'est elui qui répond à la plus forte

ontrainte). À partir de ela on realule le

nb max j

de haque programme. Cette méthode a également

l'avantage d'êtrebeauoupmoinsomplexe quela résolution d'unprogramme linéaire,et don plus fa-

ilement utilisabledansunasréel dedéploiement,maisa l'inonvénient dene pasfournirundébit qui

soit néessairement admissible par laplate-forme.

(14)

Algorithme 1 Approximationd'unesolution entière.

1: Résoudreleprogrammelinéaire

lp

2: Soit

S 0 ← {(i, j, k)|δ i j,k = 0}

3: Soit

S ignore ← ∅

4: Soit

S 1 ← {(i, j, k)|δ i j,k = 1}

5: Soit

S ← {(i, j, k)|(i, j, k) 6∈ S 0 , et (i, j, k) 6∈ S 1 et j 6∈ S ignore }

6: Soit

notP laced ← {j ∈ [1..n]|∀k ∈ [1..nb max j ], ∀i ∈ [1..m], δ i j,k 6= 1 et j 6∈ S ignore }

7: si

notP laced 6= ∅

alors

8:

(i 1 , j 1 , k 1 )|δ j i 1 ,k 1

1 = max j 1 ∈notP laced,(i,j 1 ,k)∈S δ j i 1 ,k

9: sinon

10:

(i 1 , j 1 , k 1 )|δ j i 1 ,k 1

1 = max (i,j,k)∈S δ i j,k

11: Ajouter

(i 1 , j 1 , k 1 )

à

S 1

12: pourtout

δ j,k i ∈ S 1

faire

13: Ajouterlaontrainte

δ i j,k = 1

à

lp

14: pourtout

δ j,k i ∈ S 0

faire

15: Ajouterlaontrainte

δ i j,k = 0

à

lp

16: Résoudrelenouveauprogrammelinéaire

lp

17: si

lp

n'apasdesolutionalors

18: Retirer

(i 1 , j 1 , k 1 )

de

S 1

19: Ajouter

(i 1 , j 1 , k 1 )

à

S 0

20: Refairelesétapes12à15

21: Résoudrelenouveauprogrammelinéaire

lp

22: si

lp

n'apasdesolutionalors

23: Retirer

(i 1 , j 1 , k 1 )

de

S 0

24: Ajouter

j 1

à

S ignore

25: Reommeneràl'étape3tantque

S 6= ∅

26: pourtout

i j 2 ,k 2

2 |δ j i 2 ,k 2

2 6∈ S 0 et δ i j 2 ,k 2

2 6∈ S 1 }

faire

27: Ajouter

(i 2 , j 2 , k 2 )

à

S 0

5.4.1 Heuristiques ave distribution proesseurs, puis remplissage de la plate-forme

L'algorithme 2présente leadredesheuristiquesprésentées dansette setion.Pour haqueapplia-

tionon ommenepar déterminerunensemblede proesseurssurlesquelselle vapouvoirêtredéployée.

On dépose alors un maximum d'instanes sur es proesseurs en utilisant une ertaine heuristique de

déploiement.Lesproesseursinutiliséspendantl'étapepréédentesontrendusdisponiblespourlesappli-

ationssuivantes. Àlande epremier traitement,ilsepeutqu'il restedesappliationsqui ont enore

desinstanesnondéployées.Ontentealorsderajouterdenouvellesinstanespourhaqueappliationen

round-robin,l'ajoutsepoursuittantque

LB

estréduit.Leround-robinestréalisésurunelisteontenant les appliations répliquées en fontion de leur fréquene : si nous avons 2 appliations

a 1

et

a 2

, ave

f 1 = 2 × f 2

,alors lalisteduround-robinsera

{a 1 , a 1 , a 2 }

,ela andeserapproherde larépartitionen fréquenedonnée initialement.

Sil'appliation est hiérarhique, alors l'algorithmeprésentéen setion5.2estutilisé.

Distributiondes proesseurs. Pourhaunedesheuristiques,ondistribuedesproesseursàl'appli-

ation enlui allouant une puissanede alulproportionnelleà safréquened'utilisation, seulelafaçon

de hoisir lesproesseurs est diérente.

Aléatoire :ontirealéatoirement lesproesseursparmi lesproesseursnonhargés,onsertenpremier

les appliationsqui ont une fréquenelaplus élevée

(15)

Algorithme 2 Heuristiquesave distributiondesproesseurs, puisremplissage.

1: pourtout

a j

faire

2:

list

_

procs ←

hoixdeproesseurspour

a j

3: Mapperdesinstanesde

a j

sur

list

_

procs

4: si

∃a j | P

i

P

j

P

k δ i j,k < nb max j

alors

5:

A ← {a j | P

i

P

j

P

k δ j,k i < nb max j }

6:

A f ←

listedesappliationsde

A

répliquées parfréquene

f j

7: tantqueminimise

LB

faire

8: pour tout

a j ∈ A f

faire

9: sil'ajoutd'uneinstanede

a j

améliore

LB

alors

10: Mapperunenouvelleinstane

Puissane de alul :on distribuelesproesseurs lespluspuissantsenpremier,etonserten premier

les appliationsnéessitant leplus dealul.

Regroupement :ladistributionsefaitendeuxétapes.Tout d'abordondétete lessous-graphesindé-

pendantsdanslegraphed'appliationgénéral,elaestréalisésimplementparunparoursenprofondeur.

Onobtient ainsidesgroupesd'appliations qui ne ommuniquent pasentreeux, toutes les ommunia-

tionssontinternesauxgroupes.Ontrieensuiteessous-graphesparfréquenedéroissante(lafréquene

d'unsous-grapheétant lasommedesfréquenesdesappliationsleomposant).Puis,ontrielesgrappes

de proesseurs par harge roissante, et puissane déroissante. On alloue des proesseurs au premier

sous-graphe en prenant en priorité les proesseurs de la grappe la moins hargée et qui sont les plus

puissants. La seonde étape onsiste à trier les appliations du sous-graphe par besoin en ommunia-

tions déroissant, puisd'allouerdesproesseursàses appliations.Après avoir traitélesappliationsdu

sous-graphe onpasse auxsuivantsen appliquant lemême prinipe.

Déploiement. Après avoir hoisiun ensemblede proesseurspour uneappliation,il s'agitdehoisir

eux utiliséspour déployerdesinstanes.

Aléatoire :on hoisit unproesseuraléatoirementparmi eux disponibles, eton mappe uneinstane

dessus,puis on reommene tant qu'ilreste desproesseurs disponibles.

Liste :trielesproesseurspar hargedéroissante,etmappedesinstanesdansetordre,lalisteest

triéede nouveau lorsqu'onarrive au bout.

Rapprohement : on herhe parmi les proesseurs disponibles, la grappe sur laquelle il serait plus

avantageux d'ajouter une instane pour réduire les ommuniations, puison ajoute une instane surle

proesseurlemoins hargé deette grappe.

Glouton :onherhe leproesseurqui permetdeminimiser

LB

,etonajouteune instane dessus.

5.5 Heuristique listes d'anités

Cette heuristique est inspirée d'une heuristique d'ordonnanement sur plate-forme hétérogène de

tâhesindépendantes néessitant deshiers partagésen entrée,présentée dans[14℄.

Elle fontionne ainsi (algorithme 3) : tout d'abord on détermine les sous-graphes indépendants du

graphe d'appliation (omme dansl'heuristique de distribution des proesseurs par regroupement). On

trie es sous-graphes par besoin en fréquene déroissante (puis ommuniation déroissante, et travail

déroissant).Pourhaundessous-graphes,ontrielesgrappesparhargeroissante,etpuissanedérois-

sante,puisonmappeuneinstanedehaunedesesappliationsaprèslesavoirtriéesparbesoinenom-

muniationdéroissant(etfréquenedéroissante)surunproesseurdelapremièregrappe.Ononstruit

(16)

ensuiteles listesd'anités entre proesseursetappliations :pour haqueproesseur

p i

etpour haque

appliation,onalulel'anité entrelesdeux:onalulelavaleur

af f inity(a j , p i ) = std

_

dev 2 +comm 2

si l'appliation est mappée sur e proesseur.

af f inity

prend en ompte deux des métriques que nous

souhaitons minimiser : l'éart de harge sur les proesseurs et les ommuniations entre les instanes.

Le faitd'avoir déjàpositionné une instanede haque appliation va onditionner lavaleurd'

af f inity

,

etdon le positionnement desautres instanes. Ontrie ensuite pour haque proesseurles appliations

par ordre roissant d'anité. Le déploiement est réalisé en boulant tant qu'il reste des appliations à

déployeretqu'ilexistedesproesseursquipeuventaueillirdesappliations.Àhaqueétapeonhoisit

leouple

(a j , p j )

quiminimise

LB

,lesappliationsonsidéréesétantpourhaqueproesseurlapremière de lalisted'anité.

Algorithme 3 Anité.

1: Clusteriserlegraphed'appliation

2: Trierlessous-graphesparfréquenedéroissante(puis besoinenommuniation,et besoinentravail)

3: pourtoutsous-graphefaire

4: Choisirlagrappelamoinshargée,avelesproesseurslespluspuissants

5: pour tout

a j ∈

sous-graphefaire

6: Mapperuneinstane

δ j,k i

,surle

p i

lemoinshargé

7: pourtout

p i

faire

8: pour tout

a j

faire

9: Évaluer

af f inity(a j , p i )

10: Construirelalistedesanités

L(p i )

11: tantque

∃{a j | P m i=1

P nb

max j

k=1 δ j,k i < nb max j }

et

∃{p i |p i

nonentièrementhargé

}

faire

12: pour tout

p i

nonentièrementhargéfaire

13: Soit

a j

lapremièreappliationde

L(p i )

qui peutenoreêtremappée sur

p i

14: Évaluer

LB

sionmappe

a j

sur

p i

15: Prendreleouple

(a j , p i )

qui minimise

LB

16: Mapper

a j

sur

p i

5.6 Résultats de simulations

Pour omparerles diérentes heuristiques, nousavonsréalisé un simulateur enPython.

Les résultats suivants ne onernent que des appliations séquentielles. Nous générons des graphes

d'appliations de manièrealéatoire enfaisant varier lenombred'appliations, leurardinalité minimale

etmaximale,leurbesoinenalul(lemaximumdubesoinenalulétantlapuissanedealulminimum

desproesseursdisponibles)etlaquantitédeommuniations.Àpartirde300grainesnousgénéronsdes

graphesenfaisantvarierlaprobabilitéqu'ilyaituneommuniationentredeuxappliations(probabilité

égale à0,10, 30,50,80 ou100%), equi nousdonne un totalde 1800 graphes diérents.

Les simulationssont réaliséessurune plate-forme omposée de quatregrappesomprenant haune

30, 20, 20 et 10 proesseurs ave des puissanes diérentes. Les ommuniations au sein d'une grappe

sont onsidérées négligeables par rapport à des ommuniations inter-grappes. Cela se justie, ar les

latenes sontbien plusfaiblesau sein d'unegrappe àomparer desommuniations longues distanes.

Les gures 5,6(a) et 6(b) représentent les moyennes sur respetivement le débit,la variane surla

hargedesproesseurs,etlaquantitédeommuniations.Étantdonnéquelenombred'instanesesttrès

variabled'uneheuristiqueàl'autre, iln'auraitpasétééquitable deompareruniquementlevolume total

de ommuniations, 'est pourquoi la gure6(b) représente le volume de ommuniations par instane

déployée (totaldesommuniations divisépar le débitde laplate-forme).

(17)

60 80 100 120 140 160 180

Moyenne sur le nombre d’instances deployees

Heuristiques

Regroupement & rapprochement Regroupement & glouton Regroupement & liste Regroupement & aleatoire Puissance & rapprochement Puissance & glouton Puissance & liste Puissance & aleatoire Aleatoire & rapprochement Aleatoire & glouton Aleatoire & liste Aleatoire & aleatoire Affinite

Fig. 5 Débit de laplate-forme.

0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6

Moyenne variance charge des processeurs

Heuristiques

Regroupement & rapprochement Regroupement & glouton Regroupement & liste Regroupement & aleatoire Puissance & rapprochement Puissance & glouton Puissance & liste Puissance & aleatoire Aleatoire & rapprochement Aleatoire & glouton Aleatoire & liste Aleatoire & aleatoire Affinite

(a)Varianesurlahargedesproesseurs

200 300 400 500 600 700 800 900 1000 1100 1200

Communications moyennes par instance

Heuristiques

Regroupement & rapprochement Regroupement & glouton Regroupement & liste Regroupement & aleatoire Puissance & rapprochement Puissance & glouton Puissance & liste Puissance & aleatoire Aleatoire & rapprochement Aleatoire & glouton Aleatoire & liste Aleatoire & aleatoire Affinite

(b)Communiations

Fig. 6 Variane surlahargedesproesseurs etommuniations.

L'heuristique par anitéest ellequi sembleombiner le plusd'atouts. Tout d'abord 'est ellequi

déploie le plus d'instanes, ela s'explique par le fait qu'elle n'a pas le même ritère d'arrêt que les

autres heuristiques :elle ontinue de rajouter des instanes tant que laplate-forme le supporte et qu'il

reste des instanes à déployer. Malgré ela, en moyenne laquantité de ommuniations reste orrete :

elle orrespondà environlamoitié desommuniations produites par lesheuristiquesoù ledéploiement

était hoisi par liste ou aléatoirement, et également inférieure aux heuristiques rapprohement lorsque

la distribution est faite par puissane de alul et regroupement. Quant à la variane sur la harge

des proesseurs, elle se situe également dans les premières, battue uniquement par les heuristiques de

déploiement par liste,laombinaisondistribution par puissane et déploiement aléatoire.

Du point de vue uniquement des ommuniations, les déploiements gloutons sont les meilleurs, ils

ont unequantité moyenne de ommuniations par instane laplus faible,par ontre, e sont également

eux qui déploient le moinsd'instanes et qui ont le plus gros éart type sur la harge. À l'opposé, les

déploiementsparlistesontparmi euxquiengendrentleplusdeommuniations(aprèslesdéploiements

(18)

Lesheuristiquesaléatoires ontles ommuniations lesplusfortes, unéart typemoyen, etdanslesplus

hautsdébits.

Lesheuristiquesgloutonnes sontellesquisont leplusimpatéesparlehangementdelaquantitéde

ommuniations entre les appliations. Celan'est pasvisible sures graphiques 5

, maisplus laquantité

de ommuniations est élevée, et moins es heuristiques déploient d'instanes. Cela s'explique par le

fait que ette heuristique va avoir tendane à équilibrer rapidement la plate-forme, du oup l'ajout

d'une instane lorsqu'elle rajoute des ommuniations va fortement impater l'estimateur qui ne sera

pasbeauoupminimisé.Lesautresheuristiquesauront tendaneàgénérerdespointsdesurhargesurla

plate-formeen débutde déploiement,duoup l'augmentation desommuniations peutêtreompensée

par ladiminution del'éart type.

6 Conlusion

L'utilisation de ressoureshétérogènes réparties néessited'avoirdes outilssimpleseteaes pour

déployerdesappliations, ependant lesoutilsatuelsmanquent enorede maturitéauniveauxdeleurs

méthodes de séletion des ressoures. Durant e stage, nous nous sommes intéressés à proposer une

extension au modèle générique d'appliations d'un outil de déploiement pour environnement de grille :

Adage, ainsiquedesheuristiquesdedéploiementpourdesappliationsséquentiellesethiérarhiquesen

essayantdesatisfairetroisritères:laminimisationdelaquantitédeommuniationsengendrée,unbon

équilibrage dehargeentreles diérentsn÷uds dealuletmaximiserle nombred'instanesdéployées.

Notre extension de GADe propose un modèle pour des appliations hiérarhiques. Nous avons dérit

lasolution pour le asoù seules desappliations séquentiellessont à déployer àl'aide d'un programme

linéaire, etproposé un algorithmepermettant de déployer une hiérarhie. Enn nousavonsprésentéet

omparé diérentes heuristiquesde déploiement.

Unpointimportant quin'apasétéprisenomptedansesheuristiques,estlaompatibilitéentreles

appliationsetlesenvironnementsibles. Uneappliation n'est forément utilisablesurl'ensembledela

plate-forme(onditionssurlamémoirevive,ousurl'espaedisquedisponible,ouenoresurleslibrairies

installées...). Cela réduit les possibilités quant au positionnement des instanes.Il faudrait sans doute

traiteren priorité lesappliations quine peuvent être exéutées quesurpeu de proesseurs.Cetype de

ontraintesexiste déjà au sein d'Adage, etseront don àprendre en ompte lors de l'implantation des

heuristiques.

Bien que ne onnaissant pas les instants auxquels sont réalisées les ommuniations, elles-i sont

suseptibles d'engendrer des goulots d'étranglement sur les liens de ommuniation. En eet, si l'on

onsidère non plus la plate-forme omme étant un graphe totalement onneté, nous pouvons prendre

en ompte les hemins que doivent emprunter les ommuniations, et dans le as où elles sont toutes

eetuéessimultanément ilsepeutquelesliensne puissentsupporter laharge. Celanéessitetoutefois

desonnaissanes pluspréises auniveau desappliations.

L'étude quenousavonsmenéeeststritement statique:nousonsidéronsavoirdesressoures,etdes

appliations àdéployerà un instant

t

,e déploiement ne hangeant plus par lasuite. Seulement l'utili- sation desappliations déployées à un instant

t

ne sera sansdoute pasreprésentative desonutilisation quelquestemps plustard. Celasoulèvele problèmeduredéploiement,'est-à-dire delamodiation du

déploiement atuel pour le faire migrer vers un déploiement plus onforme aux besoins atuels. Cela

5

Des graphiques détaillés par quantité de liens entre les appliations peuvent être trouvés sur

http://graal.ens-lyon.fr/~bdepar do/M 2.htm l

(19)

néessitedeprendre en ompte lepositionnement atuel desappliations (pour éviter deredéployer des

instanesquilesontdéjà,siellessonttoujoursutiliséesparlasuite),ainsiquelesmodiationsàapporter

(qui peuvent être uniquement deshangement defréquened'utilisation, ou bienl'ajout ousuppression

d'appliations). Comment obtenir unredéploiement à moindreoûtquisatisfassenosontraintes?Cela

posedesproblèmesde passageàl'éhelle:omment synhroniserles informationsetlesappliationssur

l'ensembledessites pour redéployereaement?

Enn, le déploiement sur un environnement réparti soulève le problème de la séurité au sein des

Grilles,maisela n'est pasl'objetde e travail.

Une version longue de e rapport présente plus en détail l'ensemble des setions de e rapport :

une desription plus préise des logiiels de déploiement, le détail de l'extension du modèle de des-

ription générique des appliations d'Adage, et des résultats de simulations. Il est disponible sur

http://graal.ens-lyon.fr/~bdepardo.

Référenes

[1℄ G. Antoniu, L. Bougé, M. Jan, and S. Monnet. Large-sale Deployment in P2P Experiments Using the

JXTA Distributed Framework. In In Euro-Par 2004 : Parallel Proessing, volume 3149 of Let.Notes in

Comp. Siene,pages10381047,Pisa,Italy, August2004.

[2℄ O. Beaumont, L. Carter, J. Ferrante, A. Legrand, and Y. Robert. Bandwidth-entri alloation of inde-

pendenttasksonheterogeneousplatforms. InInternational Parallel and Distributed Proessing Symposium

IPDPS'2002.IEEEComputerSoietyPress,2002.

[3℄ O.Beaumont,A. Legrand,L.Marhal,and Y.Robert. Steady-state shedulingonheterogeneouslusters :

whyandhow? In6th Workshop onAdvanesinParallel andDistributedComputationalModels (APDCM).

IEEEComputerSoietyPress,2004.

[4℄ D. Bertsimas and D. Gamarnik. Asymptotially optimal algorithms for job shop sheduling and paket

routing. J.Algorithms,33(2):296318,1999.

[5℄ S.Bouhenak,N.DePalma,D.Hagimont,andC.Taton.AutonomiManagementofClusteredAppliations.

September25th-28th2006.

[6℄ E.Caron,P.K.Chouhan,andH.Dail. GoDIET:Adeploymenttoolfordistributedmiddlewareongrid'5000.

InIEEE,editor,EXPGRIDworkshop.ExperimentalGridTestbedsfortheAssessmentofLarge-SaleDistri-

butedAplliations andTools. Inonjuntion with HPDC-15.,pages18,Paris,Frane,June19th2006.

[7℄ E. CaronandF.Desprez. DIET:Asalabletoolboxtobuildnetworkenabledserversonthegrid. Interna-

tional JournalofHigh PerformaneComputing Appliations, 20(3):335352,2006.

[8℄ H. Casanovaand J.Dongarra. NetSolve: anetwork serverforsolvingomputational sieneproblems. In

Superomputing'96:Proeedingsofthe1996ACM/IEEEonfereneonSuperomputing(CDROM),page40,

Washington,DC,USA,1996.IEEEComputerSoiety.

[9℄ P. K.Chouhan. Automati Deployment for Appliation Servie Provider Environments. PhD thesis,Éole

normalesupérieuredeLyon,Frane,September2006.

[10℄ W. Cirne, F. Brasileiro, D. Paranhos, F. L. W. Góes, and W. Voorsluys. On the eay, eieny and

emergent behavior of task repliation in large distributed systems. In Parallel Computing, volume 33(3),

pages213234,April2007.

[11℄ D. P.daSilva,W.Cirne,andF.V.Brasileiro.Tradingylesforinformation:Usingrepliationtoshedule

bag-of-tasksappliationsonomputationalgrids. InEuro-Par2003 Parallel Proessing,August2003.

[12℄ I. Foster and C. Kesselman, editors. The grid : blueprint for a new omputing infrastruture. Morgan

KaufmannPublishersIn.,SanFraniso,CA,USA,1999.

Références

Documents relatifs

Pour les deux autres, on aura intérêt à fixer le cardinal d’une intersection (ou d’une union) et dénombrer les configurations correspondantes pour, dans un deuxième temps,

[r]

Donc, si on connait un hexagone ou un dod´ ecagone ´ equi-angle compos´ e de cˆ ot´ es de 1 ` a 6, ou de 1 ` a 12, on en d´ eduit directement les figures demand´ ees.. Soit un

La découpe au jet d'eau additionnée d'abrasif (type grenat), d'une granulométrie de 80 mesh dans le standard, permet la découpe de métaux, pierres, marbres, verre dans des

familiariser avec la déclaration de politiques provinciales, le contenu du Plan officiel des Comtés unis de Prescott et Russell et le Plan officiel de l’aire urbaine de la Cité

On va r´ epondre au probl` eme suivant : Combien y-a-t-il de fa¸ cons de monter un escalier de n marches en faisant des pas qui montent de 1 ou 2 marches de fa¸ con al´ eatoire..

[r]

[r]