Supercomputer: cosa sono e a cosa servono gli elaboratori più potenti del mondo

Li chiamano supercomputer, da quasi un secolo assistono l’uomo nelle sue scoperte, capaci di cambiare il corso della scienza in ambiti fondamentali come la medicina, la biologia, la chimica, piuttosto che le applicazioni finanziarie e le simulazioni ingegneristiche più avanzate. Ma cosa sono davvero i supercomputer? Come funzionano e perché sanno rivelarsi decisivi a tal punto da attirare investimenti per decine di miliardi? Proveremo a dare una risposta ad ognuna di queste domande, ponendoci una riflessione necessaria relativa al futuro del supercomputing.

Un celebre spot televisivo con il leggendario Carl Lewis citava: “la potenza è nulla senza controllo”: la corsa verso l’era exascale, la prossima grande milestone dell’efficienza computazionale, deve necessariamente tenere conto di vari aspetti di gestione ed essere improntata per realizzare dei sistemi HPC (High Performance Computing) meno energivori ed in generale più sostenibili dal punto di vista dello sfruttamento delle risorse necessarie per alimentare la loro incredibile potenza di calcolo. Vediamo pertanto quali sono gli aspetti tecnologici ed organizzativi che caratterizzano il mondo dei supercomputer, per comprendere la loro importanza e soprattutto per capire quali scoperte potranno supportare in un futuro sempre più prossimo.

Cosa sono i supercomputer

Per supercomputer si intendono i sistemi di elaborazione progettati per ottenere capacità di calcolo molto elevate, ai fini di eseguire operazioni matematiche ad altissime prestazioni. Spesso sono identificati anche come HPC (High Performance Computer).

In altri termini si tratta di sistemi storicamente dedicati allo svolgimento di operazioni legate al calcolo scientifico, le cui simulazioni complesse necessitano di numeri del tutto fuori della portata dei singoli personal computer.

Secondo tale definizione, potremmo fare addirittura risalire il primo supercomputer alla macchina analitica di Charles Babbage, che risale alla fine dell’Ottocento anche se, come vedremo, la concezione attuale di questi sistemi è ben più prossima ai nostri giorni, quando al fascino dei primi sistemi meccanici è subentrata l’elettronica e soprattutto una componente software in grado di gestire e interfacciare la potenza a disposizione con le varie applicazioni che la richiedono per portare a termine i loro processi di calcolo.

Ciò che distingue il semplice personal computer dal supercomputer non è soltanto l’ordine di grandezza della potenza di calcolo, totalmente sbilanciata a favore del secondo, ma tutta la filosofia alla base del loro sviluppo, a cominciare dall’architettura che li contraddistingue.

Il computer tradizionale è stato concepito per essere utilizzato da un utente per svolgere soprattutto operazioni di carattere generico, mentre il supercomputer nasce quale sistema destinato a rimanere confinato all’interno di un datacenter, con compiti ben specifici, che hanno consentito di verticalizzare anche in maniera estrema le configurazioni.

Il supercomputer è storicamente un sistema informatico caratterizzato dai costi estremamente elevati che, a dispetto della composizione modulare dei rack che contengono le varie unità computazionali, è spesso progettato e realizzato come un unicum, per svolgere un compito ben preciso nell’ambito del calcolo scientifico. Questo almeno fino agli anni Ottanta.

A partire dagli anni Novanta, complice il netto incremento in termini di performance dei microprocessori per computer, le distanze architetturali tra personal computer e supercomputer si sono ridotte.

Per ottenere sistemi HPC capaci di ottimizzare il rapporto tra prezzo e prestazioni si è progressivamente fatto ricorso alle tecnologie hardware più diffuse sul mercato, come vedremo nel corso dei successivi paragrafi.

A cosa servono

