Princípio: Eficiência energética

Concluído

O conteúdo deste vídeo ainda é válido, mas os números principais podem diferir devido à renumeração de princípio da Green Software Foundation.

Eletricidade e carbono

A maioria das pessoas pensa que a eletricidade é limpa. Quando ligamos algo a uma parede, as nossas mãos não ficam sujas e os nossos portáteis não precisam de tubos de escape. No entanto, a verdade é que a maior parte da eletricidade é produzida através da queima de combustíveis fósseis (geralmente carvão) e o fornecimento de energia é a causa mais significativa da emissão de carbono.

Como podemos traçar uma linha direta entre a eletricidade e as emissões de carbono, podemos considerar a eletricidade como um dos substitutos para o carbono.

Desde as aplicações em execução no seu smartphone até ao treino de modelos de aprendizagem automática executados em centros de dados, todo o software consome eletricidade na sua execução. Uma das melhores maneiras de reduzir o consumo de eletricidade e as subsequentes emissões de poluição de carbono do nosso software é tornar as nossas aplicações mais eficientes em termos energéticos.

Este conhecimento é por isso que um princípio chave da Engenharia de Software Sustentável é construir aplicações que sejam energeticamente eficientes.

Como engenheiros sustentáveis, precisamos entender a eletricidade. A nossa viagem não começa com o computador; Começa com a forma como é feita a eletricidade que alimenta os nossos computadores.

Energia vs. potência

A energia mede a quantidade de eletricidade utilizada; a unidade padrão para Energia é Joules ou J. No entanto, quilowatts-hora ou kWh é outra forma comum de se referir ao consumo de energia.

A eletricidade é frequentemente relatada como Energia ou Energia, que são dois conceitos diferentes:

Energia = Potência ✕ Tempo

  • Energia é a quantidade total de eletricidade utilizada; a unidade padrão para Energia é Joules ou J.

  • Potência é a taxa de eletricidade consumida por unidade de tempo; a unidade padrão de potência é Watt ou W. Um único watt é de 1 Joule por segundo.

Uma forma comum de se referir ao consumo de energia é a potência ao longo de uma unidade de tempo, como watts-segundos ou quilowatts-hora. Por exemplo:

  • 20 Watt-segundos ou 20 Ws é a quantidade de energia que você obteria se 20 W fosse executado por um segundo. Como 1 Watt é 1 Joule por segundo, este valor é de 20 Joules.

  • 20 Kilowatt-hora ou 20 kWh é a energia que você obteria se 20.000 Watts funcionassem por uma hora.

    Energy = 60 X 60 X 20,000 = 72,000,000 Joules = 72 Megajoules (72 MJ)

Proporcionalidade energética

A utilização mede a quantidade de recursos de um computador que está sendo usada, que normalmente é representada como uma porcentagem. Um computador ocioso tem uma baixa porcentagem de utilização e não está sendo utilizado. Um computador rodando em sua capacidade máxima tem uma alta porcentagem e está sendo totalmente utilizado.

A proporcionalidade energética é uma medida da relação entre a energia consumida num sistema informático e a velocidade a que o trabalho útil é realizado (a sua utilização). Se o consumo total de energia é proporcional à utilização do computador, então é proporcional à energia.

Num sistema proporcional à energia, a eficiência energética é uma constante; independentemente da utilização, a eficiência energética permanece a mesma. No entanto, a eficiência energética do hardware não é constante. Varia de acordo com o contexto. Devido às interações complexas de muitos componentes diferentes do dispositivo de hardware, ele pode ser não linear, o que significa que a relação entre potência e utilização não é proporcional.

Diagram showing power versus utilization.

A 0% de utilização, o computador ainda desenha, a 50% de utilização, desenha, e a 100% de utilização, desenha100 W180 W200 W. A relação entre consumo e utilização de energia não é linear e não cruza a origem.

Devido a essa relação, quanto mais você utiliza um computador, mais eficiente ele se torna na conversão de eletricidade em operações de computação úteis. Executar seu trabalho no menor número possível de servidores com a mais alta taxa de utilização maximiza sua eficiência energética.

Consumo de energia estático

Existem várias razões para esta falta de proporcionalidade energética, uma das quais é o consumo de energia estática.

Um computador ocioso, mesmo com zero por cento de utilização, ainda consome eletricidade. Esse consumo de energia estático varia de acordo com a configuração e os componentes de hardware, mas todos os componentes têm algum consumo de energia estático. Esse potencial consumo de energia é uma das razões pelas quais PCs, laptops e dispositivos móveis têm modos de economia de energia disponíveis. Se o dispositivo estiver ocioso, ele eventualmente aciona um modo de hibernação, que coloca o disco e a tela em suspensão, ou até mesmo altera a frequência da CPU. Esses modos de economia de energia economizam eletricidade, mas têm outras compensações, como uma reinicialização mais lenta quando o dispositivo é ativado.

Normalmente, os servidores não são configurados para economia de energia agressiva ou mesmo mínima. Muitos casos de uso de servidor exigem capacidade total o mais rápido possível em resposta a demandas em rápida mudança. Esse cenário pode deixar muitos servidores no modo ocioso durante períodos de baixa demanda. Um servidor ocioso tem um custo tanto do carbono incorporado quanto de sua utilização ineficiente.

Velocidade do relógio

A velocidade do relógio (frequência) é a velocidade de funcionamento de um computador ou do seu microprocessador, expressa em ciclos por segundo (megahertz). Os dispositivos de consumo geralmente ajustam dinamicamente a velocidade do relógio dos dispositivos de computação para alcançar mais proporcionalidade energética.

A velocidade do relógio indica a rapidez com que um computador pode executar instruções.

A eficiência energética dos microprocessadores muda com a velocidade do clock; As velocidades de relógio elevadas são frequentemente menos eficientes do ponto de vista energético do que as velocidades de relógio baixas. Por exemplo, no sistema I7-3770K, você pode executar em 3.5 GHz para , ou cerca 5 GHz de para 175 W50 W. Um aumento aproximado de 40% na velocidade do relógio requer >um aumento de potência de 3✕ .

Reduzir a velocidade do relógio em momentos de baixa utilização pode aumentar a eficiência energética, maximizando assim a eficiência energética do hardware.