© Université de Leeds 2016
Tango Energy Modeller (EM) est une composante du projet européen Tango (http://tango-project.eu).
EM est distribué sous une licence Apache, version 2.0.
Le modélisateur énergétique est chargé de signaler la consommation d'énergie actuelle et historique des applications. Il présente la capacité de prévoir la consommation d'énergie et d'énergie des applications à l'avenir dans le but de fournir des informations qui guident le comportement adaptatif de l'architecture de tango.
Ce guide est divisé en deux guides différents, un spécifique à la compilation du modéleur d'énergie et le second sur la façon d'exécuter et de configurer le modélisateur d'énergie.
Les deux principales conditions principales du modélisateur énergétique sont:
Pour compiler le modélisateur d'énergie, les étapes suivantes doivent être effectuées:
Les rapports de cloud Sonar pour ce projet sont disponibles sur: https://sonarcloud.io/dashboard?id=eu.tango%3aenergy-modeller
Dans ce cas, nous allons détailler comment exécuter l'application dans son mode autonome qui est destiné à être utilisé pour collecter des données pour les modèles d'énergie. Le deuxième mode de fonctionnement du modélisateur d'énergie est utilisé comme sous-composant d'un autre tel que le gestionnaire d'auto-adaptation, avec l'intention d'être utilisé comme modélisateur.
Le modélisateur d'énergie est également très configurable et possède plusieurs fichiers qui peuvent être utilisés pour modifier son comportement. Le modélisateur d'énergie dispose des fichiers de paramètres suivants afin d'effectuer ces modifications:
Energy-modeller.properties: maintient la configuration de base spécifiant la source de données et le prédicteur à utiliser.
Energy-modeller-db.properties: détient les informations de base de données pour le modélisateur énergétique.
Energy-Modeller-Predictor.Properties: Contient des paramètres liés à la prédiction de la consommation d'énergie.
Energy-Modeller-influx-DB-Config.properties: Contient directement des paramètres sur la façon de se connecter à la base de données InfluxDB de ConnectD, dans le cas où la collectiondinfluxdbdatasorucuEadaptor, le tangoremoteprocessedaptor est utile. Le tangoenvironmentDataSourceAdaptor est la source de données par défaut utilisée.
Energy-modeller-db-zabbix.properties: contient des informations sur la façon de se connecter directement à la base de données Zabbix, dans le cas où le ZabbixDirectDBDataSourceadaptor est utilisé.
Ces paramètres doivent être adaptés à l'infrastructure spécifique. Les paramètres sont décrits ci-dessous et un exemple des paramètres est fourni pour référence.
Ce fichier spécifie divers paramètres liés à la base de données pour le modélisateur d'énergie. Un exemple est fourni ci-dessous:
energy.modeller.db.url = jdbc:mysql://iaas-vm-dev:3306/ascetic-em
energy.modeller.db.driver = org.mariadb.jdbc.Driver
energy.modeller.db.password = XXXXX
energy.modeller.db.user = user-em
Cela comprend la spécification du nom d'utilisateur et du mot de passe de la base de données pour que le modélisateur énergétique se connecte à sa base de données d'arrière-plan. Cela comprend des informations telles que l'URL de connexion, le pilote à utiliser et le nom d'utilisateur et le mot de passe à utiliser. Le script SQL pour configurer la structure de la base de données est conservé dans le fichier IaaS Energy Modeller db.sql. Il est maintenu sous le répertoire {Directory racine de modélisateur d'énergie} src main Ressources.
energy.modeller.datasource = SlurmDataSourceAdaptor
energy.modeller.predictor = CpuAndAcceleratorEnergyPredictor
Le paramètre de source de données indique comment le modélisateur d'énergie gagnera les données de l'environnement dont elle a besoin. Il peut s'agir de l'une des options suivantes:
CollectDinfluxDBDataSourceAdaptor: Ce connecteur qui accède directement à la base de données InfluxDB de CollectD pour les informations dont elle a besoin. Cet adaptateur utilise le fichier de configuration Energy-modeller-influx-db-config.properties.
Slurmdatasourceadaptor: Il s'agit d'un adaptateur qui relie le modélisateur énergétique dans un environnement basé sur la gestion de l'emploi Slurm. Permettant l'accès aux informations sur l'hôte physique.
TangoenvironmentDataSourceAdaptor: Cela utilise à la fois le SlurMDataSourCeadaptor et le CollectDinfluxDBDataSourceDaptor.
TangoremoteProcessingDataSourceadaptor: Cela utilise le collectiondinfluxdbdatasourceadaptor et se connecte en outre dans l'environnement d'exécution de CompSS, pour obtenir plus d'informations sur l'exécution des travaux. ZabbixDirectDBDataSourceadaptor: ce connecteur qui accède directement à la base de données Zabbix pour les informations dont elle a besoin. Cet adaptateur utilise le fichier de configuration Energy-modeller-db-zabbix.properties.
WattsupMeterDataSourceadaptor: Pour l'utilisation locale du modélisateur énergétique.
Il convient de noter que la fenêtre d'observation ne doit pas être trop petite, en particulier pendant l'utilisation des adaptateurs de source de données Zabbix, qui peuvent fournir moins de points de données que le wattsupmeterdatasourceadaptor, ce dernier a pu signaler à un intervalle aussi faible que chaque seconde.
Le prédicteur utilisé peut être spécifié ci-dessus, les options sont:
Ce fichier spécifie les paramètres du mécanisme du prédicteur d'énergie, un exemple d'un tel fichier est fourni ci-dessous:
energy.modeller.energy.predictor.datasource = ZabbixDirectDbDataSourceAdaptor
energy.modeller.energy.predictor.workload.predictor = CpuRecentHistoryWorkloadPredictor
energy.modeller.energy.predictor.default_load = -1.0
energy.modeller.energy.predictor.cpu.utilisation.observe_time.min = 0
energy.modeller.energy.predictor.cpu.utilisation.observe_time.sec = 15
Le paramètre de source de données indique comment le prédicteur du modélisateur énergétique obtiendra les données environnementales dont elle a besoin. Il peut s'agir de l'une des options, spécifiées précédemment.
Le prédicteur d'énergie peut utiliser plusieurs fonctions d'estimateur de charge de travail différentes. La valeur par défaut consiste à utiliser le CPureCentHistoryWorkLoadPredictor. Cela a les paramètres de configuration suivants.
Le paramètre default_load indique à quel chargement le prédicteur doit utiliser comme estimation. Il doit être spécifié dans la plage 0..1. Une alternative consiste à lui fournir la valeur -1, dans laquelle il sera par défaut en utilisant la charge de courant observée.
Dans le cas où la charge de courant de l'observateur est utilisée, les paramètres Observe_time.min et Observe_time.sec sont utilisés pour indiquer la taille de la fenêtre d'observation pour l'utilisation du processeur. Les deux valeurs sont simplement additionnées pour faire le temps total de la fenêtre d'observation. La taille de la fenêtre d'observation par défaut est de 15 minutes.
Les autres options de prédiction de la charge de travail qui peuvent être utilisées lorsque le modélisateur d'énergie est configuré pour les machines virtuelles. Ce sont:
Ces prédicteurs fonctionnent sur des informations sur la charge historique. Chaque machine virtuelle peut être étiquetée avec des informations de base d'informations sur l'application pour laquelle la machine virtuelle est pour la VM et l'image de disque sur laquelle elle est basée. Prédicteurs de charge de travail CPU moyens: donnez une estimation de la charge de travail en fonction de l'utilisation moyenne du processeur pour une balise d'application ou une image de disque de base. Prédicteurs de charge de travail moyens de démarrage: Donnez une estimation de la charge de travail en fonction de l'heure du démarrage d'une machine virtuelle pour une balise d'application donnée ou une image de disque de base. Jour de semaine (DOW) Prédicteurs de charge de travail: Donnez une estimation de la charge de travail en fonction de l'heure et du jour de la semaine où une machine virtuelle est active pour une étiquette d'application ou une image de disque de base donnée.
Ce fichier de configuration est utilisé pour configurer le modélisateur d'énergie lors de l'utilisation de CollectDinfluxDBDataSourceadaptor, TangoremoteProcessingDatasourceAdaptor ou TangoenvironmentDatasourceadaptor. Il maintient les paramètres de connexion de la base de données utilisés pour se connecter directement à la base de données CollectD InfluxDB.
energy.modeller.influx.db.hostname = http://ns54.bullx:8086
energy.modeller.influx.db.name = collectd
energy.modeller.influx.db.user = collectd
energy.modeller.influx.db.password = XXXXX
Cela comprend la spécification de l'URL de connexion hôte et du nom de la base de données ainsi que des détails de connexion tels que le nom d'utilisateur et le mot de passe.
Il s'agit du fichier de configuration utilisé pour configurer le modélisateur d'énergie lors de l'utilisation du ZabBixDirectDBDataSourCeadaptor. Il contient les paramètres de connexion de la base de données utilisés pour se connecter directement à la base de données Zabbix.
energy.modeller.zabbix.db.driver = org.mariadb.jdbc.Driver
energy.modeller.zabbix.db.url = jdbc:mysql://192.168.3.199:3306/zabbix
energy.modeller.zabbix.db.user = zabbix
energy.modeller.zabbix.db.password = XXXXX
energy.modeller.host.group = Hypervisors
energy.modeller.vm.group = Virtual Machines
energy.modeller.dfs.group = DFS
energy.modeller.only.available.hosts = false
Cela comprend la spécification du nom d'utilisateur et du mot de passe de la base de données pour que le modélisateur énergétique se connecte directement à la base de données Zabbix. Cela comprend également des informations telles que l'URL de connexion, le pilote à utiliser, le nom d'utilisateur et le mot de passe à utiliser.
Le modélisateur d'énergie fonctionne avec les composants suivants: