Cerca nel blog

domenica 3 dicembre 2017

Computer sempre più veloci.


A fine luglio, gli operai dell'Oak Ridge National Laboratory, in Tennessee, hanno iniziato a riempire una stanza grande come una caverna con i pezzi di un colosso del calcolo automatico: fila per fila, hanno installato unità di calcolo ordinatamente impilate, circa 290 chilometri di cavo in fibra ottica e un sistema di raffreddamento capace di far circolare tanta acqua quanta ne contiene una piscina. Il Dipartimento dell'energia degli Stati Uniti (DOE) si aspetta che l'anno prossimo, quando sarà pronta, questa macchina da 280 milioni di dollari chiamata Summit, consentirà agli Stati Uniti di riconquistare un primato perso dal 2012: ospitare il supercomputer più veloce del mondo.


Summit è progettato per funzionare a una velocità di picco di 200 petaflop: cioè, è in grado di effettuare fino a 200 milioni di miliardi di "operazioni in virgola mobile" – un tipo di aritmetica computazionale – ogni secondo. Questo renderebbe Summit più veloce del 60 per cento rispetto all'attuale primatista mondiale cinese.

Per molti informatici, il completamento di Summit è solo una fase di un processo molto più grande. In tutto il mondo, gruppi di ingegneri e scienziati puntano al prossimo salto nella capacità di elaborazione: i computer a "esascala", in grado di raggiungere velocità di calcolo di 1000 petaflop o più.


Già quattro gruppi nazionali o internazionali, in collaborazione con le industrie informatiche delle loro regioni geografiche, stanno lavorando per raggiungere questo ambizioso obiettivo. La Cina prevede di far funzionare la sua prima macchina a esascala entro il 2020. Gli Stati Uniti, con l'Exascale Computing Project del DOE, puntano a costruirne almeno una entro il 2021. E ci si aspetta che Unione Europea e Giappone seguano a ruota.



Il futuro ancora più veloce dei supercomputer
Sunway TaihuLight, il computer più veloce del mondo, è costruito interamente con processori cinesi. (Xinhua/Photoshot / AGF)

I ricercatori prevedono che i computer a esascala consentiranno di risolvere problemi che oggi non è possibile affrontare in campi diversi come la climatologia, le energie rinnovabili, la genomica, la geofisica e l'intelligenza artificiale.


Si potrebbero associare tra loro modelli dettagliati di chimica dei carburanti e modelli di motori a combustione interna, per individuare con più rapidità i miglioramenti che potrebbero ridurre le emissioni di gas serra. Oppure si potrebbe simulare il clima globale con una risoluzione spaziale di un solo chilometro. Con il software giusto in mano, "si potrà fare molta più scienza di quella che si può fare ora", dice Ann Almgren, del Lawrence Berkeley National Laboratory, in California.

Ma raggiungere il regime dell'esascala è una sfida tecnologica incredibilmente ardua. Gli aumenti esponenziali delle prestazioni di calcolo e di efficienza energetica che in passato accompagnavano la legge di Moore non sono più garantiti, e per continuare a migliorare sono necessari cambiamenti sostanziali ai componenti dei supercomputer. Inoltre, un supercomputer che si comporta bene in un test di velocità non necessariamente eccellerà nelle applicazioni scientifiche.

Lo sforzo per portare il calcolo ad alte prestazioni al livello successivo sta obbligando a trasformare il modo in cui sono progettati i supercomputer e sono misurate le loro prestazioni. "È uno dei problemi più difficili che ho visto nella mia carriera", dice Thomas Brettin, dell'Argonne National Laboratory, che sta lavorando su un software medicale per macchine a esascala.

Hardware accelerato
Le tendenze generali del settore informatico stanno definendo il cammino dei computer a esascala. Per oltre un decennio, i transistor sono stati impacchettati così densamente che è impossibile far funzionare i microprocessori a ritmi ancora più veloci. Per aggirare il problema, i supercomputer di oggi si affidano pesantemente al calcolo parallelo, usando banchi di chip per creare macchine con milioni di unità di elaborazione chiamate core. Un supercomputer può essere reso più potente mettendo insieme un numero ancora maggiore di queste unità.

Ma via via che queste macchine diventano più grandi, la gestione dei dati diventa più difficile. Spostare dati dentro e fuori la memoria di massa e persino all'interno dei core richiede molta più energia dei calcoli stessi. Secondo alcune stime, fino al 90 per cento del consumo di energia di un computer ad alte prestazioni è usato per il trasporto dei dati.

