Principio: Eficiencia energética

Completado

El contenido de este vídeo sigue siendo válido, pero los números de los principios pueden diferir debido a la nueva numeración de principios de la Green Software Foundation.

Electricidad y carbono

La mayoría de la gente cree que la electricidad es limpia. Cuando se enchufa algo a la pared, las manos no se manchan y los portátiles no necesitan tubos de escape. La realidad, sin embargo, es que la mayoría de la electricidad se genera a partir de la quema de combustibles fósiles (carbón, por lo general) y el suministro energético es la causa principal de las emisiones de carbono.

Dado que se puede establecer una conexión directa entre la electricidad y las emisiones de carbono, podemos considerar que la electricidad es uno de los indicadores representativos del carbono.

Desde las aplicaciones que se ejecutan en el smartphone hasta el entrenamiento de los modelos de aprendizaje automático que se ejecutan en centros de datos, todo el software consume electricidad durante su ejecución. Una de las mejores formas de reducir el consumo de electricidad y las posteriores emisiones de carbono de nuestro software es hacer que nuestras aplicaciones tengan una mayor eficiencia energética.

Por este motivo, un principio de la ingeniería de software sostenible es crear aplicaciones con eficiencia energética.

Como ingenieros sostenibles, necesitamos comprender la electricidad. El viaje no comienza en los equipos, sino a partir de cómo se genera la electricidad que los que alimenta.

Diferencias entre energía y potencia

La energía mide la cantidad de electricidad que se usa; la unidad estándar de energía son los julios o J. Sin embargo, otra manera habitual de hacer referencia al consumo de energía es en kilovatios por hora, o kWh.

La electricidad suele aparecer como potencia o energía, que son dos conceptos diferentes:

Energía = potencia ✕ tiempo

  • La energía es la cantidad total de electricidad usada, y la unidad estándar de la energía es el julio o J.

  • La potencia es la tasa de consumo de electricidad por unidad de tiempo; la unidad de energía estándar es el vatio o W y un vatio es un julio por segundo.

Una forma habitual de hacer referencia al consumo de energía es potencia durante una unidad de tiempo, por ejemplo, vatios por segundo o kilovatios por hora. Por ejemplo:

  • 20 vatios/segundo o 20 Ws es la cantidad de energía que se obtendría si se ejecutaran 20 W durante un segundo. Como 1 vatio es 1 julio por segundo, este valor es 20 julios.

  • 20 kilovatios/hora o 20 kWh es la cantidad de energía que se obtendría si se ejecutaran 20 000 vatios durante una hora.

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

proporcionalidad energética

El uso mide la cantidad de recursos que utiliza un equipo y normalmente se representa en forma de porcentaje. Un ordenador inactivo tiene un porcentaje de uso bajo y no se está utilizando. Un ordenador que funciona a su máxima capacidad tiene un porcentaje alto y se está utilizando por completo.

La proporcionalidad energética mide la relación entre la potencia consumida en un sistema informático y la velocidad a la que se realiza el trabajo útil (su uso). Si el consumo de energía global es proporcional al uso del equipo, se dice que es energéticamente proporcional.

En un sistema energéticamente proporcional, la eficiencia energética es una constante; con independencia del uso, sigue siendo la misma. Pero la eficiencia energética del hardware no es constante. Varía en función del contexto. Debido a las complejas interacciones de los muchos componentes distintos de un dispositivo de hardware, puede que no sea lineal, lo que significa que la relación entre la potencia y el uso no es proporcional.

Diagram showing power versus utilization.

Al 0 % de uso, el equipo consume 100 W; al 50 % de uso, consume 180 W; y al 100 % de uso, 200 W. La relación entre el consumo de energía y el uso no es lineal, y no cruza el origen.

Debido a esta relación, cuanto más se use un equipo, más eficiente será para convertir la electricidad en operaciones informáticas útiles. La ejecución del trabajo en el menor número posible de servidores con la tasa de uso más alta maximiza su eficiencia energética.

Consumo de energía estático

Esta falta de proporcionalidad energética se debe a varios motivos, y uno de ellos es el consumo de energía estático.

Un equipo inactivo, incluso a un uso del 0 %, sigue consumiendo electricidad. Este consumo de energía estático varía según la configuración y los componentes de hardware, pero todos los componentes lo realizan. Este posible consumo energético es uno de los motivos por los que los equipos, portátiles y dispositivos móviles ofrecen modos de ahorro de energía. Si el dispositivo está inactivo, en última instancia desencadenará el modo de hibernación, y el disco y la pantalla se pondrán en suspensión, o incluso cambiará la frecuencia de la CPU. Estos modos de ahorro de energía ahorran electricidad, pero tienen otras ventajas, como un reinicio más lento cuando el dispositivo se reactiva.

Normalmente, los servidores no se configuran para un ahorro de energía agresivo o incluso mínimo. Muchos casos de uso de servidores demandan una capacidad total lo más rápido posible en respuesta a una demanda que cambia rápidamente. Este escenario puede dejar muchos servidores en modo inactivo durante períodos de baja demanda. Un servidor inactivo tiene un costo tanto de carbono incorporado como de su uso ineficiente.

Velocidad del reloj

La velocidad del reloj (la frecuencia) es la velocidad de funcionamiento de un equipo o su microprocesador, expresada en ciclos por segundo (megahercios). Los dispositivos de consumo suelen ajustar dinámicamente la velocidad del reloj de los dispositivos informáticos para lograr una mayor proporcionalidad energética.

La velocidad del reloj denota la rapidez con la que un equipo puede ejecutar instrucciones.

La eficiencia energética de los microprocesadores cambia con la velocidad de reloj: las velocidades elevadas suelen tener menos eficiencia energética que las bajas. Por ejemplo, en el sistema I7-3770K, puede ejecutarse a 3.5 GHz para 50 W, o aproximadamente 5 GHz para 175 W. Un aumento aproximado del 40 % de la velocidad del reloj requiere un incremento energético >3✕.

La reducción de la velocidad del reloj en momentos de uso bajo puede aumentar la eficiencia energética, con lo que se maximiza la del hardware.