Se la scienza chiama, i supercomputer rispondono

Resilienza, Tech no tech| Una intervista a David Vannozzi

È quasi passato un anno dal 31 dicembre 2019. In quel giorno, le autorità locali di Wuhan, nella provincia di Hubei (Cina), segnalavano la presenza sul territorio di casi di polmonite di origine sconosciuta. È quasi passato un anno, e, ad oggi, la pandemia ha fatto registrare più di 65 milioni di casi nel mondo e circa 1 milione e mezzo di decessi.
Un mese dopo l’allarme lanciato dalla Cina, l’Unione Europea lanciava a sua volta una chiamata alle armi con un bando Horizon2020. La chiamata riguardava l’urgent computing, la necessità cioè di poter accedere alle risorse di calcolo dei supercomputer per accelerare la ricerca di una terapia contro il Covid-19.
In Italia, se si parla di supercomputer si parla di CINECA il più importante centro di supercalcolo per la ricerca scientifica nazionale. Abbiamo raggiunto via mail David Vannozzi, Direttore Generale e responsabile dello sviluppo, dell’organizzazione e della gestione delle attività del CINECA, per rivolgergli alcune domande…

Come ha risposto il CINECA alla domanda da parte della comunità scientifica internazionale relativa al così detto «urgent computing»?

“Ormai da anni CINECA sta lavorando per rendere l’urgent computing una realtà nel mondo dell’HPC (High Performance Computing). Sebbene la possibilità di avere accesso in maniera rapida a risorse HPC condivise ponga una serie di problemi la cui soluzione non è sicuramente banale, CINECA ha già dato prova di esserne capace.
Proprio in questi mesi ad esempio, su richiesta del consorzio EXSCALATE4CoV di cui CINECA fa parte, abbiamo messo a disposizione l’intero sistema Marconi100 in modalità “Urgent”: gli utenti EXSCALATE4CoV sono stati così in grado di utilizzare l’intera macchina per completare in pochi giorni i propri studi su nuovi farmaci per contrastare l’epidemia del Sars-Cov-2 (qui l’approfondimento sull’esperimento di fast track condotto lo scorso fine settimana).
CINECA è anche partner del ChEESE Center of Excellence, che sta attualmente mettendo in piedi un task dedicato all’urgent computing, finalizzato alla previsione di eventi ad alta criticità quali terremoti e tsunami.

Come avviene la simulazione delle interazioni tra proteine del Coronavirus e le molecole farmacologiche?

Per capire il funzionamento biologico delle proteine bisogna conoscere la loro struttura tridimensionale che non è statica, ma dinamica, data da tante possibili “conformazioni” ossia da diverse disposizioni degli atomi nella molecola. La simulazione delle interazioni fra le molecole farmacologiche e le proteine del Coronavirus è uno studio di energia di legame fra diverse possibili conformazioni della proteina ottenute precedentemente (sempre sui supercomputer del CINECA) e le molecole farmacologiche.
Quindi in pratica, prima si studia un’evoluzione nel tempo della proteina al livello atomico in maniera da esplorare tutte le possibili conformazioni (e in questi studi si cerca anche di capire di più sulla funzione biologica delle proteine stesse) e poi usando un insieme scelto di queste conformazioni/stati si fa il calcolo di una migliore energia di legame con le molecole farmacologiche all’interno di diverse cavità dette siti di legame. Le molecole che meglio interagiscono con la proteina, ossia che si legano più efficacemente, sono dei candidati per gli studi successivi.

Nel 2016 Nature annunciava la morte della Legge di Moore, che per anni aveva guidato il progresso dell’industria informatica. A che punto siamo oggi?

La Legge di Moore nella sua formulazione più nota sostiene che “il numero di transistor integrati nell’unità di area raddoppia ogni 18 mesi”. Questa però viene spesso erroneamente associata solamente ai suoi aspetti tecnologici di scala di integrazione quando in realtà, considerando l’articolo seminale del 1965 a firma di Gordon Moore da cui prende il nome, ha innumerevoli corollari, dall’economia di scala dei processi costruttivi alla potenza di calcolo. Quello a cui siamo di fronte è, oltre ad un rallentamento e relativa esplosione dei costi associati alle tecnologie di integrazione, un incremento della potenza di calcolo realmente disponibile che invece continua la sua progressione senza evidenti deviazioni. Questo effetto si spiega con la specializzazione: stiamo osservando un aumento esponenziale del silicio che svolge singole operazioni verticali, specifiche di un campo di applicazione o addirittura di un singolo algoritmo, in modo estremamente efficiente. Un esempio calzante sono gli acceleratori per l’Intelligenza Artificiale: oltre che nei supercalcolatori, sono presenti nell’elettronica di consumo in proporzioni sempre più importanti (il “Neural Engine” dell’ultimo modello di iPhone, ad esempio). La sfida alla quale anche CINECA partecipa è: riusciremo ad adattare metodi e algoritmi per sfruttare questi componenti specializzati costringendoli a svolgere calcoli di uso più generale, potenzialmente anche in contrasto con il loro scopo originario? La Legge di Moore è morta? Citando Peter Lee (VP Microsoft Research): “il numero di persone che annunciano la morte della Legge di Moore raddoppia ogni 18 mesi”, ma l’evoluzione delle tecnologie di calcolo basate sul silicio gode di ottima salute.

