• Aucun résultat trouvé

Dans la litt´erature, il a d´ej`a ´et´e propos´e de placer les VMs en fonction de leur dur´ee de vie [61, 62, 24]. Le probl`eme est que la dur´ee de vie est `a priori inconnue de l’orchestrateur. Dans ce chapitre, nous r´esolvons ce probl`eme en employant des techniques d’apprentissage automatique. L’apprentissage automatique vise `a trouver la solution d’un probl`eme en ´evaluant un ensemble de solutions possibles sur un ensemble de donn´ees qui encode l’exp´erience acquise sur le probl`eme [75]. L’apprentissage automatique est utilis´e lorsque la solution ne peut pas ˆetre d´etermin´ees analytiquement. Ici, nous faisons appel `a l’apprentissage automatique supervis´e, car nos donn´ees associent la dur´ee de vie des VMs s’´etant ex´ecut´ees dans la trace aux caract´eristiques qui ont ´et´e, ou auraient ´eventuellement pu ˆetre, connues au d´emarrage. La nouveaut´e de notre travail r´eside dans l’utilisation de nouvelles carac-t´eristiques pr´edictives extraites de la requˆete de d´emarrage de la VM ainsi que l’utilisation d’´etiquettes textuelles (tags) permettant aux clients de faire l’inventaire des VMs. Les tags ne sont actuellement pas disponibles au d´emarrage, mais nous voulons ´evaluer leur contribution `a la pr´ecision du mod`ele pour pr´econiser ou non une ´eventuelle modification de l’API.

7.4.1 Conditions exp´erimentales

L’une des difficult´es associ´ee `a l’apprentissage automatique est la recherche des meilleures carac-t´eristiques pr´edictives. Pour ´evaluer la contribution des caract´eristiques `a la pr´ecision du mod`ele, nous comparons trois ensembles de caract´eristiques `a compl´etude croissante. Dans le premier ensemble fig-urent toutes les caract´eristiques extraites de la requˆete de d´emarrage. Ceci inclue des caract´eristiques d´ej`a connues, comme la quantit´e de ressources [2]et l’horodatage de la requˆete [123]. Nous incluons quatre nouveaux types de caract´eristiques d´ecrivant les contraintes de placement, la configuration r´eseau de la VM, la configuration de stockage ´eph´em`ere, ainsi que d’autres param`etres divers. Le second ensemble de caract´eristiques, issu de la litt´erature [86], r´esume le comportement historique et le statut actuel du compte utilisateur. Le troisi`eme ensemble comprend les caract´eristiques extraites des tags. Nous les avons obtenues en concat´enant les tags de chaque VM dans un document, puis en indexant les mots et en codant leur pr´esence avec un vecteur.

Comme une approximation de la dur´ee de vie est suffisante pour un algorithme de placement, nous avons formul´e le probl`eme en une instance de classification. Nous adoptons le score F1 comme m´etrique d’´evaluation de la pr´ecision du mod`ele, car il est robuste quand les classes ont un effectif h´et´erog`ene. Comme mod`ele, nous optons pour les arbres de d´ecisions al´eatoires extrˆemes (extremely randomized trees) [120]. Les arbres de d´ecision ont l’avantage d’ˆetre interpr´etables car ils sont con-struits en partitionnant l’espace des donn´ees. Les arbres de d´ecisions extrˆemes sont un ensemble d’arbres de d´ecisions, construits en parall`eles sur un ´echantillon al´eatoire des donn´ees, en consid´erant des crit`eres de partitionnement al´eatoires eux aussi. L’al´ea g´en`ere des arbres diff´erents qui, une fois combin´es, permettent d’obtenir un excellent compromis entre biais et variance, c’est-`a-dire qu’ils peu-vent correctement mod´eliser la complexit´e des donn´ees sans pour autant ˆetre sensible au bruit. Pour nos exp´eriences, nous avons divis´e nos donn´ees en un ensemble d’apprentissage (80% des individus tir´es au hasard) et de test (le reste).

7.4.2 R´esultats

Nous pr´esentons ici nos r´esultats sur la pr´ediction de la dur´ee de vie des VMs de la plateforme d’Outscale, et les comparons avec ceux pr´ec´edemment obtenus sur les VMs de Microsoft Azure [2].

l’utilisation de nouvelles caract´eristiques pr´edictives. Avec les caract´eristiques extraites dans la requˆete de d´emarrage uniquement, notre mod`ele atteint un score F1=0.76, soit autant que le mod`ele de comparaison (ligne horizontale noire). Le score F1 atteint 0.87 en ajoutant des caract´eristiques qui r´esument l’historique et l’´etat actuel du compte utilisateur, et 0.91 en incluant les tags.

API

call +account stateand history +text tags

feature set

0.0

0.2

0.4

0.6

0.8

1.0

F1 score

Figure 7.3: ´Evolution de la pr´ecision de la pr´ediction avec ajout incr´emental de caract´eristiques pr´ edic-tives. La ligne horizontale correspond au mod`ele de comparaison ´evalu´e sur la plateforme de Microsoft Azure [2].

La figure 7.4 pr´esente la liste des 20 plus importantes caract´eristiques pr´edictives. L’importance maximale, 0.04, est largement inf´erieure `a 1. Cela d´emontre donc la n´ecessit´e d’utiliser une vari´et´e de caract´eristiques pr´edictives. Nous observons aussi, de mani`ere surprenante, que la quantit´e de CPU et RAM demand´ees, qui sont les caract´eristiques les plus couramment utilis´ees dans la litt´erature, apportent en fait peu d’information car elles ne sont pas pr´esentes dans la liste. 4 nouvelles caract´ eris-tiques que nous avons propos´ees apparaissent dans la liste et deux sont en premi`eres places, il s’agit de nombre de groupes de s´ecurit´e appliqu´es `a la VM et `a la pr´esence de tags.

sgs text_0 sum_core nb_jobs_active sum_ram sin_t_week cos_t_day sum_runtime_active sin_t_day cos_t_week core_avg_all text_1 max_runtime_active runtime_avg_all core_avg_active text_2

last_completion core_normalized runtime_avg_3

start_hour feature category 0.00 0.02 0.04 importance

Figure 7.4: Liste des 20 caract´eristiques les plus utiles `a la pr´ediction.

7.4.3 Conclusion

Nous avons propos´e une m´ethode pour pr´edire la dur´ee de vie des VMs grˆace `a l’apprentissage automatique. Nous avons pr´esent´e de nouvelles caract´eristiques pr´edictives, extraites de la requˆete de lancement de VMs et des tags utilis´es pour faire l’inventaire des VMs. Grˆace `a ces caract´eristiques, notre mod`ele obtient une meilleure pr´ecision que pr´ec´edemment report´e dans la litt´erature (F1=0.91 vs F1=0.74). Les tags sont actuellement fournis apr`es la cr´eation de la VM. Pour savoir s’il serait utile de modifier l’API afin de b´en´eficier du gain de pr´ecision, nous devons d´eterminer quelle est la pr´ecision requise par un algorithme de placement. Dans la section suivante, nous pr´esentons notre ´evaluation de la sensibilit´e d’un algorithme de placement aux erreurs de pr´edictions.

Documents relatifs