Smartphone carico per una settimana, con EnerJ

Un gruppo di ricercatori statunitensi ha messo a punto un metodo che potrebbe ridurre del 90% i consumi della CPU. Basterebbe aumentare la tolleranza agli errori, riservando parte della potenza della CPU alle attività che richiedono più precisione.

Avatar di Valerio Porcu

a cura di Valerio Porcu

Senior Editor

I ricercatori dell'Università di Washington hanno messo a punto un metodo che potrebbe ridurre del 90% i consumi dei processori, dagli smartphone ai datacenter. L'idea alla base del progetto è quella di separare i processi che richiedono la massima precisione da quelli che possono tollerare un certo margine di errore, e di dedicare a questi ultimi una parte meno potente della CPU.

Fortunatamente le batterie attuali si ricaricano velocemente

Il sistema si chiama EnerJ (deve il nome al linguaggio Java), e nelle simulazioni è già riuscito a ridurre i consumi del 50% (in un caso). Con un ulteriore sviluppo, anche dal lato hardware, l'obiettivo del 90% sembra quindi raggiungibile.

"L'idea fondamentale è di avvantaggiarsi dei processi che possono sopravvivere a piccoli errori quando, per esempio, si riduce la tensione o i controlli sono ridotti. Ne sono un esempio lo streaming audio e video, i giochi e il riconoscimento d'immagini in tempo reale nelle applicazioni di realtà aumentata su dispositivi mobili", spiega il comunicato stampa.

Il sistema prevede quindi due diverse strade per il codice delle applicazioni: uno per i processi che richiedono la più grande precisione, come la gestione delle password e la crittografia, e  uno per tutti quelli – la maggior parte – più tolleranti agli errori.

I due ambienti, spiegano i ricercatori, sono rigidamente separati per evitare che ci siano spostamenti indesiderati dei dati, un elemento fondamentale per preservare la sicurezza. "C'è la totale garanzia che questo non possa accadere", spiega il documento. Un'affermazione che, quando si parla di sicurezza informatica, sarebbe meglio non fare, ma per ora restiamo in attesa di vedere gli sviluppi di questo progetto.

Questa soluzione, se si dovesse diffondere universalmente integrandosi nei sistemi operativi, potrebbe portare anche allo sviluppo di CPU nelle quali parte dei transistor funziona con tensioni minori, con evidenti impatti sui consumi. Il voltaggio ridotto aumenterebbe la possibilità di errore, ma la divisione del codice lo renderebbe un rischio del tutto accettabile, perché ci sarebbe sempre una parte della CPU "a prova di errore". Al momento i ricercatori stanno progettando l'hardware necessario per proseguire con gli esperimenti.

Luiz Ceze, uno degli autori del progetto EnerJ

In ogni caso EnerJ è già utilizzabile anche con i processori attuali. Si tratta di un approccio basato esclusivamente sul software, che prevede l'arrotondamento di alcuni numeri, o l'eliminazioni di alcune procedure di controllo; soluzioni che riducono il carico di lavoro sulla CPU, e che secondo i ricercatori possono già portare a una riduzione dei consumi tra il 30 e il 50%.

Ad oggi la maggior parte degli smartphone in circolazione dev'essere ricaricata ogni giorno, e lo stesso vale per i computer portatili. Da anni i produttori s'impegnano per migliorare l'autonomia, tanto agendo sul software quanto sulla chimica delle batterie. Questi sforzi però vanno di pari passo con l'aumentare della potenza, con il risultato che i miglioramenti nella durata della batteria, se ci sono stati, finora sono stati marginali. 

EnerJ promette "miglioramenti fino a dieci volte" dell'autonomia, un risultato che si può tranquillamente definire da sogno. Difficile però che si realizzerà, considerato che il consumo della CPU è solo una parte - minima - di quello totale del dispositivo. Potrebbe invece essere più rilevante l'impatto sui grandi datacenter, che potrebbero giovare di una notevole riduzione della bolletta elettrica.