Qual è, se c’è, un limite all’utilizzabilità delle risorse hardware? Il limite è nei software?

“Per ragioni di sostenibilità energetica, l’evoluzione dell’hardware si è spinta nella direzione di sistemi con moltissime unità di calcolo, ognuna delle quali di limitata potenza (e quindi velocità). Un esempio di questo trend lo vediamo anche nella realtà di tutti i giorni, con i nostri dispositivi mobili, smartphone o tablet, che contengono ormai due o anche più cores. La conseguenza è che per poter sfruttare al meglio questo tipo di hardware, il software deve essere in grado di “esporre il parallelismo”. In altri termini, gli algoritmi devono essere codificati in modo da poter essere eseguiti in modo massicciamente parallelo.
Attraverso l’High Programming Computing è possibile scrivere del software che sia in grado di sfruttare al massimo l’hardware che oggi si ha a disposizione. In questo senso, mi sento di dire che il limite dell’utilizzabilità è in qualche modo fissato dall’hardware: data una certa potenza computazionale, un bravo programmatore HPC è colui che riesce a scrivere software in grado di sfruttarla a pieno. Con l’avvento di nuove tecnologie di calcolo, come i computer quantistici, l’asticella del limite hardware verrà innalzata, e di molto. Anche qui, in analogia con quanto avviene oggi, ci sarà bisogno di bravi quantum developers in grado di scrivere algoritmi quantistici che sfruttano in modo efficiente le risorse quantum a disposizione.”

La capacità computazione di un computer si calcola in petaFLOPS: i FLOPS (FLoating point Operations Per Second) sono il numero di operazioni in virgola mobile (sistema che permette di rappresentare in maniera compatta numeri molto grandi, o molto piccoli, positivi o negativi) eseguite in un secondo dal processore di un computer. Un petaFLOP equivale a un milione di miliardi di operazioni. Marconi100, il supercomputer del CINECA, attualmente al 9° posto della Top500 dei computer più potenti del mondo , può vantare una potenza di calcolo di 21.6 petaflops.
Ad aprile dello scorso anno Folding@Home (l’attuale progetto di calcolo distribuito più famoso e partecipato al mondo) annunciava, dal suo account Twitter , di aver superato la potenza computazionale di 2,4 exaFLOPS (non faremo i calcoli questa volta, vi basti sapere che superava la potenza computazionale di tutti i 500 supercomputer della lista Top500 messi insieme).

Ma qual è la differenza tra supercomputing e grid computing?

“Il grid computing, o calcolo distribuito, sfrutta la possibilità di scomporre un problema in tanti piccoli elementi indipendenti l’uno dall’altro. In questo modo le risorse possono trovarsi sparse ovunque e ognuno dei vari pezzi può essere calcolato in momenti differenti contribuendo comunque alla ricerca di una soluzione. Il calcolo HPC, in senso stretto, invece si avvale di sistemi in cui diverse parti del problema vengono calcolate in parallelo ma con la possibilità di scambiare informazioni fra di loro. Per alcuni classi di problemi il calcolo grid può essere una soluzione, ma non per tutti. L’importanza di costruire supercalcolatori sempre più potenti e veloci resta fondamentale per molti problemi scientifici.”

Che caratteristiche hanno i problemi che possono essere risolti più facilmente utilizzando i tipi di calcolo parallelo che si trovano nei supercomputer moderni?

“I problemi che possono essere risolti dai supercalcolatori moderni sono di tantissimi tipi: dai modelli di diffusione dei virus nell’aria, al calcolo delle proprietà dei materiali con cui si costruiranno le batterie dei nostri smartphone, ai modelli che spiegano l’origine dell’Universo.
Tutti questi problemi sarebbero insolubili senza una strategia di parallelizzazione che li renda eseguibili sui nostri supercomputers. La strategia vincente consiste nel capire come riuscire a decomporre il problema che si vuole risolvere in tanti pezzi che possono essere calcolati simultaneamente. Il trucco, fondamentalmente, è capire come fare per dividere bene il lavoro e arrivare alla soluzione nel minore tempo possibile.”

Last modified: 23 Dicembre 2020