Ciò ha portato ad alcune previsioni allarmanti. Nel 2008, in un rapporto della Defense Advanced Research Projects Agency degli Stati Uniti, un gruppo guidato dall'informatico Peter Kogge ha concluso che un computer a esascala costruito con le tecnologie attualmente prevedibili avrebbe bisogno di un gigawatt di potenza, forse fornito da una centrale nucleare appositamente dedicata. "L'energia è il problema numero uno, due, tre e quattro del calcolo a esascala", afferma Kogge, professore all'Università di Notre Dame, nell'Indiana.



Il futuro ancora più veloce dei supercomputer
Modello al supercomputer dello schema globale dei venti elaborato dalla NASA: il meteo è una delle applicazioni scnetifiche in cui è richiesta una potenza di calcolo enorme. (Credit: Science Photo Library/AGF)

Nel 2015, alla luce dei miglioramenti tecnologici, Kogge ha ridotto questa stima tra 180 e 425 megawatt. Ma si tratta ancora di un valore molto più elevato di quello richiesto dai migliori supercomputer di oggi: il sistema che attualmente è in cima alla classifica mondiale, il cinese Sunway TaihuLight, consuma circa 15 megawatt.


"Il rapporto di Peter è importante perché ha suonato un campanello d'allarme", afferma Rick Stevens, direttore associato del laboratorio per l'informatica, l'ambiente e le scienze della vita dell'Argonne Laboratory. Grazie in parte anche alle proiezioni di Kogge, dice, "si è creato un grande fermento intellettuale intorno alla riduzione del consumo energetico".

Ma negli ultimi anni, afferma Stevens, una serie di nuove tecnologie ha contribuito a ridurre il consumo di energia. Un progresso cruciale è stato portare la memoria più vicina ai core di elaborazione per ridurre la distanza che devono percorrere i dati. Per ragioni simili, gli ingegneri hanno anche impilato in senso verticale schiere di memoria ad alte prestazioni anziché distribuirle su due dimensioni.

I supercomputer stanno inoltre integrando sempre più la memoria flash, che non richiede energia per conservare i dati, come fanno invece altri tipi di memoria molto usati. E i progettisti di circuiti hanno reso possibile disattivare i circuiti nei chip quando non sono in uso, o cambiarne tensione o frequenza per risparmiare energia.

Anche cambiamenti ancora più radicali sui processori hanno fatto la differenza. Uno dei principali sviluppi è stata l'adozione di versioni di unità di elaborazione grafica, o GPU, a scopo generico, che eccellono nel tipo di elaborazione ad alta intensità di dati necessaria per applicazioni come il rendering dei videogiochi.

I computer che incorporano le GPU, insieme alle unità di elaborazione centrale (CPU) per “dirigere il traffico”, sono particolarmente adatti alle simulazioni fisiche. Dal punto di vista della programmazione, dice Katherine Yelick del Lawrence Berkeley National Laboratory, i calcoli necessari per animare realisticamente le onde dell'oceano in un film come Alla ricerca di Nemo non sono molto diversi da quelli che servono per simulare le dinamiche atmosferiche in un modello climatologico.

Altri supercomputer sono stati costruiti con processori "leggeri", che sacrificano alcune funzioni in favore della velocità e dell'efficienza energetica.

La Cina ha usato lo schema leggero per costruire Sunway TaihuLight. La macchina ha conquistato il primato di velocità con processori costruiti localmente non molto tempo dopo che gli Stati Uniti avevano imposto un embargo commerciale (nel 2015) sulla vendita di chip ai centri di supercalcolo cinesi. I processori leggeri del Sunway non sono radicalmente diversi dalle comuni CPU, spiega Depei Qian, della Beihang University di Pechino, che sta contribuendo ai progetti di esascala della Cina. I singoli core sono semplificati, con memoria locale limitata e basse velocità. Ma con molti core che lavorano insieme, la macchina complessiva è più veloce.

L'obiettivo del DOE per l'uso dell'elettricità del suo primo sistema a esascala, chiamato Aurora, è di 40 megawatt, con un margine fino a un massimo assoluto di 60 megawatt. Il gigante informatico Intel è stato incaricato di realizzare i chip per la macchina, mentre all'azienda di supercalcolo Cray è stato subappaltato l'assemblaggio dell'intero sistema.

I dettagli su come l'obiettivo sarà raggiunto non sono ancora pubblici. Ma Al Gara, che dirige l'architettura di calcolo ad alte prestazioni e dell'esascala di Intel, afferma che l'azienda sta lavorando a una nuova piattaforma, che integra una nuova microarchitettura di chip, progettata per ridurre al minimo l'uso di energia.

