© University of Leeds 2016
Tango Energy Modeller (EM) es un componente del proyecto europeo Tango (http://tango-project.eu).
EM se distribuye bajo una licencia Apache, versión 2.0.
El modelador de energía es responsable de informar el uso actual e histórico de la energía de las aplicaciones. Cuenta con la capacidad de pronosticar el consumo de energía y energía de aplicaciones en el futuro con la intención de proporcionar información que guíe el comportamiento adaptativo de la arquitectura de tango.
Esta guía se divide en dos guías diferentes, una específica para la compilación del modelador de energía y la segunda sobre cómo ejecutar y configurar el modelador de energía.
Los dos requisitos previos del Modeller de Energy Modeller son:
Para compilar el modelador de energía, se deben realizar los siguientes pasos:
Los informes de Sonar Cloud para este proyecto están disponibles en: https://sonarcloud.io/dashboard?id=eu.tango%3aenergy-modeller
En este caso, vamos a detallar cómo ejecutar la aplicación en su modo independiente que está destinado a usarse para recopilar datos para los modelos de energía. El segundo modo de operación, el modelador de energía se usa como subcomponente de otro, como el administrador de autoadaptación, con la intención de ser utilizada como modelador.
El modelador de energía también es altamente configurable y tiene varios archivos que pueden usarse para cambiar su comportamiento. El modelador de energía tiene los siguientes archivos de configuración para lograr estos cambios:
Energy-Modeller.Properties: contiene la configuración básica especificando qué fuente de datos y predictor usar.
Energy-Modeller-DB.Properties: contiene información de la base de datos para el modelador de energía.
Energy-Modeller-predictor.Properties: posee la configuración relacionada con la predicción del uso de energía.
Energy-Modeller-Influx-DB-Config.Properties: contiene configuraciones sobre cómo conectarse a la base de datos InfluxDB de Connectd directamente, en caso de que CollectDinFluxDBDataSoruceadaptor, TangoremotEproSingDateSourCeadaptor, TangoenvirmentDataSourceadaptor se encuentren en uso. El TanGoenvironmentDataSourCeAdaptor es la fuente de datos predeterminada en uso.
Energy-Modeller-DB-Zabbix.Properties: contiene información sobre cómo conectarse directamente a la base de datos Zabbix, en caso de que el zabbixdirectdbdataSourCeadaptor esté en uso.
Estas configuraciones deben adaptarse a la infraestructura específica. La configuración se describe a continuación y se proporciona un ejemplo de la configuración como referencia.
Este archivo especifica varias configuraciones relacionadas con la base de datos para el modelador de energía. A continuación se proporciona un ejemplo:
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
Esto incluye especificar el nombre de usuario y la contraseña de la base de datos para que el modelador de energía se conecte a su base de datos de fondo. Esto incluye información como la URL de conexión, el controlador para usar y el nombre de usuario y la contraseña para usar. El script SQL para configurar la estructura de la base de datos se mantiene en el archivo Iaas Energy Modeller DB.SQL. Se mantiene en el directorio {Directorio raíz de modelador de energía} src main recursos.
energy.modeller.datasource = SlurmDataSourceAdaptor
energy.modeller.predictor = CpuAndAcceleratorEnergyPredictor
El parámetro de fuente de datos indica cómo el modelador de energía obtendrá los datos del entorno que necesita. Puede ser una de las siguientes opciones:
CollectDinFluxDBDataSourCeadaptor: este conector que accede directamente a la base de datos InfluxDB de Collectd para la información que requiere. Este adaptador utiliza el archivo de configuración Energy-Modeller-Influx-DB-Config.Properties.
SlurMDataSourCeadaptor: este es un adaptador que conecta el modelador de energía con un entorno basado en la gestión de empleo Slurm. Permitiendo el acceso a la información sobre el host físico.
TangoenvironmentDataSourCeAdaptor: esto hace uso tanto del SlurMDataSourCeadaptor como del CollectDinFluxDBDataSourceAdaptor.
TangoremoteprocessingDataSourCeAdaptor: esto hace uso de CollectDinFluxDBDataSourCeadaptor y además se conecta al entorno de tiempo de ejecución de CompSS, para obtener más información sobre los trabajos en ejecución. ZABBIXDIRECTDBDATASOURCEADAPTOR: este conector que accede directamente a la base de datos Zabbix para la información que requiere. Este adaptador utiliza el archivo de configuración Energy-Modeller-DB-Zabbix.Properties.
WattsupmeterDataSourceAdaptor: para el uso local del modelador de energía.
Cabe señalar que la ventana de observación no debe ser demasiado pequeña, especialmente durante el uso de los adaptadores de fuente de datos de Zabbix, que pueden proporcionar menos puntos de datos que el WattsupmeterDataSourceAdaptor, este último pudo informar a un intervalo tan bajo como cada segundo.
El predictor que está en uso se puede especificar anteriormente, las opciones son:
Este archivo especifica la configuración del mecanismo de predictor de energía, a continuación se proporciona un ejemplo de dicho archivo:
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
El parámetro de fuente de datos indica cómo el predictor del modelador de energía obtendrá los datos del entorno que necesita. Puede ser una de las opciones, especificadas anteriormente.
El predictor de energía puede utilizar varias funciones diferentes del estimador de carga de trabajo. El valor predeterminado es utilizar el CPURECENTIORYWorkloadPredictor. Esto tiene la siguiente configuración de configuración.
El parámetro Default_Load indica qué carga debe usar el predictor como estimación. Debe especificarse en el rango 0..1. Una alternativa es proporcionarle el valor -1, en el que se debe usar la carga de corriente observada.
En el caso en que se usa la carga de corriente del observador, los parámetros Observe_Time.Min y Observe_Time.Sec se utilizan para indicar el tamaño de la ventana de observación para la utilización de la CPU. Los dos valores simplemente se suman para hacer el tiempo total de la ventana de observación. El tamaño de la ventana de observación predeterminado es de 15 minutos.
Las otras opciones para la predicción de la carga de trabajo que se pueden usar cuando el modelador de energía está configurado para máquinas virtuales. Estos son:
Estos predictores trabajan en información de carga histórica. Cada VM se puede etiquetar con información información básica sobre la aplicación para la VM y la imagen de disco en la que se basa. Predictores de carga de trabajo de CPU promedio: proporcione una estimación de la carga de trabajo en función de la utilización promedio de la CPU para una etiqueta de aplicación dada o imagen de disco base. Predictores de carga de trabajo promedio de arranque: proporcione una estimación de la carga de trabajo en función del tiempo desde el arranque de una VM para una etiqueta de aplicación dada o imagen de disco base. Día de la semana (Dow) Predictores de carga de trabajo: proporcione una estimación de la carga de trabajo en función de la hora y el día de la semana que una VM está activa para una etiqueta de aplicación dada o imagen de disco base.
Este archivo de configuración se utiliza para configurar el modelador de energía cuando se usa CollectDinFluxDBDataSourCeadaptor, TangoremoteprocessingDataSourCeAdaptor o adaptadores TanGoenvironmentDataSourCeadaptor. Mantiene la configuración de conexión de la base de datos utilizada para conectarse directamente a la base de datos 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
Esto incluye especificar la URL de conexión del host y el nombre de la base de datos junto con detalles de conexión como el nombre de usuario y la contraseña.
Este es el archivo de configuración utilizado para configurar el modelador de energía cuando se usa ZabBixDirectDBDataSourCeadaptor. Mantiene la configuración de conexión de la base de datos utilizada para conectarse directamente a la base de datos 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
Esto incluye especificar el nombre de usuario y la contraseña de la base de datos para que el modelador de energía se conecte directamente con la base de datos Zabbix. Esto también incluye información como la URL de conexión, el controlador para usar, el nombre de usuario y la contraseña para usar.
El modelador de energía funciona con los siguientes componentes: