Qual'è il sistema operativo più Green?
Ieri Network World ha pubblicato un articolo a firma di Tom Henderson Rand Dvorak dal titolo "Linux captures the 'green' flag, beats Windows 2008 power-saving measures" in cui gli autori confrontano il consumo energetico di Windows Server 2008 Enterprise Edition, Red Hat Enterprise Linux 5.1 e SUSE Enterprise Linux Server 10.
Ne parlo perché è un tema che mi sta a cuore, perché oggi terrò un webcast sul power management in Windows Server 2008, pechè l'articolo sta facendo abbastanza rumore ed è stato ripreso da diverse parte (Visionpost e PuntoInformatico giusto per citare due esempi italiani).
Premetto che non voglio fare guerre di religione (e non è la classica frase killer). Chi segue questo blog sa che l'integrazione tra il mondo Linux e quello Windows è uno dei temi di cui mi occupo, e sono convinto che una sana gara per definire chi è il migliore nel campo del risparmio energetico sia estremamente salutare e alla lunga porti benefici per le tasche di chi usa i server, per l'ambiente, per la nazione, ecc.
Quello che non mi piace è un certo modo di fare le cose: in questo caso i test e il modo in cui i risultati sono riportati.
Vediamo il perché.
I test illustrati nell'articolo sono stati eseguiti installando i tre sistemi operativi su quattro diversi server (1 di IBM , 1 di Dell , 2 di HP ).
Due dei test eseguiti con Windows su uno dei server HP (DL-160-G5) sono falliti a causa di problemi con il firmware (così dice l'articolo che indica anche che HP rilascerà una soluzione a breve).
Nella tabella sottostante riporto i dati presi dall'articolo risistemati graficamente.
Dalla tabella originale dell'articolo ho tolto le colonne calcolate dagli autori e ne ho aggiunta una mia che riporta valori calcolati con la seguente semplice formula:
100*(consumo di Windows-consumo di RedHat)/consumo di RedHat
100*(W-RH)/RH
I numeri negativi ricavati dalla formula indicano un minor consumo di Windows rispetto a RedHat.
Da questa tabella si evince immediatamente che il titolo dell'articolo è un "pochino" categorico e altisonante (come capita spesso quando si tratta di evidenziare o dare forza a qualcosa a detrimento di Microsoft. Se volete un altro esempio recente di questo tipo comportamento in un campo completamente diverso date un'occhiata qui). La realtà è come al solito grigia. Ci sono situazioni in cui RedHat è migliore, altre in cui lo è Windows: in almeno tre casi Windows consuma meno di RedHat e in un quarto la differenza è dello 0,1%.
Entriamo un po' nel merito dei dati riportati in tabella: notiamo che sul server IBM i due sistemi operativi se la giocano praticamente alla pari: le differenze sono, in tutti i test, comprese tra 0 e 2% a favore dell'uno o dell'altro sistema operativo...
Poi compare, all'improvviso, quel 12% di differenza proprio sul server IBM nella prova di carico con power saver disabilitato.
Guardando le modalità di esecuzione dei test descritte nell'articolo noto:
Per Windows sono stati usati due dei tre power plan predefiniti: Powe Saver e High Performance.
Perchè non è stato usato il profilo Balance (cioè quello che garantisce il miglior rapporto prestazioni/consumo di energia) al posto di High Performance? Perchè in Linux non c'è!!"We chose to test the Windows Power Savings and High Performance power plans because they offer the highest comparability to power consumption parameters available in Linux — a full throttle performance mode and a rational, low-latency power savings mode."
- Non è stato fatto alcun tentativo di ottimizzazione per il workload che intendevano usare.
- Non sono stati presi in considerazione i D-state, la possibilità di personalizzare l'uso dei i P-state ecc. Ad onor del vero l'articolo cita la possibilità di usare un tool a linea di comando ( pwercfg.exe ) per raffinare la configurazione... non lo hanno fatto perché
"A program, powercfg.exe is also available to help establish very highly detailed performance policy settings, but the nearly endless permutations available with that executable were clearly beyond the scope of this test."
Cioè: è troppo faticoso fare fine-tuning...
Non ci dicono con quale strumentazione hanno raccolto i dati. Ci dicono la frequenza di campionamento, la durata di ogni singolo test e il periodo atteso prima di iniziare i test dopo l'avvio dei server, ma non come hanno raccolto i dati di consumo energetico. Spero che su questi punti arrivino maggiori dettagli.
La cosa ai miei occhi meno accettabile è però la modalità di test sotto carico
"The active test used an e-mail test script to continuously send e-mails to the server and operating system pair under test. In the case of the two Linux distributions, we used sendmail/procmail as our SMTP server with 1,000 users. We installed Microsoft Exchange Server 2007 under Windows 2008 Enterprise Server Edition, imported the same 1,000 users, and assaulted it in the same way, by using scripts we generated. We let the operating system and application pick the number of cores to use as a default."Cioè hanno confrontato un server SMTP con Exchange Server 2007!?!?
Siamo seri! E' come confrontare, da un punto di vista delle funzionalità messe a disposizione "out-of-the-box", della complessità del sistema e della quantità di risorse necessarie un moderno aereo di linea con un biplano della prima guerra mondiale... volano tutti e due, certo, ma...
Perché non hanno installato il servizio SMTP presente in Windows Server 2008?Mancano poi molti "particolari". Giusto per citarne qualcuno: qual'era la configurazione HW esatta usata? nel test sotto carico a che % del carico massimo hanno lavorato i server? qual'è stato l'I/O su disco generato dal test? Quanta RAM era impegnata? i server hanno dovuto fare swap su disco?
Devo dire, a discarico degli autori, che mettono le mani avanti: dicono che, in condizioni analoghe, con poche differenze (per esempio cambiando workload) altri potrebbero ottenere risultati completamente diversi (ma allora perché quel quel titolo, perché fare per forza del sensazionalismo?)
Fare test di questo genere non è semplice, presentare i risultati in modo "scientifico" ancora meno.
C'è una cosa però che condivido di quanto scritto da Tom Henderson Rand Dvorak:
"While all of this leg work might ring true to that famous line in the Kermit the Frog song, entitled "It Ain't Easy Bein' Green", if you consider the power savings over a five year service life, the boost to the bottom line will likely be worth the effort."
Giorgio
Technorati Tags: Microsoft,GreenIT,Windows Server 2008