Princípio: Eficiência energética
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 em execução 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 é normalmente comunicada como Potência 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 nos referirmos ao consumo de energia é Potência sobre uma unidade de Tempo, como Watt-segundos ou Quilowatts-horas. Por exemplo:
20 Watt-segundos ou
20 Ws
é a quantidade de energia que você obteria se20 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 de energia é uma medida da relação entre a energia consumida num sistema de computador e a taxa em que o trabalho útil é realizado (a respetiva 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.
A 0% de utilização, o computador ainda desenha 100 W
, a 50% de utilização, desenha 180 W
, e a 100% de utilização, desenha 200 W
. A relação entre consumo de energia e utilização não é linear e não cruza a origem.
Devido a esta relação, quanto mais utilizar um computador, mais eficiente será a conversão de eletricidade em operações de computação úteis. Executar o seu trabalho no mínimo de servidores possível com a taxa de utilização mais elevada maximiza a eficiência de energia.
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. Este 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. Este consumo de energia potencial é um dos motivos pelos quais os PCs, os computadores portáteis e os dispositivos móveis têm modos de poupança 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 inativo tem um custo de carbono incorporado e a respetiva utilização ineficiente.
Velocidade do relógio
A velocidade do relógio (frequência) é a velocidade operacional de um computador ou do respetivo microprocessador, expresso 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 50 W
, ou cerca 5 GHz
de para 175 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.