Dai primi, tradizionali supercomputer alle moderne tecnologie di ‘high performance computing’ (HPC), l’elaborazione dati ad alte prestazioni si porta alle spalle una storia lunga decenni. Oggi, tuttavia, la tecnologia HPC torna più che mai d’attualità, e sale alla ribalta, cavalcando la nuova onda d’innovazione di questi anni, che la proietta direttamente verso l’era ‘exascale’, capitalizzando sulle più recenti architetture e tecnologie sviluppate in campo elettronico e informatico. Una stagione, quella exascale, che promette di far diventare i sistemi HPC, da un lato, un pilastro ancor più essenziale in campo scientifico per la ricerca d’avanguardia, e, dall’altro, un fattore chiave in grado, negli anni a venire, di alimentare i prossimi passi della rivoluzione digitale, liberando il potenziale degli algoritmi intelligenti (AI, machine learning, deep learning) in molti settori industriali e imprenditoriali.
HPC verso gli exaflop
Per HPC si intende l’adozione di ‘supercomputer’, e di evolute tecniche di elaborazione dati parallela, per risolvere problemi di calcolo complessi, in maniera rapida, affidabile, ed efficiente, sfruttando la potenza di analisi, simulazione e modellazione dei dati fornita dai sistemi elettronici. Problemi computazionali che, a causa delle enormi moli di dati in gioco, non sono di norma affrontabili utilizzando i normali computer standard, dotati di una sola CPU, che non non riuscirebbero a gestire tali livelli di elaborazione, o comunque richiederebbero troppo tempo. In effetti, un sistema HPC si può descrivere come un ‘cluster’ di computer, quindi un gruppo di server e altre risorse, strettamente connessi e in grado di funzionare come un singolo sistema, eseguendo elaborazioni in parallelo. Nell’architettura cluster, ciascuna macchina che costituisce la rete di server è un nodo: in ogni nodo (server) le moderne CPU multi-core integrano più unità di elaborazione, i core appunto, capaci di eseguire istruzioni operando in parallelo.
In genere, la potenza di elaborazione di un sistema HPC viene misurata in FLOPS (floating-point operations per second), cioè in operazioni in virgola mobile per secondo. Attualmente, i sistemi HPC più veloci al mondo riescono a operare a velocità che si collocano nell’ordine di grandezza dei petaflops (1015 flops), ossia milioni di miliardi di operazioni al secondo.
Tuttavia, il prossimo traguardo, a cui si arriverà presumibilmente verso il 2020, prevede la realizzazione di macchine ‘exascale’, in grado di raggiungere l’ordine di grandezza degli exaflops (1018 flops), cioè miliardi di miliardi di operazioni al secondo.
HPC, strumento strategico per la scienza e il business
Sviluppare e utilizzare per primi una tecnologia HPC exascale, significherebbe entrare in possesso di uno strumento decisivo per mantenere una supremazia scientifica nei principali campi di studio; per potenziare le strategie di sicurezza e cybersecurity; per conservare una capacità competitiva d’avanguardia a livello industriale. Oggi però la ragione chiave che giustifica l’adozione di un sistema di calcolo ad alte prestazioni di tale potenza è il fenomeno di incessante ed enorme espansione dei volumi di dati (big data). Moli di dati così grandi richiedono una tecnologia adeguata, in qualunque ambito sia necessario analizzarli con efficacia ed efficienza, per estrarre ‘insights’, informazioni subito utilizzabili, ad esempio per sviluppare simulazioni e modelli che aiutino a migliorare le prese decisionali.
Giusto per chiarire quanto sia intensa la competizione sulla partita exascale per conservare la leadership nel settore HPC – in cui si confrontano Usa, Cina, Giappone, Unione europea – si può citare l’annuncio, nel luglio 2015, da parte dell’ex presidente degli Stati Uniti Barack Obama, della National Strategic Computing Initiative (NSCI), il cui primo obiettivo, si legge nel piano strategico, è proprio accelerare la fornitura di un sistema di elaborazione di classe exascale, in grado d’integrare funzionalità hardware e software per erogare all’incirca cento volte le prestazioni degli attuali sistemi a 10 petaflops. Secondo le roadmap del settore, si legge sempre nel piano, una macchina exascale diventerà disponibile, attraverso i normali driver commerciali, per il 2030, ma l’obiettivo di NSCI è ottenere questa tecnologia HPC per la metà del 2020.
HPC di classe exascale: i problemi da superare
Sulla fattibilità di progettazione dei sistemi exascale pesano diversi inconvenienti. Ecco i principali.
- Consumi. Un primo grande problema sono i consumi di energia: oggi, stima il Dipartimento dell’energia (DOE) statunitense, se si scalassero semplicemente gli attuali requisiti per un computer petaflop, nel 2020 una macchina da un exaflop richiederebbe 200 megawatt. Per quell’anno l’obiettivo del DOE è invece contenere tale consumo attorno ai 20-30 megawatt, sempre per arrivare a un exaflop.
- Memoria. Al di là della capacità computazionale, il vero grande ostacolo verso il traguardo exascale resta la banda e la capacità di memoria del sistema: quest’ultima rischia di diventare il collo di bottiglia in grado di vanificare l’aumento della potenza in flops. In altre parole, i futuri sistemi exascale potrebbero trovarsi con una ridotta capacità di memoria per core, che finirebbe per incrementare le comunicazioni, influendo sull’efficienza di calcolo. Alcune recenti innovazioni nell’architettura di memoria, come le memorie a cambiamento di fase (PCM – phase-change memory) o i ‘memristor’ promettono, tra i vari benefici, un incremento della capacità di memoria.
- Parallelismo. Un crescente livello di parallelismo ed elaborazione concorrente sarà richiesto, sia a livello di ogni singolo nodo, dove aumentano i domini di elaborazione eterogenei (CPU, GPU, GP-GPU), sia per gestire un crescente numero di nodi del sistema.
- Nuovi paradigmi di computing. Nell’era ‘post-legge di Moore’, il raggiungimento dei limiti fisici della tecnologia CMOS (complementary metal-oxide semiconductor) richiederà anche lo sviluppo e implementazione di paradigmi di computing alternativi, come i superconduttori, l’informatica quantistica (quantum computing) o i circuiti neuromorfici, che imitano la struttura neuronale del cervello umano.
- Architetture d’interconnessione. Occorre correggere la crescente disparità tra l’energia usata per l’elaborazione dati e quella richiesta per trasferirli da un punto a un altro, ad ogni livello: dentro un chip; tra chip su una motherboard, o tra i rack di server connessi all’interno di un data center. In questo campo, la ricerca in aree come l’integrazione 3D (3D IC) e la fotonica su silicio può indirizzare i problemi di consumo dei sistemi d’interconnessione, minimizzando l’energia richiesta per gli spostamenti dei dati.
- Resilienza del sistema. La complessità e il parallelismo delle macchine exascale amplificano le criticità in termini di affidabilità e resilienza, richiedendo nuove tecniche per mitigare i malfunzionamenti hardware e software, che possono compromettere i risultati dei calcoli in maniera più profonda, rispetto agli odierni computer di classe petascale.
<!– [if lte IE 8]>
<![endif]–> hbspt.cta.load(3901390, ’29dc2038-5077-44b8-a70a-a5c8179ff1f4′, {});