Modeling the power consumption of computing systems and applications through machine learning techniques

Au cours des dernieres annees, le nombre de systemes informatiques n'a pas cesser d'augmenter. Les centres de donnees sont peu a peu devenus des equipements hautement demandes et font partie des plus consommateurs en energie. L'utilisation des centres de donnees se partage entre le calcul intensif et les services web, aussi appeles informatique en nuage. La rapidite de calcul est primordiale pour le calcul intensif, mais pour les autres services ce parametre peut varier selon les accords signes sur la qualite de service. Certains centres de donnees sont dits hybrides car ils combinent plusieurs types de services. Toutes ces infrastructures sont extremement energivores. Dans ce present manuscrit nous etudions les modeles de consommation energetiques des systemes informatiques. De tels modeles permettent une meilleure comprehension des serveurs informatiques et de leur facon de consommer l'energie. Ils representent donc un premier pas vers une meilleure gestion de ces systemes, que ce soit pour faire des economies d'energie ou pour facturer l'electricite a la charge des utilisateurs finaux. Les politiques de gestion et de controle de l'energie comportent de nombreuses limites. En effet, la plupart des algorithmes d'ordonnancement sensibles a l'energie utilisent des modeles de consommation restreints qui renferment un certain nombre de problemes ouverts. De precedents travaux dans le domaine suggerent d'utiliser les informations de controle fournies par le systeme informatique lui-meme pour surveiller la consommation energetique des applications. Neanmoins, ces modeles sont soit trop dependants du type d'application, soit manquent de precision. Ce manuscrit presente des techniques permettant d'ameliorer la precision des modeles de puissance en abordant des problemes a plusieurs niveaux: depuis l'acquisition des mesures de puissance jusqu'a la definition d'une charge de travail generique permettant de creer un modele lui aussi generique, c'est-a-dire qui pourra etre utilise pour des charges de travail heterogenes. Pour atteindre un tel but, nous proposons d'utiliser des techniques d'apprentissage automatique.Les modeles d'apprentissage automatique sont facilement adaptables a l'architecture et sont le cœur de cette recherche. Ces travaux evaluent l'utilisation des reseaux de neurones artificiels et la regression lineaire comme technique d'apprentissage automatique pour faire de la modelisation statistique non lineaire. De tels modeles sont crees par une approche orientee donnees afin de pouvoir adapter les parametres en fonction des informations collectees pendant l'execution de charges de travail synthetiques. L'utilisation des techniques d'apprentissage automatique a pour but d'atteindre des estimateurs de tres haute precision a la fois au niveau application et au niveau systeme. La methodologie proposee est independante de l'architecture cible et peut facilement etre reproductible quel que soit l'environnement. Les resultats montrent que l'utilisation de reseaux de neurones artificiels permet de creer des estimations tres precises. Cependant, en raison de contraintes de modelisation, cette technique n'est pas applicable au niveau processus. Pour ce dernier, des modeles predefinis doivent etre calibres afin d'atteindre de bons resultats.