Sin dalla loro origine, i supercomputer hanno occupato la nicchia molto ben remunerata del calcolo scientifico, per supportare la computazione delle simulazioni complesse legate alla ricerca in vari settori, come la medicina, la fisica, l’astrofisica, la biologia, la chimica, la scienza dei materiali, la farmacologia, l’automotive, l’aerospace, la crittoanalisi, le applicazioni in ambito militare, piuttosto che l’indagine climatica e la meteorologia, giusto per citare alcune tra le discipline in cui il ricorso ai sistemi HPC costituisce ormai una prassi consolidata.

Agendo costantemente dietro le quinte, i supercomputer hanno sempre esercitato un ruolo cruciale nell’innovazione dei sistemi industriali e della società civile, oltre a consentire lo svolgimento di dell’analisi dei dati con i sistemi di intelligenza artificiale, piuttosto che nell’ambito della cybersecurity, della blockchain e delle più moderne applicazioni di calcolo scientifico.

La capacità di svolgere calcoli di elevata complessità rende i supercomputer una risorsa indispensabile per il progresso scientifico e per l’innovazione e questa rilevanza strategica contribuisce a destinare al loro sviluppo ingenti investimenti da parte di enti governativi e di grandi holding private.

L’esigenza di risorse computazionali è infatti in continua crescita e l’accelerazione del digitale cui stiamo assistendo negli ultimi anni ha particolarmente enfatizzato questa tendenza.

Supercomputer: come funzionano

Esistono varie tipologie di supercomputer, che possono essere accomunati da una serie di tecnologie distintive. Limiteremo la nostra sintetica rassegna ai sistemi per utilizzo generico, che possono supportare un’ampia gamma di processi di calcolo, in quanto i sistemi specializzati godono spesso di tecnologie talmente specifiche da meritare un’argomentazione differente rispetto al contesto generalista del calcolo ad elevato livello di performance.

Attraverso una serie di definizioni chiave, vediamo quali sono le principali caratteristiche che distinguono a livello computazione i supercomputer e per quale motivo la loro potenza complessiva è oggetto di una continua escalation che dura ormai da oltre cinquant’anni.

Calcolo vettoriale

Si tratta di un modello computazionale che consente di svolgere la stessa operazione, aritmetica o logica, su molti dati simultaneamente.

I sistemi dotati di tali caratteristiche sono ad esempio le schede video per il rendering dei videogiochi e delle applicazioni in computer grafica 3D, che si sono progressivamente diffuse in ambito consumer, agevolando la diffusione di massa e la conseguente riduzione di costi di queste tecnologie.

Tali architetture computazionali sono in grado di svolgere con successo anche i calcoli scientifici, che si basano su modelli matematici simili a livello logico, per cui di recente l’hardware di base delle singole workstation e dei supercomputer si sono avvicinati moltissimo. È la ragione per cui ad esempio un brand come NVIDIA, storico punto di riferimento nelle schede video per il gioco e la visualizzazione 3D professionale ha potuto diversificare il proprio business diventando una forza di prim’ordine anche per quanto riguarda GPU e tecnologie implementate dai supercomputer a dispetto ad esempio di quei player ultra specializzati in sistemi professionali all-in-one, come lo storico marchio Silicon Graphics, la cui offerta è stata assorbita da attori più generalisti.

NVIDIA ha inoltre rafforzato la propria egemonia estendendo le tecnologie GPU, grazie alla recente acquisizione di ARM, che da sempre produce SoC (Sistem-on-Chip) con architettura Risc, molto diffuse sui dispositivi mobile ed in molti contesti più performanti rispetto alle tradizionali architetture x86, soprattutto in termini di contenimento dei consumi.

Il mondo consumer e l’esclusiva nicchia del supercalcolo stanno progressivamente trovando sempre più punti di contatto. Personal computer e supercomputer condividono pertanto molti elementi fondamentali, per cui a fare la differenza sta diventando sempre più la quantità di processori, memoria e sistemi di storage e di rete necessari per raggiungere determinati livelli di performance, che soltanto i sistemi HPC sono in grado di garantire.

Calcolo parallelo

I supercomputer si basano sulla capacità di suddividere il calcolo dei carichi di lavoro in parallelo su più processori. Questa logica consente di strutturare i sistemi HPC in maniera modulare, affiancando un numero incredibilmente elevato di unità di calcolo.

Molti problemi analizzati dai supercomputer possono essere parallelizzati in modo da sfruttare meno possibile la memoria di sistema, utilizzando la più veloce memoria di cache dei processori stessi o dei chipset integrati.

Il segreto risiede quindi nella qualità delle applicazioni, che vanno sviluppate in maniera da creare molti task eseguibili su molti processori, rendendo il più possibile indipendenti e leggeri i carichi di lavoro, per non sovraccaricare il sistema, evitando ad esempio quelle situazioni in cui un processore che ha esaurito il proprio compito rimane fermo anche diversi minuti, in attesa che un altro porti a termine il suo processo di calcolo.

Il calcolo parallelo consente di conformare i supercomputer come attualmente li conosciamo, articolandoli nei data center, dove si succedono una serie di cabinet destinati ad ospitare i rack, quei moduli contenenti CPU, GPU e memorie fondamentali per costituire un’unità di calcolo indipendente ma capace di dialogare con tutte le altre connesse allo stesso sistema HPC.

Tale logica consente di creare delle strutture computazionali enormi, totalmente scalabili e valutabili ormai nell’ordine di milioni di core.

Modello Cluster

Si tratta di una serie di personal computer tra loro connessi tramite soluzioni a bassa latenza, per via di criteri di prossimità e reti molto veloci. Tale modello si avvale quindi di tecnologie standard come quelle dei computer tradizionalmente utilizzati per le operazioni generiche, raggiungendo livelli computazionali elevati grazie alla loro azione sinergica.

Questo modello di supercomputer individua il proprio punto di forza nel fatto, apparentemente paradossale, di non essere nativamente un supercomputer, ma una rete di semplici computer, le cui tecnologie di massa possono abbattere sensibilmente i costi complessivi.

I cluster vengono pertanto utilizzati per realizzare sistemi equivalenti ai supercomputer con una logica di gestione più flessibile rispetto al data center tradizionale, con crescente ricorso alle tecnologie di virtualizzazione, capaci di consolidare oltre modo le risorse hardware a disposizione.

Modello Grid e sistemi collaborativi distribuiti (quasi-supercomputer)

Per incrementare le risorse computazionali a disposizione sono stati messi a punto molti modelli architetturali, tra cui ritroviamo i grid, che consistono nel mettere in rete la potenza di calcolo di vari sistemi di elaborazione, costituiti da vari HPC che non si trovano per forza in una condizione di prossimità fisica.

Esistono almeno due tipologie di grid. La più nota sfrutta un’applicazione in grado di distribuire il calcolo su più sistemi, che comunicano i dati con il server centrale in maniera del tutto indipendente tra loro. Tale modello costituisce da anni la base di funzionamento dei progetti collaborativi @home, utilizzati per la ricerca in ambito scientifico.

Tali progetti consistono in una adesione su base volontaria di utenti che mettono a disposizione le proprie risorse hardware per svolgere in background il calcolo richiesto per portare a termine i job assegnati dal software manager centrale, con cui comunicano grazie ad una applicazione in locale.

Tra i progetti più noti ricordiamo il SETI@home, con l’obiettivo di dimostrare la presenza di forme intelligenti extraterresti, il FightAIDS@home, per supportare la conoscenza utile a combattere l’AIDS, come i progetti Folding@home, che spaziano dalle simulazioni sul ripiegamento molecolare (protein folding) per combattere il cancro e le malattie degenerative, piuttosto che le moderne varianti per studiare la celebre proteina Spike che il virus Covid-19 utilizza per contagiare l’organismo umano.

Folding@home ha registrato numeri record durante il primo lockdown pandemico, dimostrando un enorme senso di solidarietà da parte della comunità informatica.

La particolarità dei progetti collaborativi è data dalla loro enorme flessibilità applicativa, dal momento che possono coinvolgere un computer sfruttando in maniera intensiva le sue risorse CPU e GPU, piuttosto che stressarlo in maniera blanda utilizzando soltanto le risorse che non vengono impiegate durante i processi che normalmente l’utente esegue ad esempio durante la giornata lavorativa. Allo stesso modo, è possibile usufruire del calcolo di un semplice computer portatile come di un supercomputer da un milione di core.

La formula dei progetti collaborativi consente inoltre una sana e stimolante competizione a livello globale, data dalla possibilità di registrare squadre formate da più utenti e sistemi di calcolo, ai fini di assicurarsi punteggi elevati sulla base del numero di simulazioni portate a termine utilizzando l’applicazione. I dati sono riepilogati in classifiche che gratificano il contributo dei volontari che vi aderiscono.

Un’altra tipologia di grid è quella di natura consorziale, come nel caso del LHC (Large Hadron Collider) Computing Grid, una rete di supercomputer utile a gestire l’enorme quantità di dati generata dagli acceleratori di particelle del QUANTUM.

Il celebre ente di ricerca nucleare europeo, con sede in Svizzera, ha infatti stretto accordi a livello internazionale per sfruttare la potenza di molti sistemi HPC, collocati nei data center di tutto il mondo.

Attualmente il grid del CERN conta su 11 hub primari connessi in maniera diretta tramite reti private, a cui si aggiungono svariate decine di hub secondari, localizzati in gran prevalenza in università e centri di ricerca, sfruttando prevalentemente la connessione internet. In questo caso il CERN riesce a suddividere i carichi di lavoro di cui necessita, assegnandoli ai vari hub che collaborano per garantire il risultato complessivo delle simulazioni. Nel momento in cui scriviamo, il grid del CERN può contare su oltre 170 hub complessivi.

Sistemi operativi e linguaggi di programmazione

I supercomputer ormai vengono eseguiti in gran parte da sistemi operativi open source, con una netta prevalenza di distribuzioni Linux (98%), con le quote di completamento relative a sistemi su base Unix ed in misura ancora inferiore Windows Server.

Le interfacce grafiche di gestione sono bene o male le stesse delle distro server Linux standard, in questo caso implementate sui sistemi HPC (Red Hat, CentOS, ecc.).

Il loro livello è decisamente più user friendly rispetto al passato, anche se il problema non si pone più di tanto, in quanto non sono destinate al pubblico generalista, ma ad esperti perfettamente in grado di gestire applicazioni server di complessità molto elevata.

La natura open source dei sistemi operativi Linux non è in questo caso implementata in funzione dell’interoperabilità, dal momento che i supercomputer tendono a rimanere piuttosto incompatibili tra loro, per via della personalizzazione delle estensioni proprietarie che i reparti IT sviluppano per ottimizzare le loro performance e la loro gestione, in cui spiccano ad esempio quelle dedicate alla sicurezza informatica.

Le applicazioni vengono invece scritte prevalentemente utilizzando il linguaggio di programmazione Fortran, capace di sfruttare al meglio le architetture parallele dei supercomputer, risultando più semplice rispetto al C++, soprattutto per quanto riguarda la qualità del codice elaborato dai compilatori.

La presenza di molte tecnologie e la crescente ibridazione tra CPU e GPU ha ovviamente aumentato anche i linguaggi di programmazione coinvolti, come avviene nel caso di CUDA e OpenCl per sfruttare le già citate GPU di Nvidia, le cui funzioni, per quanto supportate da linguaggi open source, si basano in gran parte su tecnologie proprietarie.

A livello software il calcolo distribuito è ad esempio garantito da soluzioni open source come Beowulf, piuttosto che openMosix, che possono creare dei supercomputer virtuali astraendo le risorse dei computer tradizionali che compongono un determinato cluster, piuttosto che un insieme di macchine connesse in rete, con cui un software manager comunica in modalità input/output, per assegnare i job da calcolare e ricevere i risultati delle simulazioni.

Tale logica deriva ad esempio dai render manager, software nati nell’ambito della computer grafica 3D per distribuire il calcolo sulle varie renderfarm che i colossi degli effetti visivi hanno dislocate in varie regioni del mondo.

È ad esempio il modo con cui case di produzione come la Pixar riescono a realizzare i milioni di frame che compongono i loro film di animazione. Alcune tecnologie proprietarie, come nel caso di Bonjour (Apple) consente di realizzare supercomputer virtuali per eseguire compiti specifici.

La varietà tecnologica non manca di certo e ad oggi il principale collo di bottiglia del supercomputing è con buona probabilità costituito dalla disponibilità di linguaggi e tecniche di programmazione specifiche per sfruttare in maniera semplice ed efficiente le capacità di calcolo parallelo dei sistemi HPC.

Per rendere il concetto, sarebbe infatti inutile avere a disposizione migliaia di processori, con applicazioni che riuscirebbero a sfruttarne soltanto una manciata. L’obiettivo delle applicazioni che si avvalgono dei supercomputer per eseguire i loro processi deve pertanto essere mirato a consolidare in maniera dinamica ed ottimale il maggior numero delle risorse a disposizione.

Sviluppo configurazioni hardware

Per offrire un’idea generale di configurazione di un supercomputer, ogni rack potrebbe essere composto almeno da una serie di processori dotati di proprietà di calcolo vettoriale, di un sistema di memoria NUMA (Non-Uniform Memory Access), unità disco HDD e/o SSD configurati in RAID, sistemi di raffreddamento a liquido, oltre ad interfacce in grado di garantire una connessione ottimale con i dataset e le informazioni fornite dai carichi di lavoro. I vari rack vengono installati nei cabinet all’interno dei data center che li alimentano in ambienti controllati.

I supercomputer infatti generano enormi quantità di calore che devono essere prontamente dissipate, ai fini di garantire una qualità adeguata del calcolo, che potrebbe altrimenti risentirne anche in termini di stabilità, oltre che di performance.

Si tratta infatti di sistemi estremamente energivori, costruiti per operare in modalità 24/7, con tutte le conseguenze del caso in termini di stress e consumi.

Un altro aspetto che chi progetta il layout del data center deve necessariamente considerare è quello relativo alle latenze, che devono essere il più ridotte possibile, ai fini di garantire una connessione ottimale tra le varie unità di calcolo.

Si tratta di un concetto elementare, che non vale soltanto nell’ambito dei supercomputer, per cui minore è la distanza tra i collegamenti, maggiore è la velocità di scambio delle informazioni utili.

