support d’ex´ecution.

Plus g´en´eralement, les diff´erentes approches d´ecrites dans cette section mettent en avant un besoin de flexibilit´e dans la gestion des ressources et proposent une approche `a base de machines virtuelles.

Ces diff´erentes approches se basent sur les m´ecanismes manipulant l’´etat et la position des machines virtuelles mais leurs possibilit´es sont plus limit´ees. De plus, ces diff´erentes approches ne consid`erent pas n´ecessairement la notion de changement de contexte comme un ´el´ement de base d´egageant le d´eveloppeur des pr´eoccupations li´ees au changement de contexte.

9.4 Conclusion

Bilan

Nous avons discut´e dans ce chapitre de l’utilisation d’Entropy comme un gestionnaires de ressources pour des tˆaches compos´ees de machines virtuelles. L’administrateur d´eveloppe sa propre strat´egie d’or-donnancement en se concentrant uniquement sur le calcul d’une configuration viable indiquant l’´etat des diff´erentes tˆaches pour l’instant suivant, tandis que le module de reconfiguration r´ealise un changement de contexte en modifiant l’´etat des tˆaches ainsi que la position des machines virtuelles en cours d’ex´ecution afin d’assurer la transition entre la configuration courante et la nouvelle configuration. Cette approche permet aux administrateurs de d´evelopper des algorithmes complexes n´ecessitant de la gestion dyna-mique des tˆaches sans se pr´eoccuper des probl`emes li´es `a la reconfiguration. Notre approche `a base de programmation par contraintes a facilit´ee l’adaptation du code du module de planification en composant un probl`eme bas´e sur le VMAP en ajoutant ou en retirant des contraintes.

Nous avons ´egalement pr´esent´e dans ce chapitre un exemple d’impl´ementation d’un ordonnanceur ex´ecutant des tˆaches au plus tˆot en consid´erant un ordre de file non-strict bas´e sur First Fit et un partitionnement des ressources `a la fois spatial et temporel pour des tˆaches ´evolutives. Appliquer les changements sur les tˆaches d’apr`es un tel algorithme requiert d’utiliser les m´ecanismes de migration, de suspension et de reprise de machines virtuelles.

Perspectives

Le d´eveloppement d’une strat´egie d’ordonnancement est simple et rapide pour une personne connaissant l’API d’Entropy, mais elle n´ecessite un minimum de comp´etences dans le langage de programmation JAVA et dans l’interfacage avec Entropy. Ces deux points peuvent freiner les administrateurs dans le d´evelop-pement d’ordonnanceurs et mener `a des erreurs de conception li´ees au manque d’expertise dans l’API d’Entropy et `a l’absence de v´erification `a priori des algorithmes. En effet, certaines erreurs de conceptions ne seront observables que durant l’ex´ecution du syst`eme. Une approche pour l’´ecriture d’ordonnanceur pour Entropy `a base d’un langage d´edi´e par exemple (DSL) pourrait ˆetre une solution `a ces probl`emes. Un DSL est un langage cr´e´ee pour r´esoudre des probl`emes sp´ecifiques `a un domaine. Le langage SQL [MS01]

par exemple est un langage d´edi´e `a la manipulation de bases de donn´ees relationnelles. Ces langages s’opposent `a des langages g´en´eralistes comme JAVA ou C qui couvrent un large spectre de domaines.

Cette approche r´eduit le niveau d’expertise n´ecessaire `a l’´ecriture de strat´egies d’ordonnancement en supprimant les pr´e-requis li´es au langage JAVA et en permettant la v´erification de certaines propri´et´es de corrections avant son ex´ecution. Le d´eveloppeur manipule uniquement des concepts li´es `a l’ordonnance-ment des tˆaches et `a la g´en´eration d’une configuration avec un langage d´edi´e. Ce code est ensuite compil´e puis incorpor´e dans Entropy uniquement s’il respecte des propri´et´es telles que l’impossibilit´e de d´etruire involontairement des tˆaches par exemple.

