• Aucun résultat trouvé

Nous avons d´ecrit dans ce chapitre les principes de la Programmation Par Contraintes (PPC). Cette approche d´eclarative permet de mod´eliser et de r´esoudre des probl`emes combinatoires vari´es complexes et facilement composables tel que les probl`emes d’ordonnancement de placement qui doivent r´esoudre les gestionnaires de ressources. Les utilisateurs d´ecrivent leurs probl`emes en sp´ecifiant des contraintes sur les valeurs que peuvent prendre les diff´erentes variables composant le probl`eme. Un solveur de contraintes est alors charg´e de calculer les diff´erentes solutions de ce probl`eme, c’est `a dire les diff´erentes instantiations des variables `a des valeurs satisfaisant simultan´ement toutes les contraintes. Cette approche permet une mod´elisation d’un probl`eme plus simplement qu’avec une approche de type Programmation Lin´eaire, ne pouvant r´esoudre que des probl`emes d´efinis sous la forme d’´equations lin´eaires ou des probl`emes SAT n´ecessitant une mod´elisation sous la forme d’´equations bool´eennes.

Le processus de r´esolution exact de probl`emes de contraintes permet de g´en´erer efficacement les solutions d’un probl`eme en consid´erant `a la fois le filtrage et la propagation, afin de r´eduire le temps de r´esolution des probl`emes et des heuristiques de recherche, fournit par l’utilisateur, afin de guider la recherche. Finalement, les efforts r´ecents sur la standardisation de la s´emantique des contraintes globales annonce une volont´e de s’abstraire des sp´ecificit´es des biblioth`eques de contraintes des solveurs afin de proposer un environnement totalement ind´ependant de toute impl´ementation, facilitant la portabilit´e des contraintes.

L’approche PPC est cependant soumise `a plusieurs limitations. Premi`erement, la PPC est d´edi´ee `a la r´esolution exacte de probl`emes combinatoires. Ainsi le calcul de solutions de probl`emes

d’optimisa-4.4. Conclusion 33 tion ou mˆeme de satisfaction de contraintes peut n´ecessiter un temps cons´equent limitant le passage `a l’´echelle du processus de r´esolution, il importe alors de mod´eliser le probl`eme de la fa¸con la plus efficace possible. Cette n´ecessit´e d’optimiser la mod´elisation peut alors limiter les possibilit´es de composition de contraintes. En effet, celles-ci peuvent n´ecessiter une repr´esentation pr´ecise du probl`eme qui ne sera pas n´ecessairement compatible avec la repr´esentation choisie et il importe alors de r´ealiser des«ponts» entre les diff´erentes repr´esentations qui peuvent complexifier la mod´elisation du probl`eme. Finalement, si la th´eorie de la PPC met en avant une approche d´eclarative, cet objectif n’est pas encore pleinement atteint. L’effort d’uniformisation des contraintes globales mais ´egalement des langages de description de CSP ne permettent pas encore de d´eclarer un probl`eme sans aucune consid´eration du solveur sous-jacent.

Simultan´ement, il est encore n´ecessaire de d´evelopper dans certaines situations ses propres contraintes globales permettant une r´esolution efficace d’un probl`eme pr´ecis.

Deuxi` eme partie

Contribution

35

Chapitre 5

Gestion dynamique et autonome de machines virtuelles dans les grappes

O`u nous pr´esentons la probl´ematique et la contribution de cette th`ese en discutant du manque de dynamicit´e des gestionnaires de ressources actuels dont l’environnement des grappes ne permet pas d’impl´ementer de fa¸con fiable les m´ecanismes n´ecessaires `a la gestion dynamique des tˆaches. Celle-ci requiert en effet une architecture permettant leur manipulation d’une ma-ni`ere efficace, une approche flexible vis `a vis de la vari´et´e des crit`eres d’ordonnancement et un syst`eme autonome capable de revoir l’agencement des tˆaches efficacement et en continu afin d’optimiser l’utilisation des ressources. Dans ce contexte, notre contribution consiste en la d´efinition et l’impl´ementation d’Entropy, un gestionnaire de ressources flexible et autonome `a base de machines virtuelles permettant d’impl´ementer des strat´egies d’ordonnancement et de placement complexes par une composition de contraintes.

Sommaire

5.1 La gestion dynamique des tˆaches dans les grappes . . . 38 5.2 L’ordonnancement des tˆaches dans la pratique . . . 39 5.3 Expression des besoins pour une gestion dynamique des tˆaches . . . 40 5.3.1 Un support adapt´e `a la manipulation des tˆaches . . . 40 5.3.2 Une approche flexible . . . 40 5.3.3 Un syst`eme autonome . . . 41 5.4 Proposition : un gestionnaire de ressources autonome `a base de machines virtuelles . . 42 5.4.1 Une grappe de serveurs `a base de machines virtuelles . . . 42 5.4.2 Une approche auto-adaptative . . . 43 5.5 Conclusion . . . 44

L

esgrappes de serveurs sont utilis´ees principalement par l’interm´ediaire de gestionnaires de ressources ordonnan¸cant l’ex´ecution de tˆaches ayant des besoins en ressources connus. Un des objectifs des ges-tionnaires de ressources est alors d’utiliser au mieux la capacit´e de calcul de la grappe pour ex´ecuter les tˆaches le plus rapidement possible. Il existe diff´erents types de tˆaches et diff´erentes strat´egies d’ordonnan-cement s´electionnant les tˆaches `a ex´ecuter. On observe cependant que mˆeme si les approches purement statiques allouant une quantit´e de ressources constante pour la totalit´e de la dur´ee de la tˆache ne per-mettent pas d’occuper au mieux les ressources, celles-ci sont les plus utilis´ees. En effet, les architectures actuelles des grappes ne supportent g´en´eralement pas une gestion dynamique des tˆaches.

Dans cette th`ese, nous abordons la probl´ematique de la gestion dynamique des tˆaches en d´efinissant et en impl´ementant une solution autonome et flexible utilisant une architecture `a base de machines virtuelles et une approche pour leur placement sur les nœuds de calcul reposant sur la programmation par contraintes. Dans ce chapitre, nous d´efinissons d’abord le principe de gestion dynamique des tˆaches en d´ecrivant des crit`eres permettant une utilisation efficace des ressources et les m´ecanismes associ´es.

37

Nous r´ealisons ensuite un parall`ele entre ces crit`eres et le fonctionnement des diff´erents gestionnaires de ressources utilis´es en production. Dans une troisi`eme section, nous d´ecrivons les pr´e-requis pour une gestion dynamique des tˆaches. Nous terminons ce chapitre par la description de notre approche.