supecomputer cray
Il modello CDC 6600, creazione di Seymour Cray, considerato il padre dei supercomputer (Autore: Jitze Couperus – Licenza CC – https://upload.wikimedia.org/wikipedia/commons/c/c4/CDC_6600.jc.jpg)

La storia di Seymour Cray, il padre dei supercomputer

I supercomputer esistono di fatto, ma non di nome, dagli anni Trenta del Novecento, quando iniziarono a manifestarsi i grandi elaboratori basati sulla tecnologia meccanica. Erano mostri di svariate tonnellate di peso, capaci di occupare degli interi hangar, per sviluppare una capacità computazionale che oggi susciterebbe ovviamente un senso di tenerezza, ma anche un naturale fascino e un senso di curiosità per delle tecnologie che ora non ci verrebbe nemmeno in mente di associare all’informatica.

I primi “supercomputer” di IBM progettati da Howard Aiken, come l’Harvard Mark, costavano centinaia di migliaia di dollari di quell’epoca, per sviluppare la bellezza di tre addizioni al secondo, mentre una moltiplicazione, di secondi, ne richiedeva ben sei.

Per non parlare dei più semplici calcoli logaritmici, capaci di richiedere oltre un minuto a meccanismi formati da schede perforate, azionate in maniera meccanica da un asse motorizzato lungo diversi metri. Harvard Mark non ebbe un grande futuro, ma certamente un grandissimo merito, quello di essere stato il primo calcolatore automatico, quello che attualmente definiremmo quale computer.

In realtà, il contesto cui facciamo riferimento nell’immaginario attuale fa capo ad un percorso evolutivo iniziato negli anni Cinquanta, quando fece la sua comparsa sulla scena dell’industria informatica un certo Seymour Cray (1925-1996), l’autentico deus ex machina dei supercomputer.

A Cray si deve il progetto di CDC 1604, il primo supercomputer costruito nel 1961 dalla Control Data Corporation, che divenne ben presto la principale antagonista di IBM, con cui ebbe inizio una fiera rivalità nello sviluppo dei primi grandi elaboratori destinati al calcolo scientifico.

Fu un’altra creazione di Seymour Cray, il CDC 6600, a strappare il primato di velocità al “rivale” IBM Stretch, con quella che per l’epoca rappresentava una incredibile capacità computazionale: ben tre milioni di FLOPS (floating-point operations).

l termine supercomputer non era ancora stato coniato, lo sarebbe stato di lì a breve e l’ascesa della computazione verso livelli di performance sempre più elevati non si sarebbe più fermata.

Dopo alcuni anni di proficua collaborazione, Cray decise di lasciare la CDC per mettersi in proprio e fondare la Cray Research Inc. che nel 1976 presentò al mondo il suo Cray-1, il primo supercomputer basato sul calcolo vettoriale, una tecnologia che avrebbe di fatto aperto una nuova dimensione nell’ambito della scienza degli elaboratori.

Cray uscì di scena nel 1981, pur continuando a collaborare con l’azienda da lui fondata come consulente esterno. In quel periodo aumentò i propri sforzi sulla ricerca dei sistemi multiprocessore, che oggi diamo per scontati persino sul più semplice degli smartphone, ma all’inizio degli anni Ottanta rappresentavano ancora un concetto piuttosto rivoluzionario.

Tale design comportava infatti la suddivisione dei processi di calcolo per assegnarli a processori multipli, in modo da distribuire il calcolo su sistemi scalabili sempre più estesi. Tale filosofia, una volta tradotta nella controparte tecnologia, avvio una vera e propria escalation degli HPC a livello di performance.

Sulla base dei progetti scaturiti dall’instancabile genio di Seymour Cray, si susseguirono i primi supercomputer con tecnologia a multiprocessore, come il Cray X-MP (1982), caratterizzato da due Cray-1 in parallelo, il Cray-2 (1985), il primo HPC a sfondare la barriera del miliardo di FLOPS, e il Cray Y-MP (1988), capace di elevare tale limite a 2.67 miliardi di FLOPS. Sulla base di questi successi, Seymour Cray decise di fondare la Cray Computer Corporation, ma il mercato del computing stava rapidamente cambiando, con il crescente interesse per i sistemi a microprocessore. Una serie di insuccessi e circostanze poco favorevoli portarono l’azienda a dichiarare bancarotta nel 1995.

Cray tuttavia non si diede per vinto ed aprì una nuova realtà imprenditoriale nel corso dell’anno successivo: la SRC Computers. Il nuovo sogno rimase tale, in quanto nell’ottobre del 1996 Seymour Cray perse la vita in un tragico incidente stradale.

Con lui se ne andava per sempre una personalità unica nella computazione informatica. Grazie al suo spirito pionieristico e alla sua costante genialità, la celebrità e la credibilità tecnologica dei supercomputer ha assunto la rilevanza con cui oggi siamo soliti identificarli.

Dopo la scomparsa del suo fondatore e il già citato fallimento, il marchio Cray sopravvisse grazie ad una serie di acquisizioni. Nel 1996 venne rilevata da Silicon Graphics, mentre dal 2019 è parte integrante del gruppo HPE (Hewlett Packard Enterprise) che ha aperto l’apposita divisione HPE Cray, dedicata allo sviluppo di sistemi HPC.

I supercomputer, come accennavamo, sono nel frattempo diventati una celebrità, soprattutto grazie all’instancabile ricerca di IBM, che oltre a spingere sul fronte computazionale ha cercato di allargare progressivamente il fronte applicativo, puntando molto su questo aspetto anche a livello mediatico.

È il caso della sfida a scacchi tra il supercomputer Deep Blue e il campione russo Garry Kasparov, leggenda vivente della disciplina e ai tempi il più forte scacchista in attività. Deep Blue era in sostanza dotato di un’intelligenza artificiale programmata con la consulenza di grandi esperti di scacchi, per istruirlo sul maggior numero di combinazioni possibili.

Grazie alle sue istruzioni, Deep Blue poteva rispondere alle mosse di Kasparov, al punto da riuscire a batterlo dopo una serie di sei affascinanti partite, che attirarono l’attenzione mediatica di tutto il mondo: era il 1996.

Da allora le intelligenze artificiali hanno fatto enormi passi avanti, arrivando ad apprendere automaticamente le regole del gioco grazie alle tecnologie di deep learning, che richiedono tuttavia una crescente capacità di calcolo per eseguire le loro operazioni.

È il caso delle applicazioni Alpha di Deepmind, supportate dai supercomputer di Google, la cui tecnologia Tensorflow è stata progettata ed ingegnerizzata proprio per ottimizzare le istruzioni dei processori in modo da rendere più performanti le applicazioni AI.

Deep Blue fa parte di una tipologia definita supercomputer specializzati, di cui sono stati tra gli altri celebri esponenti anche GRAPE (Astrofisica), Deep Crack (Crittografia) e Anton (Bioinformatica).

Il resto è storia recente, con la nascita del progetto Top 500 (1993), un database che ogni sei mesi aggiorna la lista dei cinquecento supercomputer più potenti al mondo. Al di là dello spirito da hit parade che piace tanto agli americani, inguaribili fanatici per qualsiasi cosa assomigli ad una classifica, tale iniziativa si è ben presto rivelata molto utile per avere una visione unificata dei più grandi elaboratori del pianeta, delle loro tecnologie e delle loro applicazioni.

supercomputer fugaku
Fugaku, il più potente supercomputer al mondo, realizzato in Giappone da Fujitsu nei datacenter Riken di Kobe (Autore: Hiroko Hama – Licenza CC – https://upload.wikimedia.org/wikipedia/commons/6/6f/Supercomputer_Fugaku.jpg)

La top 500, gli anni 2000 e l’obiettivo exascale

Mentre Kasparov si dannava l’anima per cercare di competere con Deep Blue, i supercomputer si facevano sempre più strada nei laboratori delle principali industrie, a partire da quella militare.

Il ban dei test nucleari, firmato nel 1996 da una serie di paesi, tra cui gli Stati Uniti d’America, costrinse i fisici e gli ingegneri militari a dover cercare soluzioni virtuali per poter procedere con la ricerca, non avendo modo di provocare devastanti esplosioni nei luoghi più remoti del pianeta.

Il Dipartimento di Energia americano finanziò il progetto ASCI (Accelerated Strategic Computing Initiative) che nel 1997 vide l’esordio del primo supercomputer capace di simulare i test nucleari: ASCI Red, sviluppato da Intel, con oltre 9.000 processori Pentium Pro, per una potenza equivalente di 1.8 TeraFLOPS (TFLOPS).

Sempre dai fondi della difesa del governo americano è nato il progetto di IBM per i supercomputer Blue Gene, capaci nel 2007 di superare la soglia dei 500 TeraFLOPS, con software di gestione interamente open source, a partire dal sistema operativo Linux.

Nel 2008, IBM RoadRunner ha superato la soglia del petaFLOP (1000 TeraFLOPS), grazie ad un’architettura computazionale ibrida, basata su circa 7.000 CPU AMD Opteron e 13.000 processori IBM Cell Broadband Engine, utilizzati anche per le GPU della console gaming Sony PlayStation 3. La questione non sorprende, se si considera come la tipologia di calcolo vettoriale del rendering gaming sia molto simile alle simulazioni matematiche sviluppate in ambito scientifico.

A livello globale è iniziata una lunga sfida a distanza tra USA e Cina, per assicurarsi l’egemonia nell’ambito del supercomputing. Sono queste due nazioni infatti a ricoprire la maggior parte delle posizioni della Top 500, la classifica che certifica e aggiorna continuamente l’elenco dei supercomputer più potenti al mondo, con la Cina a dominare in termini numeri e gli USA in termini di presenza nelle posizioni di vertice.

La terza nazione classificata in termini di numero di supercomputer Top 500 è il Giappone, che può vantare sul capolista Fugaku, realizzato da Fujitsu nei datacenter Riken di Kobe. Fugaku è attualmente affiancato sui gradini più bassi del podio da IBM Summit e IBM Sierra, entrambi localizzati in data center statunitensi.

Nel momento in cui scriviamo (dati Top500 del secondo semestre 2021) l’Italia conta soltanto su sei sistemi Top 500, anche se molto ben posizionati. Tra questi spicca HPC5, supercomputer di ENI, sviluppato da Dell EMC e collocato in un data center nella provincia di Pavia, attualmente alla posizione numero 9 del ranking Top 500 grazie ai 35,45 PetaFLOPS di cui dispone, precedendo di una posizione un’autentica celebrità nel suo genere: Frontera, il supercomputer della University of Texas (USA). HPC5 di Eni è attualmente il secondo supercomputer più potente in Europa, preceduto soltanto dal tedesco JUWELS (44,12 PetaFLOPS). Eni dispone inoltre di altri 3 sistemi Top 500: HPC4 (33), HPC2 (128) e HPC3 (182)

Subito fuori dalla top10 ritroviamo un altro supercomputer italiano: Marconi-100 (14), in forza al CINECA di Bologna, mentre il sistema davinci-1, attivo dal 2020 nel data center genovese di Leonardo SpA, è posizionato da Top500 alla posizione numero 119 del ranking mondiale.

Il prossimo grande traguardo in ambito HPC è costituito dal raggiungimento del exascale, l’equivalente di 1000 PetaFLOPS.

Il più potente supercomputer al mondo, il già citato giapponese Fugaku, basato su tecnologia ARM, può contare su 442 PetaFLOPS e pur essendo di gran lunga il sistema più potente attualmente disponibile è ancora molto distante dal raggiungere exascale. Per arrivare a tale milestone nella storia del supercomputing sono attualmente in fase di sviluppo diversi progetti che dovrebbero iniziare a vedere la loro operatività nel corso del 2022, tra cui Frontier, basato su tecnologie AMD.

A livello tecnologico la tendenza è un modello ibrido CPU+GPU che consente di calcolare la maggior parte delle applicazioni che vengono sviluppate in ambito scientifico. Il database di Top 500 di racconta che Intel gode della grande maggioranza delle GPU presenti, superando il 90% del totale, mentre il leader in ambito GPU è naturalmente NVIDIA, che come abbiamo visto può contare anche sulle tecnologie di ARM. Anche AMD si sta diffondendo rapidamente grazie alle performance dei suoi processori EPYC.

Tale varietà tecnologica è sicuramente fondamentale per evitare situazioni di stand-by monopolistico ed accelerare il più possibile la ricerca, nonostante alcune difficoltà a livello globale che non possono certamente essere trascurate, come la crisi globale dei chip che ha investito il mercato hardware a partire dal 2020.

Default image
Francesco La Trofa
Da vent’anni attivo nella ricerca relativa alle tecnologie 3D, divulgatore sul tema delle applicazioni enterprise di tali tecnologie e autore di “VR Developer. Il creatore di contenuti in realtà virtuale ed aumentata” (2018), edito da Franco Angeli (vrdeveloper.info). Scrive di IT anche per il portale https://www.sergentelorusso.it/
Articles: 41