Le chapitre suivant de ce manuscrit est d´edi´e aux ´evaluations des diff´erentes contributions de cette th`ese. Nous discutons des diff´erentes exp´erimentations qui ont servi `a valider le prototype Entropy et nos choix de conceptions tel que l’utilisation de la programmation par contraintes et l’optimisation du processus de reconfiguration.

Chapitre 10

Evaluation ´

O`u nous ´evaluons les performances des modules de d´ecision d´edi´es `a la consolidation dynamique et `a l’ordonnancement flexible de tˆaches, ainsi que les performances du module de reconfigura-tion. Les exp´erimentations r´ealis´ees au travers de simulations et de l’ex´ecution de tˆaches sur des grappes d´emontrent l’applicabilit´e de notre approche, en compensant un temps de calcul des solutions sup´erieur aux approches `a base d’heuristiques par une plus grande qualit´e des solutions et une forte r´eduction du temps de reconfiguration.

Sommaire

10.1 Micro-´evaluations . . . 86 10.1.1 Protocole exp´erimental . . . 86 10.1.2 Crit`eres impactant le temps de r´esolution des probl`emes VMPP, VMRP . . . 86 10.1.3 Comparaison qualitative avec l’heuristique FFD . . . 88 10.2 Exp´erimentations sur une grappe . . . 90 10.2.1 La suite de tests NASGrid . . . 90 10.2.2 Consolidation dynamique . . . 91 10.2.3 Ordonnancement flexible de tˆaches . . . 94 10.3 Conclusion . . . 96

N

ousavons suppos´e durant cette th`ese que l’utilisation des machines virtuelles et d’un syst`eme au-tonome flexible ´etait une solution viable pour une gestion dynamique des tˆaches. Nous pensons en effet que les m´ecanismes d´edi´es `a la manipulation des machines virtuelles ainsi que la flexibilit´e dans l’´ecriture de module de d´ecision et de planification permettent le d´eveloppement de diff´erentes politiques

`a base de gestion dynamique des tˆaches am´eliorant l’utilisation des ressources. Nous avons propos´e dans le Chapitre 7 un premier cas d’utilisation d´edi´e `a la consolidation dynamique de machines virtuelles, puis nous avons propos´e dans le Chapitre 9 une approche pour l’´ecriture de strat´egies d’ordonnancement.

Dans cette th`ese, notre approche se d´emarque des solutions actuelles `a la fois par sa flexibilit´e, offerte par la programmation par contraintes, qui permet de d´efinir des probl`emes combinatoires complexes d´edi´es au calcul de configurations viables, mais ´egalement par la consid´eration des probl`emes li´es `a la manipulation de l’´etat et de la position des machines virtuelles dans les grappes. Le calcul de nouvelles configurations viables par un module de d´ecision ainsi que la r´eduction du temps de reconfiguration par le module de planification sont cependant des probl`emes complexes dont la r´esolution peut n´ecessiter un temps de calcul important. En contre-partie, les solutions calcul´ees sont suppos´ees ˆetre d’une qualit´e sup´erieure aux solutions ad-hoc actuelles.

Nous r´ealisons dans ce chapitre une ´evaluation d’Entropy afin de valider nos diff´erentes hypoth`eses.

Dans une premi`ere section, nous r´ealisons diff´erentes micro-´evaluations des modules de r´esolution des diff´erents probl`emes d´efinis durant cette th`ese, afin d’estimer leurs temps d’ex´ecution et la qualit´e de leurs r´esultats. Ces premi`eres ´evaluations servent ´egalement `a calibrer Entropy en d´efinissant un temps maximal pour la r´esolution de probl`emes qui seront trait´es dans des ´evaluations sur des grappes. Dans une seconde section, nous ´evaluons le syst`eme Entropy dans son ensemble par diff´erentes exp´erimenta-tions sur des grappes, afin de v´erifier l’efficacit´e de notre approche pour la consolidation dynamique et

85

l’ordonnancement de tˆaches. Nous concluons ce chapitre en discutant des limites de nos exp´erimentations et des solutions envisageables.

In document Gestion dynamique des tâches dans les grappes, une approche à base de machines virtuelles (Page 95-98)