Le GPGPU di nuova generazione aumentano l'efficienza energetica mediante un ordine di grandezza
Conosciamo tutti la legge di Moore e, in misura minore, la scala di Dennard. La loro combinazione impone che ogni anno i progressi tecnologici vedano raddoppiare il numero di transistori sulla stessa area senza aumentare il loro consumo energetico complessivo. Tuttavia, dal 2005, questo ritmo è stato sempre più difficile da sostenere. I transistori diventano sempre più piccoli, ma il consumo di energia aumenta con ogni nuova generazione di dispositivi. Alla fine del tunnel c'è il muro dell'alimentazione: i processori consumeranno troppa energia elettrica per le loro dimensioni e, semplicemente, si bruceranno. Gli ingegneri hanno aggirato il problema utilizzando processori multi-core. In tal modo hanno creato un altro muro: quello della programmabilità. Questo rende notoriamente difficile lo sviluppo di un software in grado di raccogliere più energia dai processori simultanei. Quindi, come possiamo abbattere questi muri? Questa è la domanda da un milione di dollari a cui il progetto EXAFLOW sta cercando di dare una risposta. «Per abbattere i muri di alimentazione e programmabilità servono due sforzi intrecciati», afferma il prof. Yoav Etsion, coordinatore del progetto per l'Israel Institute of Technology. «Il muro dell'alimentazione ci impone di creare nuovi modelli di calcolo e design di processori che saranno più efficienti in termini energetici rispetto al modello corrente von Neumann, vecchio di 70 anni; e il muro della programmabilità ci impone di garantire che questi nuovi modelli di calcolo siano facili da usare e da programmare». Per arrivarci, il team del prof. Etsion ha progettato un nuovo tipo di processore, basato sul paradigma di elaborazione a istruzione singola di thread multipli (SIMT), un paradigma emerso dagli acceleratori grafici (GPU) come quelli di NVIDIA e AMD, e che successivamente ha portato a GPU per il calcolo a scopo generale (GPGPU). «Il progetto EXAFLOW si proponeva di ripensare il modo in cui progettiamo le GPGPU. Volevamo riprogettare radicalmente il processore stesso attorno al modello di programmazione, e non viceversa. E in effetti, i nostri ultimi risultati mostrano che il nostro processore supera notevolmente le GPGPU fornendo al contempo un ordine di grandezza più efficiente dal punto di vista energetico», afferma il prof. Etsion. Il segreto di queste prestazioni migliori risiede nell'uso del modello di esecuzione dei "flussi di dati": un modello vecchio di 50 anni che doveva ancora essere utilizzato per eseguire codice simultaneo (parallelo). I flussi di dati eseguono le istruzioni non appena vengono soddisfatte le loro dipendenze. Ciò è in contrasto con le architetture di von Neumann, che eseguono le istruzioni quando arrivano in cima al flusso di dati, indipendentemente dalle loro dipendenze. Il prof. Etsion confronta queste ultime con le lampadine a incandescenza, per quanto riguarda l'efficienza energetica. Le risorse funzionali, rispetto alle GPGPU standard, sono le stesse ma sono cablate in modo diverso per consentire che i valori intermedi vengano comunicati direttamente tra le unità funzionali. Ciò consente al tessuto di calcolo di essere utilizzato quasi al 100 %. «Utilizziamo due varianti di flusso di dati (“statico” e “dinamico”) in fase di esecuzione, per estrarre il parallelismo a livello di istruzioni ed eseguire thread simultanei fuori servizio. Ogni volta che un'istruzione da un thread è bloccata su un accesso a memoria a lungo termine, le unità funzionali continuano a calcolare istruzioni da altri thread. Infine, poiché i valori intermedi sono comunicati direttamente tra le unità funzionali, non abbiamo bisogno di un file di registro. Questo è un altro importante risparmio energetico», spiega il prof. dott. Etsion. Fornendo prove del fatto che la rottura del modello di von Neumann può offrire grandi benefici in termini di prestazioni e consumo di energia, il prof. dott. Etsion spera di ispirare altri ricercatori a esplorare nuovi modelli di calcolo che, alla fine, abbatteranno i muri di alimentazione e programmabilità. Lui e il suo team stanno attualmente vagliando opportunità per commercializzare il proprio processore ed esploreranno due diversi percorsi accademici. «In primo luogo, il mio team sta lavorando allo sviluppo di nuove architetture di processore basate sul modello del flusso di dati. In secondo luogo, stiamo sviluppando un nuovo linguaggio sotto forma di flusso di dati per la progettazione hardware, che renderà i progettisti 10 volte più produttivi. Speriamo di poterli presentare nel prossimo futuro», conclude il prof. dott. Etsion.
Parole chiave
EXAFLOW, GPGPU, von Neumann, flusso di dati, transistore, legge di Moore, scala di Dennard, muro dell'alimentazione, muro della programmabilità, multi-core, processore, paradigma