palanetwork.org
Il risparmio energetico su Linux
Linus Torvalds
ha fatto il punto sull’evoluzione della gestione energetica del sistema
operativo Linux: “questo e’ un campo in cui eravamo piuttosto scarsi,
qualche anno fa. Il costruire le infrastrutture necessarie ha preso
molto tempo ma ora siamo finalmente al punto in cui la maggior parte
del lavoro e’ stata fatta."
Arjan van de Ven, che per molti anni e’ stato kernel programmer e ora
lavora ad Intel, ha quantificato il risparmio ottenuto : ” Quello che vediamo nei nostri laboratori oggi e’ che
Linux
montato sui portatili consuma dal 15 al 25% meno energia in idle rispetto a 3
mesi fa.”
Queste due affermazioni manifestano l'attenzione che il sistema operativo libero ha posto negli ultimi anni al risparmio
energetico sia dal lato kernel quindi gestione delle periferiche, sia dal lato userspace con applicazioni meno avide di
risorse.
Questo grafico mostra l'andamento delle prestazioni di potenza del kernel.
Tanto per citare un esempio, nel kernel è stata migliorata la gestione dei cicli di CPU, i kernel Linux più vecchi
utilizzavano un timer con una frequenza di 100Hz (100 eventi timer al
secondo o un evento ogni 10 ms) mentre i nuovi kernel usano un valore
di 250Hz (250 eventi al secondo o di un evento ogni 4 ms) o 1000Hz
(1000 eventi al secondo o un evento ogni 1ms). Questo evento timer è spesso chiamato “il timer tick”. Il
timer tick è semplice nel suo design, ma ha un serio inconveniente: il tick accade periodicamente indipendentemente
dallo stato del
processore, che sia inattivo o occupato. Se il processore è inattivo deve svegliarsi dal suo stato di sonno che risparmia
energia ogni 1, 4 o
10 millisecondi. Questo costa un po’ di energia diminuendo la durata
della batteria nei laptop e provocando un inutile consumo di energia nei
server. Con “tickless idle” il kernel di Linux ha eliminato questo timer
periodico quando la CPU è inattiva. Questo permette alla CPU di rimanere
in uno stato di risparmio energetico per un periodo di tempo più lungo,
riducendo il consumo complessivo di energia del sistema.
http://palanetwork.org
0
Generata: 15 March, 2017, 19:15
palanetwork.org
Inoltre le nuove distribuzioni linux operano una personalizzazione dei
parametri del kernel per dischi, rete, gestione della memoria
virtuale,sospensione del polling per USB e ISA oltre che avere
impostazioni poco onerose in termini di energia per quanto riguarda la
richiesta di IO.
Le impostazioni cambiano di molto a seconda che si stia trattando di un
server sotto alto carico di lavoro o netbook/notebook su
batteria: per un uso server su openSUSE è consigliato PM-PROFILER, un
gestore appartenente al pacchetto pm-tools/utils mentre per dispositivi
client , specialmente netbook/notebook, è consigliato laptop-mode-tools uno strumento che offre una ampia gamma di
impostazioni da usare per aumentare il risparmio energetico.
Come sempre il sistema operativo libero permette ampie modifiche e ottimizzazioni anche in termini di
risparmio energetico, è possibile mettere mano a qualsiasi
parametro del sistema e utilizzando appositi tool come POWERTOP di Intel, ma anche strumenti quali sar, sadf, mpstat,
iostat, nfsiostat, cifsiostat dell'utility SYSSTAT si possono eseguire ulteriori analisi delle risorse e risulta molto facile
risicare ancora fette di risparmio in tutti gli ambiti di lavoro.
Ultimamente un tool grafico chiamato Jupiter offre integrazione al desktop per il controllo di molti componenti del sistema
operativo, dalla cpu ad altri parametri del kernel per vari device e permette di intervenire graficamente su queste opzioni:
il tool è gratuito ed anche se è praticamente privo di documentazione si dimostra molto efficace.
Qui sotto è illustrata una ottimizzazione completa tratta dal vecchio sito Intel -> LessWatts.org : si tratta di un laptop con
processore 2 GHz Intel® Core™ 2 Duo e scheda grafica Intel 965 Express GM integrated graphics con un 1 Gb di
RAM su cui sono state messe in atto varie ottimizzazioni e come vedete si può fare molto ottimizzando le opzioni del
kernel ed altri parametri.
http://palanetwork.org
0
Generata: 15 March, 2017, 19:15