Altri hanno mire più ambiziose. Qian afferma che la Cina avrà come obiettivo 30 megawatt per il suo primo sistema a esascala. Con una scadenza fissata al 2022 o al 2023, e quindi con più tempo per lavorare sul suo sistema, il progetto europeo potrebbe arrivare a 10 megawatt, dice Jean-Philippe Nominé, specialista di calcolo ad alte prestazioni del CEA, la Commissione francese per le energie alternative e l'energia atomica. Ma l'efficienza energetica è solo uno dei fattori: c'è anche la questione delle prestazioni.

Il significato di "esascala" è diventato una questione quasi spirituale per gli scienziati informatici. La definizione più semplice è un computer in grado di elaborare un insieme specifico di equazioni di algebra lineare alla velocità di un esaflop, equivalente a 1000 petaflop. Un gruppo di ricercatori ha usato questo valore di riferimento, chiamato LINPACK, per redigere fin dal 1993 la classifica dei supercomputer Top500.

LINPACK è ormai sinonimo di prestazioni dei supercomputer e, da giugno 2013, i supercomputer costruiti in Cina sono in cima alla lista (si veda l'infografica di “Nature”). Ma la velocità non è tutto, dice Jack Dongarra, dell'Università del Tennessee a Knoxville, tra i fondatori della classifica Top500. "Tutti vogliono vantarsi", afferma.

Dongarra confronta la classifica dei supercomputer con la velocità massima segnata sul tachimetro di un'auto. Anche se la capacità di raggiungere i 300 chilometri all'ora può essere impressionante, ciò che dà veramente più valore alle automobili è come si comportano durante gli spostamenti quotidiani entro i limiti di velocità.



Il futuro ancora più veloce dei supercomputer
Blue Gene/L dell'IBM, per molti anni il più veloce supercomputer del mondo. (Science Photo Library)

In modo analogo, la velocità di un computer nell'effettuare specifiche operazioni di algebra lineare non riflette necessariamente la sua capacità di prevedere l'attività di un farmaco, addestrare reti neurali o eseguire simulazioni complesse. Tutti questi compiti richiedono requisiti diversi tra loro in termini di potenza di elaborazione, di quali tipi di calcoli possono essere affrontati in parallelo e di quanti dati devono essere spostati. La classifica Top500 "non misura l'efficienza dell'hardware in applicazioni reali", afferma Barbara Helland, direttore associato per la ricerca sul calcolo avanzato dell'ufficio scientifico del DOE.


Nonostante ciò, i migliori supercomputer di oggi sono stati "costruiti per offrire la prestazione LINPACK più elevata", afferma Shekhar Borkar, informatico uscito da Intel lo scorso anno. Un'applicazione scientifica del mondo reale potrebbe usare il 10 per cento di quella velocità, ma solo l'1,5-3 per cento è più tipica, dice Borkar. E si aspetta che questo limite rimarrà nell'esascala.

Negli Stati Uniti, la crescente preoccupazione per questo scollamento tra velocità di punta e utilità ha portato a una definizione di calcolo a esascala diversa, basata sulle applicazioni. Il DOE punta a fare in modo che i suoi primi computer a esascala abbiano prestazioni circa 50 volte migliori del più veloce sistema attuale degli Stati Uniti: il Titan da 17,6-petaflop (misurato in LINPACK). Ciò potrebbe significare, per esempio, esaminare 50 volte più materiali potenzialmente utili per il solare in un dato intervallo di tempo, o realizzare un modello del clima globale con una risoluzione spaziale 50 volte più grande.

Per ottenere questi vantaggi, il DOE sta lavorando con centinaia di ricercatori provenienti dal mondo accademico, dal governo e dall'industria. Ha creato 25 gruppi, ciascuno incaricato di realizzare un software in grado di sfruttare una macchina a esascala per risolvere uno specifico problema scientifico o ingegneristico, come la progettazione di un motore. Stevens afferma che la principale misura del successo per i supercomputer statunitensi a esascala sarà una "media geometrica" delle loro prestazioni nelle 25 applicazioni.

Nello sviluppo di questi computer, l'agenzia sta anche cercando di migliorare la collaborazione tra chi usa i supercomputer, chi scrive il software e le aziende che producono semiconduttori e che sono responsabili della costruzione dell'hardware. Con il progetto a esascala del DOE, "stiamo unendo queste comunità. Possiamo insistere su questa convergenza", afferma Doug Kothe, informatico dell'Oak Ridge National Laboratory che guida il progetto. Questa strategia di unire utenti e costruttori, chiamata co-design, non è nuova. Ma, dice Kothe, "non è stata attuata in modo così ampio e profondo come invece avviene ora".

"Lavoro in questo campo da vent'anni. È la prima volta che vedo questo tipo di coordinamento e di supporto", afferma Thuc Hoang, program manager per la ricerca e le operazioni di supercalcolo presso la National Nuclear Security Administration (NNSA) a Washington.

Gli Stati Uniti non sono i soli a promuovere collaborazioni tra scienziati e ingegneri in questi campi diversi. Anche il programma di supercalcolo della Cina, criticato per aver dato la priorità alla velocità pura rispetto alla scienza, sta usando il co-design nei suoi progetti per l'esascala, ed è focalizzato su 15 applicazioni software. "Dobbiamo collegare lo sviluppo di hardware e software con i ricercatori del settore", afferma Qian.

Prove future
Ma Borkar e alcuni altri osservatori sono preoccupati che i primi sistemi a esascala in Cina e negli Stati Uniti possano essere macchine dimostrative, che non funzionano bene su applicazioni reali. "Offrire prestazioni più elevate per le applicazioni significherebbe progettare le macchine in modo diverso, più realistico", afferma Borkar. Questo, aggiunge, "comprometterebbe di certo la prestazione LINPACK, con un impatto negativo dal punto di vista del marketing". (Borkar osserva che, sebbene sia ancora consulente del governo degli Stati Uniti e di aziende private, queste opinioni sono personali).

Borkar si augura che gli Stati Uniti in particolare siano rimasti fedeli ai piani delineati per la prima volta nel 2008, per usare il balzo verso l'esascala come una possibilità per ripensare il calcolo in modo più radicale.

"Gli approcci evolutivi falliranno", dice. "Serve un approccio rivoluzionario". Stevens afferma che i grandi cambiamenti stanno avvenendo a porte chiuse. E si aspetta che il DOE chiuda il suo contratto ufficiale con Intel intorno a o dopo Natale. Fino ad allora, specifica, "non posso dire che cosa stiamo facendo, ma è molto innovativo".

Ci sono però limiti alla decisione con cui il supercalcolo può essere spinto in avanti. A ogni nuova generazione di supercomputer, i programmatori devono sviluppare il software che hanno. "Abbiamo un legacy code", afferma Hoang. Il programma che gestisce presso la NNSA si affida ai supercomputer per mantenere l'arsenale degli Stati Uniti conforme al divieto di testare armi nucleari. "Per le responsabilità del mio ufficio, non possiamo semplicemente abbandonare i vecchi codici: per svilupparli e validarli c'è voluto un decennio".

Anche i vincoli di bilancio hanno influito sui progetti statunitensi per l'esascala. Aurora doveva essere una macchina da 180 petaflop e iniziare a funzionare presso l'Argonne nel 2018. Ma l'agenzia non aveva abbastanza soldi per iniziare a commissionare l'hardware a esascala. Invece di emettere una bando pubblico per raccogliere le proposte, il DOE ha modificato il contratto di Intel e Cray per Aurora in una macchina a esascala, che sarà consegnata entro il 2021. Stevens è fiducioso sul fatto che possano consegnare la tecnologia in tempo.

Nel frattempo, altri programmi a esascala stanno facendo progressi. La Cina ha ancora l'obiettivo di raggiungere l'esascala per prima, nel 2020. Il paese asiatico sta valutando tre prototipi. Due, in fase di costruzione presso le strutture di supercalcolo che ospitano le macchine più veloci della nazione, rischiano di essere variazioni sull'architettura leggera che la Cina ha già realizzato, dice Dongarra. Il terzo è stato costruito da Sugon, un'azienda informatica di Pechino che collabora con lo sviluppatore di chip ad alte prestazioni AMD, e quindi ha accesso alle sue microarchitetture. Questa macchina, pensa Dongarra, avrà probabilmente nuove funzionalità e sarà diversa dalle architetture leggere.

Allo stesso tempo, i ricercatori stanno considerando quello che nei prossimi decenni sarà necessario per superare l'esascala e realizzare supercomputer ancora più veloci e con migliori prestazioni. Produrre la prossima generazione di supercomputer potrebbe significare adottare tecnologie che attualmente sono ancora nelle loro primissime fasi di sviluppo: circuiti neuromorfici, forse, che sono modellati sul funzionamento dei neuroni nel cervello, o il calcolo quantistico.

Ma molti ricercatori sono preoccupati soprattutto dall'essere sicuri di poter fornire i sistemi a esascale promessi, e dal fatto che le applicazioni scientifiche sviluppate funzioneranno fin dal momento in cui saranno avviate. "Far funzionare l'esascala è ciò che mi tiene sveglio la notte", dice Helland.

(L'originale di questo articolo è stato pubblicato su Nature il 29 novembre 2017. Traduzione ed editing a cura di Le Scienze. Riproduzione autorizzata, tutti i diritti riservati.)