Misurare l’efficienza energetica del software

Uno strumento in grado di misurare il consumo energetico del software: è l’obiettivo di un’attività di ricerca che il Dipartimento di Elettronica del Politecnico di Milano sta realizzando in collaborazione con Cast.

Pubblicato il 27 Lug 2011

p97-capra

In uno scenario nel quale l’Ict è responsabile di più del 2% del consumo energetico globale, l’ottimizzazione dell’efficienza energetica dell’Ict è ormai diventato uno dei temi di attenzione per le aziende che perseguono serie strategie di corporate responsibility. A questo occorre aggiungere che il consumo elettrico dei dispositivi è una voce di costo significativa sul budget Ict.
In tale scenario l’industry Ict si è concentrata quasi esclusivamente sugli aspetti infrastrutturali (virtualizzazione server & desktop, cloud computing, tecnologie di storage, smart cooling, … ) più che su quelli legati alle caratteristiche intrinseche del software, ovvero a quanto efficientemente il software applicativo utilizza le risorse infrastrutturali che consumano energia.
Il software è il primo responsabile del consumo di energia, in quanto determina quali operazioni elementari devono essere eseguite per soddisfare i requisiti degli utenti. L’efficienza (o inefficienza) energetica del software viene amplificata da tutti i livelli infrastrutturali sovrastanti: eseguire un algoritmo efficiente per arrivare al risultato significherà usare meno cicli del processore, meno bus e tutti gli altri componenti hardware, quindi significherà scaldare di meno e ridurre la necessità di condizionamento.
L’obiettivo finale di questo filone di ricerca è quello di definire linee guida e strumenti per scrivere software più green, ma prima ancora è necessario misurare l’efficienza energetica di un’applicazione. Questo può essere svolto in modo diretto, cioè misurando la potenza assorbita da una particolare infrastruttura di calcolo mentre viene eseguita un’applicazione sollecitata da un carico di lavoro opportuno. Tuttavia, non è difficile comprendere come tale tipo di misura sia oneroso e costoso, in quanto richiede di eseguire l’applicazione in esame.
Fin dagli albori della storia dell’ingegneria del software si è cercato di definire delle metriche, con i relativi strumenti di misura, che permettessero di valutare la qualità di un’applicazione sotto i suoi vari aspetti. Ad oggi tuttavia non esistono ancora metriche che siano chiaramente correlabili all’efficienza energetica di un’applicazione. Diventa essenziale in tal senso essere in grado di misurare in modo rigoroso sia l’aderenza di un’applicazione alle best practice in via di individuazione, sia la correlazione di tali regole con un modello globale di Qualità del Software (ISO 9123-3, Cisq, …).

È proprio in questo contesto che si instaura la collaborazione fra il Dipartimento di Elettronica del Politecnico di Milano e Cast (nella foto il Country Manager, Massimo Crubellati), il cui obiettivo è quello di trovare una traduzione oggettiva delle misure empiriche di consumo in attributi della qualità del software, computabili tramite uno strumento di misura rigoroso ma facile da applicare. Cast ha messo a disposizione delle ricerche condotte dal Politecnico di Milano la propria piattaforma di misurazione e gestione della qualità applicativa per consentire misurazioni rigorose e ripetibili dei Kpi di qualità, incluso quello di valutazione del “Green Software” che scaturirà dalle ricerche stesse.
Il Gruppo di Sistemi Informativi del Dipartimento di Elettronica e Informazione del Politecnico di Milano svolge da diversi anni attività di ricerca sul tema dell’ottimizzazione dei costi Ict, sull’efficienza energetica dell’Ict nei sui vari aspetti, dal data center all’It distribuito e, in particolare, sulla misurazione e l’ottimizzazione dell’efficienza energetica del software.


* Eugenio Capra è docente di Sistemi Informativi presso il Politecnico di Milano
* Massimo Crubellati è il country manager di Cast Italia

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2