© University of Leeds 2016
Tango Energy Modeller (EM) ist ein Bestandteil des europäischen Projekts Tango (http://tango-project.eu).
EM wird unter einer Apache -Lizenz verteilt, Version 2.0.
Der Energiemodeller ist für die Berichterstattung über den aktuellen und historischen Energieverbrauch von Anwendungen verantwortlich. Es bietet die Möglichkeit, in Zukunft den Strom und den Energieverbrauch von Anwendungen zu prognostizieren, um Informationen bereitzustellen, die das adaptive Verhalten der Tango -Architektur leiten.
Diese Anleitung ist in zwei verschiedene Leitfäden unterteilt, eine spezifisch für die Zusammenstellung des Energiemodellers und den zweiten zum Ausführen und Konfigurieren des Energiemodellers.
Die beiden primären Voraussetzungen des Energiemodellers sind:
Um den Energiemodell zu kompilieren, müssen die folgenden Schritte durchgeführt werden:
Die Sonar Cloud-Berichte für dieses Projekt finden Sie unter: https://sonarcloud.io/dashboard?id=eu.tango%3aenergy-modeller
In diesem Fall werden wir detailliert beschreiben, wie die Anwendung im eigenständigen Modus ausgeführt wird, der zum Sammeln von Daten für die Energiemodelle verwendet werden soll. Die zweite Art des Betriebs Der Energiemodeller wird als Unterkomponente eines anderen verwendet, wie der Selbstverwaltungsmanager, mit der Absicht, als Modeller verwendet zu werden.
Der Energiemodeller ist auch sehr konfigurierbar und verfügt über mehrere Dateien, mit denen sein Verhalten geändert werden kann. Der Energiemodeller verfügt über die folgenden Einstellungsdateien, um diese Änderungen zu erreichen:
Energy-Modeller.Properties: Hält grundlegende Konfiguration, in der angegeben wird, welche Datenquelle und Prädiktor verwendet werden sollen.
Energy-Modeller-DB.Properties: Hält Datenbankinformationen für den Energiemodell.
Energy-Modeller-Vorbereitungsvorhersagen.Properties: Hält Einstellungen in Bezug auf die Vorhersage des Energieverbrauchs.
Energy-Modeller-influx-db-config.Properties: Hält Einstellungen zur direkten Verbindung zu ConnectDs InfluxDB-Datenbank. Der TangoEnvironmentDataSourceadaptor ist die verwendete Standarddatenquelle.
Energy-Modeller-DB-Zabbix.Properties: Hält Informationen zur direkten Verbindung zur ZABBIX-Datenbank direkt, falls das ZABBIXDIRECTDBDATASORCEADAPTOR verwendet wird.
Diese Einstellungen müssen auf die spezifische Infrastruktur zugeschnitten sein. Die Einstellungen werden nachstehend beschrieben und ein Beispiel für die Einstellungen wird als Referenz bereitgestellt.
Diese Datei gibt verschiedene datenbankbezogene Einstellungen für den Energiemodeller an. Nachfolgend finden Sie ein Beispiel:
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
Dies beinhaltet die Angabe des Datenbank -Benutzernamens und des Kennworts für den Energiemodeller, um eine Verbindung zu seiner Hintergrunddatenbank herzustellen. Dies umfasst Informationen wie die Verbindungs -URL, den zu verwendenden Treiber und den zu verwendenden Benutzernamen und das zu verwendende Kennwort. Das SQL -Skript zum Einrichten der Datenbankstruktur wird in der Datei IaaS Energy Modeller db.sql enthalten. Es wird im Verzeichnis {Energy-Modeller Root Directory} src main Resources gehalten.
energy.modeller.datasource = SlurmDataSourceAdaptor
energy.modeller.predictor = CpuAndAcceleratorEnergyPredictor
Der Parameter der Datenquelle gibt an, wie der Energiemodeller die von ihm benötigten Umgebungsdaten erhält. Es kann eine der folgenden Optionen sein:
CollectDinFluxDBDataSourceAdaptor: Dieser Connector, der direkt auf Collectds InfluxDB -Datenbank zugreift, um die von ihnen erforderlichen Informationen zu erhalten. Dieser Adapter verwendet die Konfigurationsdatei Energy-Modeller-Influx-DB-config.properties.
SLURMDATASORCEADAPTOR: Dies ist ein Adapter, der den Energiemodellier mit einer Umgebung mit dem Arbeitsplatzmanagement in Slurm verbindet. Ermöglichen Sie den Zugriff auf Informationen über den physischen Host.
TangoenvironmentDataSourceadaptor: Dies verwendet sowohl den SlurrmdatasourceAtaptor als auch den CollectDinfluxDBDataSourceadaptor.
TangoremoteProcessingDataSourceadaptor: Dies nutzt die CollectDinFluxDBDataSourceAdaptor und verbindet zusätzlich die Rennzeitumgebung mit CompsS -Laufzeit, um weitere Informationen über den Betrieb von Jobs zu erhalten. ZABBIXDIRECTDBDATASOURCEADAPTOR: Dieser Anschluss, der direkt auf die ZABBIX -Datenbank zugreift, um die erforderlichen Informationen zu erhalten. Dieser Adapter verwendet die Konfigurationsdatei Energy-Modeller-DB-Zabbix.Properties.
WattsupmeterDataSourceAdaptor: Für die lokale Verwendung des Energiemodellers.
Es ist zu beachten, dass das Beobachtungsfenster nicht zu klein sein sollte, insbesondere während der Verwendung der Zabbix -Datenquellenadapter, die möglicherweise weniger Datenpunkte als das WattsupMeterDataSourceAdaptor liefern, wobei letztere in einem Intervall so niedrig wie jede Sekunde berichten konnten.
Der verwendete Prädiktor kann oben angegeben werden, die Optionen sind:
Diese Datei gibt Einstellungen für den Energieprädiktormechanismus an. Im Folgenden finden Sie ein Beispiel für eine solche Datei:
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
Der Datenquellenparameter gibt an, wie der Prädiktor des Energiemodellers die erforderlichen Umgebungsdaten erhält. Es kann eine der zuvor angegebenen Optionen sein.
Der Energieprädiktor kann verschiedene Funktionen für den Workload -Schätzer nutzen. Die Standardeinstellung besteht darin, den CPureCenthistoryworkLoadPredictor zu verwenden. Dies hat die folgenden Konfigurationseinstellungen.
Der Parameter Standard_Load gibt an, welches Last der Prädiktor als Schätzung verwendet wird. Es sollte im Bereich 0..1 angegeben werden. Eine Alternative besteht darin, ihm den Wert -1 bereitzustellen, in dem sie standardmäßig die beobachtete Stromlast verwendet.
In dem Fall, in dem die Beobachterstromlast verwendet wird, werden die Parameter der Beobachterung und der Beobachtung_time verwendet, um die Größe des Beobachtungsfensters für die CPU -Nutzung anzuzeigen. Die beiden Werte werden einfach zusammengefügt, um die Fensterzeit der Gesamtbeobachtung zu veranlassen. Die standardmäßige Beobachtungsfenstergröße beträgt 15 Minuten.
Die anderen Optionen für die Workload -Vorhersage, die verwendet werden können, wenn der Energiemodeller für virtuelle Maschinen konfiguriert ist. Diese sind:
Diese Prädiktoren arbeiten an historischen Ladungsinformationen. Jede VM kann mit Informationen grundlegender Informationen zur Anwendung markiert werden, für die VM und das Festplattenbild basieren. Durchschnittliche CPU -Workload -Prädiktoren: Geben Sie eine Schätzung der Arbeitsbelastung an, basierend auf der durchschnittlichen CPU -Auslastung für ein bestimmtes Anwendungs -Tag oder ein Basisdiskette. Durchschnittliche Start -Workload -Prädiktoren: Geben Sie eine Schätzung der Arbeitsbelastung an, die auf dem Zeitpunkt des Starts eines VM für ein bestimmtes Anwendungs -Tag oder ein Basisscheibenbild basiert. DAY of Week (DOW) Workload -Prädiktoren: Geben Sie eine Schätzung der Arbeitsbelastung an, basierend auf dem Zeitpunkt und dem Tag der Woche, an dem ein VM für ein bestimmtes Anwendungs -Tag oder Basisdiskakting aktiv ist.
Diese Konfigurationsdatei wird verwendet, um den Energiemodeller zu konfigurieren, wenn die CollectdinfluxDBDataSourceAdaptor, TangoremoteProcessingDataSourceAntor oder TangoenvironmentDataSourceadaptor -Adapter verwendet werden. Es hält die Datenbankverbindungseinstellungen, mit denen eine Verbindung zum CollectD InfluxDB -Datenbank hergestellt wird.
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
Dies umfasst das Angeben des Hostverbindungs -URL- und Datenbanknamens sowie Verbindungsdetails wie Benutzername und Passwort.
Dies ist die Konfigurationsdatei, mit der der Energiemodeller bei der Verwendung des ZabbixDirectDBDataSourceadaptor konfiguriert wird. Es enthält die Datenbankverbindungseinstellungen, die verwendet werden, um eine direkte Verbindung zur ZABBIX -Datenbank herzustellen.
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
Dies beinhaltet die Angabe des Datenbank -Benutzernamens und des Kennworts, damit der Energiemodeller direkt mit der ZABBIX -Datenbank herstellen kann. Dies umfasst auch Informationen wie die Verbindungs -URL, den zu verwendenden Treiber, den zu verwendenden Benutzernamen und das zu verwendende Kennwort.
Der Energiemodeller arbeitet mit den folgenden Komponenten: