Share via


Risparmio energetico, Green Computing, Windows Server 2008 e la virtualizzazione - #3

Nel primo post di questa serie ho cercato di inquadrare il problema del consumo energetico dei datacenter e ho dato alcuni dati che possono farci da punti di riferimento nel parlare di questo tema.

Il secondo post l'ho dedicato ad una breve rassegna delle tecniche che possono essere adottate per migliorare l'efficienza energetica dei datacenter.

In questo terzo post voglio invece affrontare il problema del consumo energetico dei server e di come i sistemi operativi (in particolare quelli Microsoft per ovvie ragioni :) ) possano aiutare nel ridurre il consumo energetico nei datacenter (e quindi a risparmiare e ad essere migliori cittadini).

Iniziamo col vedere dove finisce l'energia "immessa" in un singolo server. Il diagramma sottostante ci fornisce un'utile mappa dei consumi di un server.

uso-energia-server 
(Sorgente: Intel Server Products Power Budget Analysis Tool)

E' immediatamente evidente come la CPU assorba la maggior parte dell'energia immessa in un server; ne consegue che questo è il principale fronte su cui operare per migliorare il bilancio energetico dei server.

Come prima azione basta scegliere il corretto tipo di processore per ottenere un risparmio fino al 50% sull'energia consumata da questo componente (che conta il 46% del consumo di energia di un server) senza perdite eccessive da un punto di vista delle prestazioni.

E' sempre vero che ci serve il processore con la maggiore frequenza di funzionamento?

Una risposta onesta e meditata a questa domanda può migliorare immediatamente la nostra bolletta energetica.

 uso-energia-cpu
(Sorgente: Product Brief Dual-Core Intel® Xeon® Processor 5100 Series )

Anche l'adozione di un sistema operativo di nuova generazione e la sua corretta configurazione possono portare ad un significativo risparmio energetico.

Il grafico sottostante mostra come le nuove policy di gestione dell'energia inserite in Windows Server 2008 comportino un significativo  risparmio energetico (12% in media), rispetto a Windows Server 2003: in entrambe i casi le configurazioni sono "out of the box".

win2008-vs-win2003 
Consumo energetico Window Server 2008 vs Windows Server 2003 (il workload è espresso come percentuale del massimo ottenuto in Windows Server 2008)

Se il 12% vi sembra poco, seguitemi in un calcolo.

Nel secondo quarto del 2007 sono stati venduti in tutto il mondo 2 milioni di server (fonte IDC). Assumiamo un consumo medio di 400 watt e un funzionamento 24x365. Assumiamo anche che il 50% di questi server usi Windows. Se ciascuno risparmiasse il 12%, grazie al sistema operativo, avremmo un risparmio globale annuo di oltre 400 GWh di energia!

Anche per una media azienda con una trentina di server il risparmio è notevole e può arrivare a eguagliare il consumo di tre o quattro server!

Il motivo per cui Windows Server 2008 gestisce meglio di Windows Server 2003 l'assorbimento di energia dei server è dovuto al miglior supporto delle funzioni di Processor Power Management (PPM: T-states, P-states e C-states) definite dallo standard Advanced Configuration and Power Interface (ACPI) v. 3.0. In particolare è completamente nuovo il supporto per dei Performace States (P-states) dei processori e degli idle sleep states (C-states) nei sistemi multiprocessore

Nei sistemi multi processore le specifiche ACPI 3.0 consento al sistema operativo che le supporti di operare in tre diverse modalità:

  • Controllo dipendente
    La transizione di un processore ad un nuovo stato provoca la stessa transizione negli altri processori del sistema
  • Controllo indipendente
    Ogni processore può assumere P-state o T-state diversi da tutti gli altri nel sistema
  • Controllo indipendente, comportamento dipendente
    La richiesta del sistema operativo di cambio di T-state o P-state di un processore può essere da questo eseguita o meno a seconda dello stato degli altri processori presenti nel sistema

I componenti di Windows Server 2008 che entrano in gioco nella gestione degli stati energetici del processore sono tre:

  • Firmware di sistema
  • Windows kernel power manager
  • Driver di processore di Windows (sono presenti "in box" i driver per tutti i modelli più diffusi di CPU più un driver generico)

Le relazioni tra questi tre diversi componenti sono espresse dal diagramma sottostante

Windows-PM-Components
Relazione tra i componenti di gestione della frequenza di CPU in Windows Server 2008

La gestione dei P-state, in Windows Server 2008, si imposta, dal Control Panel, attraverso le Power Option utilizzando l'opzione Change Advanced Power Settings.

Windows-PM-Components-01 
Configurazione delle policy di CPU da pannello di controllo

Si accede in questo modo al panello di configurazione Power Options da cui cui è possibile configurare le impostazioni di gestione del risparmio energetico per una grande quantità di sottosistemi. Tra i diversi sottosistemi configurabili ci sono le CPU.

Win2008-PowerPolicy-01
Configurazione delle policy di CPU da pannello di controllo

In Windows Server 2008 è possibile assegnare alla CPU un Minimum Processor State e un Maximum Processor State.

I due parametri esprimono il valore minimo e massimo di frequenza di funzionamento (come percentuale della frequenza massima) tra cui il sistema operativo può far funzionare la CPU rispondendo dinamicamente alla variazione di carico di lavoro.

Win2008-PowerPolicy-04 
Uso di Adaptive Throttling con un sotto insieme dei P-state disponibili

Win2008-PowerPolicy-05
Blocco del funzionamento del processore su uno specifico P-state

Quando non sono disponibili i P-state, Windows Server 2008 usa un protocollo di Linear Stop-Clock Throttling State per la gestione della frequenza di funzionamento del processore.

Quando sono disponibili entrambi i sistemi (P-state e Linear Stop-Clock Throttlig State) per la gestione della frequenza di funzionamento Windows Server 2008 per default non porta il sistema al di sotto del P-state minore.

Win2008-PowerPolicy-06
Sistema con doppia gestione delle frequenze di processore

E' possibile modificare questo comportamento usando da linea di comando l'utility powercfg.exe che ha una serie di opzioni non documentate nell'help in linea, ma disponibili in questo documento.

La gestione delle Power Management Policy può essere fatta centralmente usando Active Directory e le Group Policy raggruppando classi di server diverse in diverse Organizational Unit.

Win2008-PowerPolicy-07
Esempio d'uso di powercfg.exe per ottenere la configurazione corrente

Per oggi mi fermo qui.

Nel prossimo post sull'argomento vedremo il ruolo che la virtualizzazione può avere nell'aiutarci a risparmiare energia nei nostri datacenter.

Buona settimana a tutti.

Giorgio

Technorati Tags: Microsoft,Windows Server 2008,Virtualization,Green Computing,GreenIT,Hyper-V

Comments

  • Anonymous
    January 01, 2003
    Nelle scorse settimane ho a lungo parlato di GreenIT e Datacenter ( 1 , 2 , 3 , 4 ) e qualcuno mi ha