© University of Leeds 2016
O Tango Energy Modeller (EM) é um componente do projeto europeu Tango (http://tango-project.eu).
O EM é distribuído sob uma licença Apache, versão 2.0.
O modelador de energia é responsável por relatar o uso atual e histórico de energia de aplicações. Apresenta a capacidade de prever o consumo de energia e energia de aplicações no futuro, com a intenção de fornecer informações que orientam o comportamento adaptativo da arquitetura do tango.
Este guia é dividido em dois guias diferentes, um específico para a compilação do modelador de energia e o segundo sobre como executar e configurar o modelador de energia.
Os dois primários dos dois pré -requisitos do modelador de energia são:
Para compilar o modelador de energia, as etapas a seguir devem ser executadas:
Os relatórios do Sonar Cloud para este projeto estão disponíveis em: https://sonarcloud.io/dashboard?id=eu.tango%3aenergy-modeller
Nesse caso, vamos detalhar como executar o aplicativo em seu modo independente, destinado a ser usado para coletar dados para os modelos de energia. O segundo modo de operação O modelador de energia é usado como um subcomponente de outro, como o gerente de auto-adaptação, com a intenção de ser usado como modelador.
O modelador de energia também é altamente configurável e possui vários arquivos que podem ser usados para alterar seu comportamento. O modelador de energia possui os seguintes arquivos de configurações para alcançar essas alterações:
Energy-Modeller.Properties: mantém a configuração básica especificando qual fonte de dados e preditores usarem.
Energy-Modeller-DB.Properties: mantém informações de banco de dados para o modelador de energia.
Energy-Modeller-Predictor.Properties: mantém configurações relacionadas à previsão do uso de energia.
Energy-Modeller-Influx-DB-Config.properties: mantém configurações sobre como se conectar diretamente ao banco de dados do InfluxDB do ConnectD, caso o colecionadorDinfluxDBDataSoruceadaptor, TanGoremoteProcessingDataSourceadaptor, TannoEnvironmentDataSourCeadApTor no uso. O TangoAnvironmentDataSourCeAdaptor é o conjunto de dados padrão em uso.
Energy-Modeller-DB-Zabbix.properties: mantém informações sobre como se conectar diretamente ao banco de dados ZabBix, caso o ZabbixDirectDBDataSourCeAdaptor esteja em uso.
Essas configurações devem ser adaptadas à infraestrutura específica. As configurações são descritas abaixo e um exemplo das configurações é fornecido para referência.
Este arquivo especifica várias configurações relacionadas ao banco de dados para o modelador de energia. Um exemplo é fornecido abaixo:
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
Isso inclui especificar o nome de usuário e a senha do banco de dados para o modelador de energia se conectar ao seu banco de dados em segundo plano. Isso inclui informações como o URL da conexão, o driver para usar e o nome de usuário e a senha para usar. O script SQL para configurar a estrutura do banco de dados é mantido no arquivo IAAS Energy Modeller DB.SQL. É mantido sob o diretório {Diretório raiz de energia-modeladora} src main Resources.
energy.modeller.datasource = SlurmDataSourceAdaptor
energy.modeller.predictor = CpuAndAcceleratorEnergyPredictor
O parâmetro da fonte de dados indica como o modelador de energia ganhará os dados do ambiente necessários. Pode ser uma das seguintes opções:
CollectDinfluxDBDataSourCeadaptor: Este conector que acessa diretamente o banco de dados do InfluxDB do CollectD para as informações necessárias. Este adaptador utiliza o arquivo de configuração Energy-Modeller-Influx-db-config.properties.
Slurmdatasourceadaptor: Este é um adaptador que conecta o modelador de energia a um ambiente baseado em gerenciamento de empregos SLURM. Permitindo acesso a informações sobre o host físico.
TangoambironmentDataSourCeadaptor: Isso faz uso tanto o Slurmdatasourceadaptor quanto o colecionDInfluxDBDataSourceadaptor.
TanGoremoteProcessingDataSourCeadaptor: Isso faz uso do CollectDinfluxDBDataSourCeadaptor e se conecta adicionalmente ao ambiente de tempo de execução do COMPSS, para obter mais informações sobre a execução de trabalhos. ZabbixDirectDBDataSourCeadaptor: Este conector que acessa diretamente o banco de dados ZabBix para as informações necessárias. Este adaptador utiliza o arquivo de configuração Energy-Modeller-db-zabbix.properties.
WattsupMeterDatasourCeadaptor: para o uso local do modelador de energia.
Deve -se notar que a janela de observação não deve ser muito pequena, especialmente durante o uso dos adaptadores de fonte de dados do Zabbix, que podem fornecer menos pontos de dados do que o WattsupMeterDataRceadaptor, este último conseguiu relatar em um intervalo tão baixo quanto a cada segundo.
O preditor que está em uso pode ser especificado acima, as opções são:
Este arquivo especifica as configurações do mecanismo do preditor de energia, um exemplo desse arquivo é fornecido abaixo:
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
O parâmetro da fonte de dados indica como o preditor do modelador de energia ganhará os dados do ambiente necessários. Pode ser uma das opções, especificada anteriormente.
O preditor de energia pode utilizar várias funções diferentes do estimador da carga de trabalho. O padrão é usar o cpureCentHistoryWorkLoadPredictor. Isso possui as seguintes definições de configuração.
O parâmetro default_load indica qual carga o preditor deve usar como uma estimativa. Deve ser especificado no intervalo 0..1. Uma alternativa é fornecer o valor -1, no qual o padrão é o uso da carga atual observada.
No caso em que a carga de corrente do observador está sendo usada, o observe_time.Min e o observe_time.sec Os parâmetros são usados para indicar o tamanho da janela de observação para a utilização da CPU. Os dois valores são simplesmente adicionados para tornar o tempo total da janela de observação. O tamanho da janela de observação padrão é de 15 minutos.
As outras opções para previsão da carga de trabalho que podem ser usadas quando o modelador de energia é configurado para máquinas virtuais. Estes são:
Esses preditores trabalham sobre informações históricas de carga. Cada VM pode ser marcada com informações básicas sobre o aplicativo para o qual a VM é e a imagem de disco em que se baseia. Preditores médios de carga de trabalho da CPU: forneça uma estimativa da carga de trabalho com base na utilização média da CPU para uma determinada tag de aplicativo ou imagem de disco base. Preditores médios de carga de trabalho de inicialização: forneça uma estimativa da carga de trabalho com base na hora da inicialização de uma VM para uma determinada tag de aplicativo ou imagem de disco base. Preditores de carga de trabalho do Dia da Semana (DOW): forneça uma estimativa da carga de trabalho com base na hora e no dia da semana em que uma VM está ativa para uma determinada tag de aplicativo ou imagem de disco base.
Este arquivo de configuração é usado para configurar o modelador de energia ao usar o colecionDInfluxDBDataSourCeadaptor, o tangoremoteProcessingDataSourceadaptor ou os adaptadores de tangoeNvironmentDataSourCeadAptor. Ele mantém as configurações de conexão do banco de dados usadas para se conectar diretamente ao banco de dados do colecionador 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
Isso inclui especificar o URL da conexão do host e o nome do banco de dados, juntamente com detalhes de conexão, como o nome de usuário e a senha.
Este é o arquivo de configuração usado para configurar o modelador de energia ao usar o zabbixDirectDBDataSourCeadaptor. Ele contém as configurações de conexão do banco de dados usadas para se conectar diretamente ao banco de dados 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
Isso inclui especificar o nome de usuário e a senha do banco de dados para o modelador de energia para se conectar diretamente ao banco de dados Zabbix. Isso também inclui informações como o URL da conexão, o driver para usar, o nome de usuário e a senha para usar.
O modelador de energia trabalha com os seguintes componentes: