Per innovare servono le buone idee, ma anche tanti dati e la potenza di calcolo per renderli utili. I supercomputer rappresentano quindi un elemento essenziale per una società che non si accontenta mai, che non pone limiti alla propria evoluzione. Anche la sua stessa definizione non ne ha, racchiude un concetto di potenza che cambia man mano che la tecnologia matura. Ogni epoca, quindi, ha un suo supercomputer per vincere le sfide che la caratterizzano.
Cosa si intende per supercomputer
Per definizione, infatti, un supercomputer è semplicemente un computer che raggiunge o si avvicina alla massima velocità operativa permessa nel momento in cui la si valuta. Solitamente non viene utilizzato in ambito domestico, ma si conservano le sue abilità per perseguire scopi di ricerca o di business. Dalle applicazioni scientifiche e ingegneristiche a quelle finanziarie, il supercomputer viene sfruttato laddove ci sono da gestire enormi database o da eseguire una grande quantità di calcoli. Oppure entrambe le cose.
È da immaginare come un sistema di elaborazione con risorse dislocate in più computer, molto potenti. Operando in parallelo, diventano, in grado di raggiungere capacità di elaborazione estremamente alte, adatte per svolgere operazioni complesse. Una delle più frequenti è l’analisi dei big data, un compito che riesce a svolgere in tempi rapidissimi.
L’ordine di grandezza in più nella potenza di calcolo non è l’unico criterio di distinzione dei supercomputer, rispetto a quello tradizionale. Anche la sua architettura è molto differente. È concepita di volta in volta, in modo da spingere al massimo sulle prestazioni.
Per misurare quanto un computer sia un supercomputer, solitamente ci si basa sul numero di operazioni in virgola mobile al secondo. Si parla quindi di flops. Oggi, in verità, si parla soprattutto di petaflop, una quantità pari a mille trilioni di flop, ma nei prossimi anni dobbiamo essere pronti a ragionare in
exaflop. Un tipico computer, invece, può eseguire solo centinaia di gigaflop o decine di teraflop al secondo. Non sono l’uno alternativo all’altro, convivo e conviveranno ancora a lungo. È solo importante capire quando usare l’uno o l’altro e per quali risultati.
Come funziona un supercomputer
Per ottenere performance così distanti tra loro, i due dispositivi devono avere un funzionamento del tutto diverso, infatti così è. I supercomputer sono fin dall’inizio costruiti per essere “super”, quindi in modo che possano contare sull’elaborazione parallela, invece di quella seriale. Ciò significa che non fanno un’operazione alla volta, ma più attività insieme.
Dato un problema da risolvere, essi sono in grado di suddividerlo in parti e lavorare in parallelo sulle diverse componenti ottenute, in contemporanea. Solitamente hanno anche sistemi operativi open source, come Linux, e prediligono come linguaggi di programmazione, C++, C Fortran o altri superiori, per coordinare chiamate a funzioni della libreria.
Per comprendere come funziona un supercomputer è necessario conoscere alcuni concetti alla base di questo dispositivo: il processore vettoriale e il calcolo parallelo.
Il processore vettoriale dei supercomputer permette di eseguire una medesima operazione su una vasta serie di dati, in contemporanea. Un’architettura computazionale che si basa su questo concetto è una sorta di CPU ideata per eseguire operazioni matematiche su più dati elementari in simultanea. Oggi tutti i processori sono dotati di istruzioni vettoriali ovvero SIMD.
Per quanto riguarda il calcolo parallelo, ci si rifà a una caratteristica intrinseca dei supercomputer e alla loro capacità di impegnarsi in un calcolo compiendolo in parallelo su più processori vettoriali. Un’elaborazione di questo tipo tende ad analizzare un problema usando la memoria di sistema il meno meno possibile, per sfruttare invece la memoria di cache dei processori (o dei chipset integrati). Tutto per guadagnare in velocità.
Sempre restando in quest’ottica, le applicazioni saranno legate a task che tendono a parcellizzare i carichi di lavoro su più processori, per evitare sovraccarichi e rallentamenti.
È importante anche sottolineare che, un approccio caratterizzato dal calcolo parallelo, consente di organizzare i supercomputer in data center, strutture enormi, completamente scalabili, con unità di calcolo indipendenti e interconnesse all’HPC.
La storia dei supercomputer: dalle origini alla modernità
A seconda dell’epoca che si considera, variano i “paletti” con cui distinguere un computer da un supercomputer. Li si può infatti definire i più potenti computer del pianeta in un certo periodo storico. Non si ha un verdetto insindacabile e duraturo, quindi, e nemmeno una versione della storia univoca.
Molti esperti fanno per esempio risalire i supercomputer agli anni Cinquanta e, in particolare, al NORC prodotto da IBM. Un’attribuzione motivata dalle innovative soluzioni adottate per ottenere una macchina con migliori prestazioni, soluzioni tecniche diverse da quelle dei modelli precedenti.
La prima volta che spunta ufficialmente il termine super computing, però, è ben prima: nel 1920. Lo si trova in un articolo del quotidiano New York World, usato per descrivere una macchina elettromeccanica costruita sempre da IBM, ma per la Columbia University.
Un passaggio importante nella storia dei supercomputer avviene tra gli anni Sessanta e la metà degli anni Settanta. In questo periodo il leader in supercomputer è la CDC. Per ottenere elevate prestazioni di calcolo i suoi tecnici svilupparono diverse soluzioni, utilizzando anche processori specializzati per i diversi compiti, pipeline e processori vettoriali. Scelte coraggiose, tanto da rischiare di far fallire la società, ma anche di far progredire la tecnologia. Tra tecnici insoddisfatti che abbandonarono la CDC per tentare nuove strade c’era anche Seymour Cray. Oggi il suo nome brilla nella storia dell’informatica, affianco al suo Cray-1 con cui segnò una nuova strada per raggiungere un’elevata potenza di calcolo.
Dalla metà degli anni Settanta fino alla fine degli anni ottanta resta protagonista la Cray Research. Le sue innovazioni si distinguono e influenzano i futuri progressi, a partire dal raffreddamento a liquido o delle strutture a torre in cui alloggiare le schede con le unità di calcolo, per ridurre la lunghezza media delle connessioni.
Negli anni Ottanta la ricerca prosegue, animata da un forte spirito di competizione che si traduce in una accelerazione dello sviluppo delle tecnologie, fino ad arrivare agli anni novanta. Da questo momento in poi, infatti, i supercomputer diventano macchine a parallelismo massivo, basate su migliaia di processori elementari. Prima erano realizzati ad hoc ma verso gli anni 2000 si passa definitivamente a processori generici, che assicurano elevate prestazioni e costi ridotti.
Negli ultimi decenni non si hanno grandi eventi disruptive nello sviluppo dei supercomputer. Questi dispositivi diventano gradualmente sempre più paralleli e dotati di un numero maggiore di processori elementari. Oggi sono veri e propri pezzi unici customizzati, ovvero realizzati su ordinazione, secondo le specifiche necessità di colui che li andrà a utilizzare. Allo stesso tempo restano sempre macchine composte assemblando componenti standard, per contenere i costi di sviluppo e produzione.
Come sono utilizzati oggi i supercomputer
Compreso che non si tratta di computer “da appartamento”, è bene approfondire che uso si sta facendo oggi dei supercomputer. Essendo in grado di svolgere elaborazioni a elevate velocità, hanno impiego nell’ambito della ricerca scientifica (medicina, chimica, biologia, fisica, astrofisica, farmacologia, scienza dei materiali, meteorologia), della finanza, delle simulazioni (aerospaziale, automotive, crittoanalisi), militare e informatica (cybersecurity, blockchain e intelligenza artificiale).
Nel settore medico-farmacologico, per esempio, i supercomputer favoriscono la sintesi di nuovi farmaci, aiutano a sviluppare terapie ad hoc, personalizzate e mirate. Danno una mano anche nei test di nuove molecole farmacologiche o nel capire genesi ed evoluzione di eventi epidemici di natura virale.
Cambiando “genere”, si può parlare di supercomputer anche nel settore meteo, per elaborare previsioni anticipando eventi atmosferici come uragani e inondazioni, attraverso simulazioni. Nell’affrontare il cambiamento climatico queste macchine possono svolgere un ruolo fondamentale per monitorare lo stato delle risorse terrestri ma anche per abbattere l’impatto delle emissioni di gas climalteranti.
Anche nel campo della cybersecurity, i supercomputer rappresentano uno strumento valido per aumentare il livello di protezione contro gli attacchi informatici e prevenire il meglio possibile le future mosse dei cyber criminali.
Per quanto riguarda settori industriali come l’automotive, l’agricoltura e la space economy, macchine così performanti permettono di cambiare prospettiva. L’analisi dei dati si trasforma e, con nuove performance molto più efficienti, veloci e accurate, impatta sui business model e sulle dinamiche di mercato.
Supercomputer in azione: casi d’uso reali
Per meglio immaginare cosa significa un supercomputer che fa cambiare scenario a interi settori, meglio riportare degli esempi concreti
Modellizzazione di una pandemia, supercomputer alleati della ricerca scientifica
Dal Covid-19 all’influenza suina H1N1, le epidemie richiedono una risposta accurata e rapida che permetta di capire come si stanno diffondendo e quale farmaco serve per bloccarle. La potenza di calcolo consente di fare previsioni e simulazioni più accurate in tempi brevi, oltre che interessanti simulazioni delle possibili mutazioni dei virus.
Controllo dello smog nelle città
Una efficiente analisi dei dati di inquinamento e meteorologici, consente di mappare meglio il territorio e la sua aria. I report accurati ottenuti, sono uno strumento prezioso per implementare nuove politiche ambientali data-driven, oggi urgenti.
Previsioni meteorologiche
Le previsioni del tempo devono essere sempre più precise, non solo per decidere cosa fare nel weekend.
La priorità con cui si realizzano è quella di cercare di conoscere in anticipo dove e quando si verificheranno i prossimi eventi estremi. Uragani, tsunami, terremoti ma anche acquazzoni, grandine e temporali violenti. I supercomputer abbattono i tempi di realizzazione e assicurano la precisione che serve per poter progettare piani d’azione e anche di previsioni dei rischi. La potenza di elaborazione dei supercomputer supporta in maniera decisiva climatologi che li usano come strumento per compiere analisi di dati non banali, potendosi spingere oltre ai limiti consentiti dai normali computer.
Ciò vale per la meteorologia, ma anche per tutti gli altri campi della ricerca scientifica.