Come ottimizzare l’efficienza energetica in un data center

Per ottimizzare l’efficienza energetica di un data center è prima di tutto necessario definire il concetto stesso di efficienza energetica, che è sempre rapportata all’output del processo. Una volta capito di cosa si tratta, bisogna riuscire a misurarla, anche se metodi e sistemi sono ancora in fase di sviluppo. Occorre inoltre prendere atto che il data center è una struttura complessa, per cui conviene ragionare per gradi e considerare i diversi livelli infrastrutturali che assorbono energia.

Pubblicato il 22 Set 2009

logosa-100

Il concetto di efficienza è molto spesso confuso con il concetto di consumo di potenza o consumo di energia. Con il termine “consumo” solitamente si indica la potenza assorbita da un data center (per es. 250 KW), che per sua definizione è riferita ad un istante temporale e cambia continuamente nel tempo. Proprio per questo solitamente si parla di potenza media assorbita, mediando il valore della potenza istantanea nell’arco di una giornata o di un periodo più lungo. Quello che viene pagato tramite la bolletta non è però la potenza, ma l’energia consumata, vale a dire l’integrale della potenza istantanea su tutto il tempo preso come intervallo di riferimento, (per esempio 10.000 KWh, cioè il consumo di energia causato dall’assorbimento di 10.000 KW per un periodo di 1 ora). Entrambe queste grandezze sono di tipo assoluto, cioè sono svincolate dallo scopo per cui l’energia viene consumata. L’efficienza energetica è invece sempre rapportata all’output del processo, e indica quanta potenza oppure quanta energia è necessario consumare per ottenere un certo risultato.
Per fare un paragone con il mondo automobilistico, una cosa è dire che un’auto ha consumato 40 litri di benzina, che è un consumo assoluto, un’altra è dire che un’auto percorre in media 10 km con un litro, che è invece una misura di efficienza energetica.
Il data center è una struttura complessa, per cui non è banale definire e misurare delle metriche di efficienza energetica. Conviene ragionare per gradi e considerare i diversi “livelli” infrastrutturali che assorbono energia.
Attualmente la maggior parte dell’energia che entra in un data center (mediamente il 40% o più) viene impiegata per il sistema di condizionamento, gli UPS e la parte di distribuzione dell’energia, tutti componenti necessari al funzionamento del sistema, ma che non sono coinvolti direttamente nella produzione dell’output, cioè nell’esecuzione dei calcoli e delle transazioni. Una prima metrica che misura l’efficienza energetica di tutti questi apparati è la Power Usage Effectiveness (PUE), calcolata come potenza che entra nel data center/ potenza che arriva ai server. Una metrica del tutto analoga è la Data Center Infrastructure Efficiency (DCIE), calcolata come l’esatto inverso del PUE.
Queste metriche sono facilmente calcolabili tramite il posizionamento di opportuni sensori fisici (per esempio il contatore che alimenta il data center e una serie di amperometri o pinze amperometriche sui rack che contengono i server, a valle degli UPS) ed è di immediata interpretazione. Attualmente il PUE medio dei data center vale all’incirca 2.5, ed è considerato buono se è minore di 2. Il valore ottimale sarebbe 1 (tutta la potenza assorbita arriva ai server), anche se guardando al futuro è possibile teorizzare data center con PUE inferiore a 1, recuperando il calore prodotto dai server stessi e sfruttandolo per generare energia.
Occorre poi misurare quanto efficientemente i server utilizzano l’energia che assorbono. La metrica ideale da utilizzare per questo scopo è teoricamente del tipo tpm/Watt (transazioni al minuto per Watt) o similare (per es. MIPS/Watt se si ha a che fare con un mainframe, o flop/Wh in caso di server dedicati a simulazioni e calcolo numerico), che indica quante operazioni elementari per unità di tempo è possibile eseguire assorbendo una potenza di 1 Watt. Misurare questo tipo di grandezze può essere difficoltoso, in quanto è necessario caricare opportunamente il processore per far sì che siano eseguite le transazioni di cui si vuole misurare il consumo indotto. A questo scopo esistono degli opportuni benchmark (per esempio quelli TPC) che fanno eseguire particolari carichi di lavoro di diverse tipologie (per esempio transazionale, computazionale, ecc.) ai processori e permettono di misurarne performance e consumi a parità di condizioni al contorno.

Ottimizzare l’utilizzo dei processori
Un’altra variabile da tenere in considerazione è il livello medio di utilizzo dei processori, infatti solamente una parte della potenza assorbita è variabile in funzione del carico, e quindi dell’output prodotto, mentre una parte consistente in realtà è fissa. In altre parole, un server in idle consuma comunque una quantità considerevole di energia in quanto tutti i componenti ausiliari (scheda madre, alimentatore, ventole, controller di rete,ecc.) stanno funzionando. Il consumo in idle di un server può essere pari anche a più del 50% del consumo rilevato con carico massimo. Risulta quindi evidente come convenga cercare di massimizzare la percentuale media di utilizzo del processore, per meglio ammortizzare i consumi fissi. Questo può essere ottenuto bilanciando meglio i carichi di lavoro oppure virtualizzando, in modo da ridurre il numero di macchine fisiche. Per riprendere il paragone con il mondo automobilistico, per essere efficienti è opportuno avere un’automobile che percorre tanti km con un litro di benzina, ma anche preoccuparsi di far viaggiare l’auto a pieno carico, oppure di non usare un bus se si è solamente in 4 persone.
Una metrica di efficienza rispetto all’utilizzo dei server è proprio la percentuale media di utilizzo dei processori, facilmente rilevabile con appositi strumenti software. Esiste poi un ulteriore livello di efficienza, l’efficienza energetica del software, che consiste nell’impiegare al meglio le operazioni elementari (tpm, MIPS, flop o simili) compiute dal processore per soddisfare i requisiti funzionali di business. Non esistono ancora metriche univoche e consolidate a questo livello, che sconfina nel campo della ricerca, ma i potenziali di miglioramento appaiono molto alti.
Supponiamo di avere a che fare con un data center che gestisce le transazioni di una banca. La prima preoccupazione per essere veramente efficienti dovrebbe essere quella di scrivere software in grado di soddisfare i requisiti funzionali facendo eseguire il minor numero possibile di operazioni elementari ai processori. Dopodiché occorrerà scegliere i processori in modo che ogni singola commutazione richieda il minore consumo di energia, e distribuire i carichi in modo da ottimizzare i consumi fissi di energia. Infine, occorrerà preoccuparsi di avere un’infrastruttura efficiente, cioè di minimizzare le “perdite” correlate con l’assorbimento di energia di un server dovute a raffreddamento, distribuzione e batterie tampone. Riprendendo di nuovo il paragone automobilistico, per essere efficienti non solo occorre avere una macchina che fa tanti km con un litro di benzina e viaggiare a pieno carico, ma occorre anche ottimizzare il percorso scegliendo la via più breve che collega la località di partenza con quella di destinazione.
È importante distinguere e misurare i diversi livelli di efficienza energetica in un data center, anche perché diversi sono gli attori e le leve su cui si può agire per ottimizzare ciascun livello. Se si considera il PUE, il gestore del data center ha un buon margine di azione, in quanto può cambiare il layout fisico ed aumentare l’efficienza del condizionamento. Parte dell’efficienza a livello di PUE dipende anche dai componenti impiegati (condizionatori, UPS, switch), e quindi dai vendor. Sempre i vendor possono incidere molto sull’efficienza energetica dei server, in quanto questa dipende dalle tecnologie impiegate. A livello di utilizzo medio dei server invece ritorna in gioco il gestore del data center, che può ottimizzare la distribuzione dei carichi di lavoro e definire la strategia di virtualizzazione. L’efficienza energetica complessiva è poi influenzata anche dagli utenti finali, cioè coloro che sviluppano o selezionano le applicazioni da far girare sui server, in quanto solamente loro possono agire sull’efficienza energetica del software.

* Eugenio Capra è docente del Politecnico di Milano, Dipartimento di Elettronica e Informazione

Leggi anche Apc Ups, molto più che energia

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati