Open eduardogomescampos1 opened 9 months ago
Em primeiro momento, objetiva-se avaliar se o consumo da parte de background é constante durante todo o teste. Inicialmente, propôs-se uma carga constante durante 6 minutos, e os resultados são evidenciados na imagem a seguir:
Em primeiro momento, o consumo aparenta ser constante, mas um olhar mais criterioso evidencia que o consumo saiu de 5.15W para 5.76W (um aumento de aproximadamente 10%). Nesse caso, sugere-se a possibilidade do consumo do processo aumentar ao longo do tempo independentemente da competição. A fim de comprovar (ou falsear) essa hipótese, o teste será expandido para 30 minutos ao invés de 6 minutos.
Ao executar a versão mais longa do teste, observou-se que os valores iniciais de potência representam os reais outliers. Durante praticamente todo o experimento, observou-se que a potência oscilou entre 5.62W e 5.85W, o que representa uma variação de apenas 5% e que independe do tempo (para 30 minutos).
Imagem do teste
Dessa vez executamos o mesmo teste anterior, mas adicionamos uma carga para concorrer pelos recursos. Ao final do experimento, novamente observou-se um aumento do consumo de energia, o que fortalece a hipótese incial.
(Ignorar trecho roxo, foi resultado de um experimento malsucedido)
Na imagem, o primeiro trecho laranja representa a execução anterior do experimento. É notável como no segundo trecho laranja (em que há disputa por recursos) a potência é maior, oscilando entre 6.96W e 7.16W. Nesse caso, obteve-se um aumento relativo de aproximadamente 23%.
Obs: essa porcentagem foi obtida pela média dos valores máximo e mínimo de potência obtido após a estabilização do consumo e não é uma métrica adequada, é apenas para se obter uma noção de valores
A fim de averiguar a funcionalidade da ferramenta experiment_manager.py proposta como forma de configuração e execução de experimentos, foi configurado um experimento de maior complexidade. Ele se resume a 10 iterações de um sub_experimento dividido em 3 etapas, configuradas da seguinte forma:
Parte 1: Ao lado de uma carga constante (constant_load executando a função sqrt()), uma carga oscilante (executando em 15 instâncias a função sync()) será executada.
Parte 2: Apenas a carga constante será executada
Parte 3: Ao lado de uma carga constante (constant_load executando a função sqrt()), uma carga oscilante (executando em 5 instâncias a função sync()) será executada.
A ideia principal é avaliar o efeito das cargas oscilantes sobre a carga constante em um espaço amostral mais relevante para que conclusões mais corretas possam ser tomadas. O script em python utilizado para a execução do experimento está disponível em https://github.com/Adnei/slicing_over_kubernetes/blob/main/experiment_manager.py.
Seguem algumas imagens da dashboard do Grafana compreendendo todo o experimento:
1- Consumo de energia do worker2 ao longo dos 10 ciclos do experimento
Consumo de energia da carga constante ao longo dos 10 ciclos de experimento
Consumo de CPU do worker2 ao longo dos 10 ciclos de experimento
Consumo de CPU da carga constante ao longo dos 10 ciclos de experimento
Os próximos passos dos testes consistem em diversificar o leque de testes e exportar os arquivos do Grafana para que uma análise estatística mais adequada seja feita para a construção de um modelo entre energia e consumo de CPU.
EM PRIMEIRO MOMENTO, a relação entre consumo de CPU e aumento do consumo de energia não parece ter um comportamento linear. Com isso, existe a possibilidade de tentar realizar um teste de regressão em parâmetros não lineares, vide exemplo:
Possivelmente (para haver uma formalização matemática mais correta da validade da regressão), deveremos fazer testes de hipótese manuais para dar validade à regressão utilizada. Entretanto, existem bibliotecas que permitem o fornecimento dos parâmetros adequados para a regressão, como no link: https://saturncloud.io/blog/nonlinear-regression-with-python-a-simple-method-to-fit-your-data-better/#fitting-nonlinear-regression-models-in-python.
Link de repositório contando um template interessante para os testes estatísticos interessantes: https://github.com/leaot/statistics/blob/main/faithful.py e vídeo de explicação: https://www.youtube.com/watch?v=ePzwCGbt7dw
A fim de tentar construir um modelo matemático que permitisse a estimação precisa do consumo de energia de um determinado processo em função da competição que este enfrenta pelos recursos, foi proposto um teste em que uma carga constante enfrentava, gradualmente, competições cada vez mais intensas por recursos. Nossa carga constante era uma instância executando a função sqrt(), ao passo que sua competição era entre 0-15 instâncias rodando a função sync() em caráter periódico (executa por 1 min, 'sleep' por 1 min). Inicialmente, é fundamental evidenciar um pressuposto básico, o que uma carga constante tem consumo constante, o que pode ser comprovado a seguir:
O teste foi executado por 8 vezes e esses foram os resultados principais:
Consumo de CPU do máquina analisada (worker2) ao longo de todo o experimento
Consumo de CPU do processo constante ao longo de todo o experimento
Potência consumida pela máquina analisada (worker2) ao longo de todo o experimento
Potência consumida pelo processo constante ao longo de todo o experimento
Esse crescimento gradual das métricas está associada ao aumento gradativo da carga de competição pelos recursos. Após a obtenção dos dados, objetivou-se obter um modelo estatístico para a previsão de consumo de energia em função da competição. Nesse contexto, criou-se uma W(x), em que W(x) em que W é a potência em função de x (consumo da CPU por elementos competidores). Após uma plotagem dos pontos, foram propostas (empiricamente), funções que se adequavam aos dados obtidos. Por fim, optou-se pela raiz quarta, e a seguinte regressão foi obtida:
Regressão não linear obtida entre as grandezas
A estatística t calculada dessa regressão foi de 111.5, indicando um elevadíssimo grau de explicabilidade do comportamento da potência por meio dessa função. Dessa forma, para cargas de perfis constantes e de intensidade como proposta, é possível fazer previsões no tocante a seu consumo de energia em função do percentual de CPU sendo usada.
Além disso, também buscou-se entender o consumo de energia do computador em função de seu consumo de CPU. Ainda que a literatura (de forma geral) considere que essa relação tenha um caráter linear, nossos resultados sugerem que esse modelo não é o mais adequado para a descrição desse comportamento, como vide a seguir:
Inicialmente, decidimos propor que essa relação era linear, e obtivemos os seguintes resultados:
Proposição linear da relação entre grandezas
Com a execução desse teste, obtivemos que a estatística t calculada era de 57.13, o que, de fato, indica um ótimo grau de explicabilidade do comportamento por meio dessa função. Entretanto, especialmente para valores próximos de 0, era perceptível um considerável erro entre os valores medidos e os da reta.
Em razão disso, decidimos retomar o método de chutar raízes empiricamente e, dessa vez, a que apresentou melhores resultados foi a raiz cúbica, vide gráfico a seguir:
Proposição não-linear entre as grandezas
Dessa vez, a estatística t calculada retornou 85.12, indicando que esse modelo tem maior capacidade de explicar o comportamento entre as duas grandezas em comparação à associação linear entre elas.
Por fim, a fim de propor uma explicação para esse intrigante comportamento do consumo de energia do processo subir em função do fato de estar disputando recursos, levantou-se a possibilidade desse fato estar associado ao aumento da frequência do processador em situações de lidar com a disputa por recursos. Nesse contexto, foram obtidas as informações da frequência de CPU ao longo do teste:
Frequência do processador imediatamente antes e durante todo o teste
Entretanto, rapidamente descobrimos que essas grandezas tem uma relação completamente desprezível:
Tentativa de regressão entre os dois parâmetros analisados
Nesse caso, facilmente observa-se como não existe uma interação entre essas grandezas.
Agora, objetiva-se transferir esse teste para outros nós (e assim verificar se o comportamento se mantém) e verificar se uma carga teste oscilante também possuirá o mesmo perfil de consumo (para validar o teste de uma carga constante para cargas mais complexas)
Em seguida, executou-se um teste semelhante ao proposto anteriormente (uma carga analisada tendo seu consumo de energia avaliado no tocante a competição de recursos), mas, dessa vez, optou-se por utilizar uma carga que oscila com o tempo, a fim de validar a hipótese que, independente do perfil da carga, ela seguirá a tendência de respeitar aproximadamente o comportamento de uma função quadrática. Inicialmente, é importante salientar que esse novo teste adicionou uma nova variável, o consumo de CPU do processo de análise em si, portanto, o problema, teoricamente poderia ser graficado dessa forma:
No entanto, afim de obter um resultado passível de ser comparado aos resultados anteriores, decidiu-se por realizar um "corte no gráfico" em "Consumo de CPU pelo processo"= 25%, reduzindo a dimensão do problema para 2, de modo a poder analisá-lo face às conclusões antecedentes.
Executado o teste, essa foi a regressão obtida foi:
Novamente, a função mais adequada foi a raiz quarta, e, em comparação ao resultados anteriores, seus parâmetros A e B (de A + B*x^(1/4)) estão muito próximos (erros relativos de 4,2% e 3%, respectivamente). Portanto, em primeiro momento, existem evidências que corroboram a hipótese inicial.
OBS: NOSSO SISTEMA DE MONITORAMENTO SOFREU UMA PANE GRAVÍSSIMA DA MADRUGADA DO DIA 21/22 DE MARÇO, DE MODO QUE PERDEMOS DADOS IMPORTANTÍSSIMOS PARA ILUSTRAR NOSSAS CONCLUSÕES :(. EM FUNÇÃO DISSO, A PARTIR DESSE MOMENTO, A ANÁLISE SERÁ MAIS SIMPLÓRIA QUE O PLANEJADO
Também executamos um teste de progressão de carga (de 5% em 5%) sobre o worker1 para verificar se ele também tinha uma tendência de seguir o perfil de uma raiz cúbica. Entretanto, para nossa surpresa, o comportamento de seu consumo de energia em função do percentual de CPU sendo utilizado foi descrito de maneira mais adequada por meio de uma função linear, como indica a imagem a seguir:
No entanto, é relevante ressaltar que esse teste foi executado sem haver uma disputa relevante por recursos, ou seja, o processo de análise (que crescia gradualmente) era o único a realmente gerar consumo ao host. Nesse contexto, levanta-se a hipótese de esse perfil de consumo (raiz quarta/cúbica) estar atrelado a disputa em si, ao invés de a um comportamento natural da máquina
Dando continuidade às experiências, o próximo passo foi propor um experimento que se aproximasse mais da realidade. Nesse contexto, decidiu-se avaliar o consumo de energia de um processo constante em função da competição por CPU em uma máquina. Para esse teste, estipulou-se uma carga que consume aproximadamente 25% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs. O teste foi executado tanto no worker1 como no worker2. Os resultados serão vistos separadamente.
WORKER1
Em primeiro momento, é fundamental evidenciar que a frequência do processador não causa qualquer tipo de efeito na análise, fato percebido pelo gráfico a seguir que demonstra como esse parâmetro é praticamente constante durante todo o teste:
Ademais, também é relevante evidenciar que, para instantes de uso sem competição, o consumo de energia do processo é praticamente constante.
Assim, seguem os resultados principais do teste:
A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado:
Com a obtenção desses dados, é válido ressaltar algumas informações. Em primeiro momento, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, provavelmente em um cenário de tentativa do pŕoprio processadorde lidar com a elevada carga de trabalho sobre a qual ele foi submetido. Entretanto, com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 24% foi descartado na hora de efetuar a regressão. No tocante à regressão em si, após uma série de testes manuais, percebeu-se que o modelo linear era o mais adequado, visto que retornou os melhores valores para os testes estatísticos executados. Tal resultado apresentou-se como uma surpresa, visto que testes semelhantes anteriores no WORKER2 retornaram funções do tipo raiz.
WORKER2
Novamente, deve-se provar que a frequência do processador tem pouca influência no teste, visto que é praticamente constante:
Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante:
Por fim, seguem os resultados principais do teste:
A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado:
Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 24% foi descartado na hora de efetuar a regressão. Como nas últimas vezes em que o WORKER2 foi submetido a testes semelhantes, novamente a relação do gráfico foi melhor descrito por uma função do tipo raiz (dessa vez, a raiz quadrada se mostrou mais adequada). Nesse contexto, o formato do gráfico aparenta ser extremamente influenciado pelo hardware no qual o teste é executado, o que torna a análise do parâmetro carga do processador mais delicado. No entanto, visando simplicar o processo, tentou-se regredir linearmente os resultados do WORKER2 e os testes estatísticos resultantes indicaram um resultado satisfatório. Portanto, ainda que a explicabilidade seja menor do que utilizando uma função do tipo raiz, ainda é possível representar esse comportamento linearmente:
A fim de prosseguir com as testagens do perfil de consumo de energia no tocante ao hardware, executou-se o exato mesmo experimento em um dos novos nós do cluster, o WORKER3. Para esse teste, estipulou-se uma carga que consume aproximadamente 25% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs. Em primeiro lugar, verificou-se que a frequência do processador era constante durante todo o teste:
Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante:
Por fim, seguem os principais resultados do teste: A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado: Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 24% foi descartado na hora de efetuar a regressão. Para o WORKER3, o consumo de energia do processo em função da competição pelos recursos pode ser representada por uma função do tipo raiz da mesma forma que o WORKER2. Dessa forma, acredita-se que o hardware seja um aspecto primordial na definição do perfil do consumo de energia. Uma relevante hipótese é o fato de os workers 2 e 3 terem a mesma quantidade de cores em seu processador, de modo a levantar a possibilidade de o número de cores ser um fator determinante no perfil de consumo energético. Ainda assim, para fins de simplifação, é estatisticamente possível tomar essa relação como linear. Como vide a seguir: A próxima etapa é avaliar o comportamento no worker4, o qual possui 6 cores. É de interesse observar qual será o comportamento da energia nesse caso
A fim de prosseguir com as testagens do perfil de consumo de energia no tocante ao hardware, executou-se o exato mesmo experimento em um dos novos nós do cluster, o WORKER4. Para esse teste, estipulou-se uma carga que consume aproximadamente 25% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs. Em primeiro lugar, verificou-se que a frequência do processador era constante durante todo o teste:
Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante: Por fim, seguem os principais resultados do teste:
A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado:
Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 15% foi descartado na hora de efetuar a regressão. Para o WORKER4, o consumo de energia do processo em função da competição pelos recursos pode ser representada por uma função linear, tal como o WORKER1. É relevante mencionar que, diferentemente dos WORKERS1, 2 e 3, o W4 tem 6 núcleos em seu processador. Ainda assim, seu perfil de consumo de energia se aproximou do WORKER1, o qual possui 4 núcleos. Dessa forma, é evidente que o hardware possui um papel fundamental na definição do perfil energético de um determinado nó em um contexto de disputa por recursos.
A fim de prosseguir com as testagens do perfil de consumo de energia no tocante ao hardware, executou-se o exato mesmo experimento em um dos novos nós do cluster, o WORKER5 (que possui 8 cores). Para esse teste, estipulou-se uma carga que consume aproximadamente 25% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs. Em primeiro lugar, verificou-se que a frequência do processador era constante durante todo o teste: Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante:
Por fim, seguem os principais resultados do teste:
A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado:
Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 24% foi descartado na hora de efetuar a regressão. Para o WORKER5, o consumo de energia do processo em função da competição pelos recursos pode ser representada por uma função do tipo raiz da mesma forma que o WORKER2 e o WORKER3. Apesar de terem componentes completamente distintos, o fato de os processadores das 3 máquinas mencionadas possuírem o mesmo número de núcleos, aliado ao fato de a função que descreve o consumo de energia do processo das 3 ter erros baixos (no máximo 10% de diferença entre os respectivos coeficientes), dão um considerável indício de que o perfil da dissipação energética de uma máquina está atrelado ao número de cores em seu processador.
Ainda assim, para fins de simplificação, é estatisticamente possível tomar essa relação como linear, ainda que haja perda de precisão. Como vide a seguir:
Dando continuidade às experiências, decidiu-se, a fim de tentar correlacionar o número de cores de um processador à seu perfil de consumo de energia, utilizar 2 máquinas com 8 cores (W2 e W3) e limitá-los a 6 e 4 cores, respectivamente.
WORKER3
Para essa experiência foi proposto que esse computador tivesse 4 de seus 8 núcleos desativados para simular um computador de 4 cores. Para esse teste, estipulou-se uma carga que consume aproximadamente 25% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs.
Em primeiro lugar, verificou-se que a frequência do processador era constante durante todo o teste:
Dando prosseguimento, é relevante mencionar que até tem um certo crescimento de uso de RAM ao longo do experimento, mas o valor é muito pequeno em comparação aos efeitos sobre o processador:
Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante:
Por fim, seguem os principais resultados do teste:
A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado:
Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 24% foi descartado na hora de efetuar a regressão.
Nesse experimento, houve um favorecimento da proposta inicial de que o número de núcleos dos processadores está correlacionado ao perfil do consumo de energia da máquina. Tal fato se deve pois, assim como no W1 que já possuía nativamente apenas 4 núcleos, o W3 limitado a 4 núcleos teve o mesmo perfil de consumo de energia.
WORKER2
Para essa experiência foi proposto que esse computador tivesse 2 de seus 8 núcleos desativados para simular um computador de 6 cores, assim como o W4. Para esse teste, estipulou-se uma carga que consume aproximadamente 17% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs.
Em primeiro lugar, verificou-se que a frequência do processador era constante durante todo o teste:
Dando prosseguimento, é relevante mencionar que até tem um certo crescimento de uso de RAM ao longo do experimento, mas o valor é muito pequeno em comparação aos efeitos sobre o processador:
Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante:
Por fim, seguem os principais resultados do teste:
A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado:
Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 15% foi descartado na hora de efetuar a regressão.
Dessa vez, os resultados vão de encontro com o obtido em um computador nativamente de 6 núcleos (como o W4, que apresentou um comportamento extremamente linear). Dessa forma, pressupõe-se que ou 6 núcleos corresponde a uma "fase de transição" ou realmente outros componentes de hardware constituem fatores importantes na determinação do perfil energético da máquina.
Dando continuidade às experiências, decidiu-se, a fim de tentar correlacionar o número de cores de um processador à seu perfil de consumo de energia, inverter o cenário proposto na experiência anterior. Utilizaremos novamente as 2 máquinas com 8 cores (W2 e W3) mas dessa vez elas serão limitadas a 4 e 6 cores, respectivamente. Além disso, o teste com 4 núcleos será replicado no W5 também (ele originalmente também possui 8 núcleos).
WORKER3
Para essa experiência foi proposto que esse computador tivesse 2 de seus 8 núcleos desativados para simular um computador de 6 cores, assim como o W4. Para esse teste, estipulou-se uma carga que consume aproximadamente 17% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs. Em primeiro lugar, verificou-se que a frequência do processador era aproximadamente constante durante todo o teste: Dando prosseguimento, é relevante mencionar que até tem um certo crescimento de uso de RAM ao longo do experimento, mas o valor é muito pequeno em comparação aos efeitos sobre o processador: Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante: Por fim, seguem os principais resultados do teste: A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado:
Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 15% foi descartado na hora de efetuar a regressão. Esses resultados são parcialmente diferentes dos obtidos ao rodar o experimento no W4, o qual retornou um perfil extremamente linear. Assim como a execução no W2 limitado a 6 núcleos, o perfil energético foi melhor representado por uma raiz. Entretanto, ao efetuar os testes estatísticos para validar a regressão efetuada, os parâmetros obtidos indicaram que, ainda que a função do tipo f(x) = a +b*sqrt(x) represente melhor os pontos obtidos do que uma função linear, essa diferença é menor do que quando se utilizavam 8 núcleos, fato que fortalece a teoria de que 6 núcleos é uma região de transição entre o comportamento da potência dissipada pela máquina.
WORKER2
Para essa experiência foi proposto que esse computador tivesse 4 de seus 8 núcleos desativados para simular um computador de 4 cores. Para esse teste, estipulou-se uma carga que consume aproximadamente 25% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs. Em primeiro lugar, verificou-se que a frequência do processador era constante durante todo o teste: Dando prosseguimento, é relevante mencionar que até tem um certo crescimento de uso de RAM ao longo do experimento, mas o valor é muito pequeno em comparação aos efeitos sobre o processador: Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante: Por fim, seguem os principais resultados do teste: A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado: Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 24% foi descartado na hora de efetuar a regressão. Nesse experimento, houve um favorecimento da proposta inicial de que o número de núcleos dos processadores está correlacionado ao perfil do consumo de energia da máquina. Tal fato se deve pois, assim como no W1 que já possuía nativamente apenas 4 núcleos, o W2 limitado a 4 núcleos teve o mesmo perfil de consumo de energia.
WORKER5
Para essa experiência foi proposto que esse computador tivesse 4 de seus 8 núcleos desativados para simular um computador de 4 cores. Para esse teste, estipulou-se uma carga que consume aproximadamente 25% de CPU e, para simular o instanciamento de VNFs na rede, eram criados pods que executavam uma carga que consumia em torno de 5% do processador. Nesse contexto, além da carga constante, surgiam, gradualmente, de 1 até 15 dessas cargas simuladoras de VNFs. Em primeiro lugar, verificou-se que a frequência do processador era praticamente constante durante todo o teste: Dando prosseguimento, é relevante mencionar que até tem um certo crescimento de uso de RAM ao longo do experimento, mas o valor é muito pequeno em comparação aos efeitos sobre o processador: Além disso, ressalta-se que, para contextos sem competição por recurso, o consumo de energia do processo é praticamente constante: Por fim, seguem os principais resultados do teste: A partir desses dados, foi obtida a regressão entre o consumo de energia do processo e o uso de CPU pela competição do processo analisado: Novamente, é perceptível pelo gráfico temporal de uso de CPU pelo processo que, conforme o processador aproximou-se de 100% de utilização, a utilização da CPU pelo processo analisado caiu, Com o objetivo de tentar estabelecer uma relação entre o consumo do processo "completo" (isto é, utilizando os recursos esperados), qualquer amostra em que o uso de processador do processo era inferior a 24% foi descartado na hora de efetuar a regressão. Mais uma vez, houve um favorecimento da proposta inicial de que o número de núcleos dos processadores está correlacionado ao perfil do consumo de energia da máquina. Tal fato se deve pois, assim como no W1 que já possuía nativamente apenas 4 núcleos, o W5 limitado a 4 núcleos teve o mesmo perfil de consumo de energia, da mesma forma que o W2 e o W3 em suas respectivas execuções.
Em primeiro momento, temos a hipótese que a disputa por recursos computacionais pode acarretar o aumento dp consumo de energia dos processos que disputam tais recursos. Para fazer tal avaliação, será utilizada a ferramenta "stress" a qual é capaz de gerar uma carga ao sistema (inicialmente, com foco no processador). Um experimento teste básico, sugere que tal hipótese é verdadeira.
Conforme é possível notar pela imagem, nos momentos em que há competição de recursos entre a parte principal e de background há um notório aumento de consumo desta. Tal hipótese será avaliada ao longo do experimento.