Principio: Efficienza energetica

Completato

Il contenuto di questo video è ancora valido, ma i numeri dei principi possono differire a causa della rinumerazione dei principi di Green Software Foundation.

Elettricità e carbonio

La maggior parte delle persone pensa che l'elettricità sia pulita. Quando si collega un dispositivo a una presa di corrente, non ci si sporca le mani e i portatili non hanno bisogno di tubi di scarico. Tuttavia, la verità è che la maggior parte dell'elettricità viene prodotta attraverso la combustione di combustibili fossili (di solito carbone) e l'approvvigionamento energetico è la singola causa più significativa delle emissioni di carbonio.

Poiché le emissioni di carbonio sono direttamente collegate alla produzione di energia elettrica, quest'ultima può essere considerata uno dei fattori responsabili di tali emissioni.

Dalle applicazioni in esecuzione sullo smartphone al training dei modelli di Machine Learning in esecuzione nei data center, qualsiasi tipo di software consuma energia elettrica durante l'esecuzione. Uno dei modi migliori per ridurre il consumo di energia elettrica e le conseguenti emissioni di carbonio dovute al software è quello di rendere le applicazioni più efficienti in termini di consumo energetico.

Questa conoscenza è il motivo per cui un principio chiave di Ingegneria del software sostenibile è quello di creare applicazioni efficienti in materia di energia.

Gli ingegneri del software sostenibile devono conoscere la natura dell'energia elettrica. Tutto ha origine non con i computer, ma da come viene prodotta l'energia elettrica che alimenta i computer.

Energia e potenza

L'energia misura la quantità di elettricità usata. L'unità di misura standard dell'energia è il joule (J), ma per indicare il consumo di energia, si usano comunemente anche i chilowattora (kWh).

L'elettricità viene spesso indicata come potenza o energia, che sono però due concetti diversi:

Energia = Potenza ✕ Tempo

  • L'energia è la quantità totale di elettricità usata. L'unità di misura standard per l'energia è il joule (J).

  • La potenza è il tasso di elettricità utilizzata per ogni unità di tempo. L'unità di misura standard dell'energia è il watt (W). Un watt è pari a 1 joule al secondo.

Un modo comune per fare riferimento al consumo di energia è Power over a unit of Time, ad esempio Watt-seconds o Kilowatt-hours. Ad esempio:

  • 20 watt al secondo o 20 Ws indica la quantità di energia che si otterrebbe se fossero usati 20 W per un secondo. Poiché 1 watt equivale a 1 joule al secondo, questo valore è pari a 20 joule.

  • 20 chilowattora o 20 kWh indica l'energia che si otterrebbe se fossero utilizzati 20.000 watt per un'ora.

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

Proporzionalità dell'energia

L'utilizzo misura la quantità di risorse in uso di un computer, in genere espressa come percentuale. Un computer inattivo ha una bassa percentuale di utilizzo e non viene utilizzato. Un computer che funziona al massimo della sua capacità ha una percentuale elevata e viene utilizzato al massimo.

Proporzionalità energetica è una misura della relazione tra l'alimentazione consumata in un sistema informatico e il tasso al quale viene svolto un lavoro utile (il suo utilizzo). Se il consumo complessivo di potenza è proporzionale all'utilizzo del computer, è proporzionale in termini di energia.

In un sistema proporzionale in termini di energia, l'efficienza energetica è una costante, vale a dire che, a prescindere dall'utilizzo, l'efficienza energetica rimane invariata. L'efficienza energetica dell'hardware, tuttavia, non è costante. ma varia in base al contesto. A causa delle interazioni complesse di molti componenti del dispositivo hardware diversi, può essere non lineare. Ciò significa che la relazione tra potenza e utilizzo non è proporzionale.

Diagramma che mostra la potenza e l'utilizzo.

Con un utilizzo dello 0%, il computer disegna ancora 100 W. Con un utilizzo del 50% viene disegnato 180 W. Con un utilizzo del 100%, viene disegnato 200 W. La relazione tra consumo di potenza e utilizzo non è lineare e non supera il valore originale.

A causa di questa relazione, più si utilizza un computer, più efficiente diventa la conversione dell'elettricità in operazioni di elaborazione utili. Eseguire il lavoro sul minor numero possibile di server con il più alto tasso di utilizzo ne ottimizza l'efficienza energetica.

Consumo di potenza statica

Esistono varie ragioni per questa mancanza di proporzionalità dell'energia e una di queste è il consumo di potenza statica.

Un computer inattivo, anche uno allo 0% di utilizzo, consuma comunque elettricità. Questa potenza statica varia in base alla configurazione e ai componenti hardware, ma tutti i componenti consumano una certa quantità di potenza statica. Questo consumo di potenza statica è uno dei motivi per cui in PC, portatili e dispositivi mobili sono disponibili modalità di risparmio energia. Se il dispositivo è inattivo, eventualmente attiva la modalità di ibernazione. In questo modo il disco e lo schermo vengono sospesi, oppure viene modificata anche la frequenza della CPU. Queste modalità di risparmio energia, pur rispondendo allo scopo, presentano alcuni svantaggi, come il riavvio più lento quando il dispositivo viene riattivato.

I server in genere non sono configurati per nessun tipo di risparmio energetico. Molti casi d'uso dei server richiedono la piena capacità il più velocemente possibile in risposta alle rapide variazioni della domanda. In questo scenario molti server possono restare inattivi durante i periodi di scarsa domanda. Un server inattivo ha un costo derivante sia dal carbonio incorporato che dall'utilizzo inefficiente.

Velocità di clock

La velocità di clock (frequenza) è la velocità operativa di un computer o del microprocessore, espressa in cicli al secondo (megahertz). I dispositivi consumer spesso regolano dinamicamente la velocità di clock dei dispositivi di elaborazione per ottenere una maggiore proporzionalità dell'energia.

La velocità di clock indica la velocità con cui un computer può eseguire le istruzioni.

L'efficienza energetica dei microprocessori cambia con la velocità del clock; le velocità di clock elevate sono spesso meno efficienti dal punto di vista energetico rispetto alle basse velocità di clock. Ad esempio, nel sistema I7-3770K è possibile eseguire a 3.5 GHz per 50 W o a 5 GHz per 175 W. Un aumento di circa 40% della frequenza del processore richiede un aumento della potenza pari a >3✕.

La riduzione della velocità di clock nei periodi di basso utilizzo può aumentare l'efficienza energetica, ottimizzando così l'efficienza energetica dell'hardware.