C'è sempre qualcosa di inatteso e piacevole ad attenderci, quando ci capita di toccare con mano le applicazioni pratiche della tecnologia che siamo soliti descrivere quotidianamente nelle nostre pagine. Assume un significato completamente differente vedere una tecnologia, magari descritta in precedenza con fredda dovizia di particolari, destinare le proprie potenzialità alla realtà quotidiana laddove è chiamata a fare sul serio, non più a stupire l'appassionato con termini tecnici, valori di cache o frequenze operative, numeri messi in mostra per stupire gli appassionati e mettere in guardia la concorrenza.

Sebbene sia chiaro come i moderni sistemi informatici giustifichino la loro presenza sul mercato con una reale applicazione pratica utile a tutti, vi sono frontiere della ricerca alle quali il normale PC non basta. Simulare il comportamento di gas, fluidi o previsioni finanziarie, solo per citare gli ambiti più conosciuti, non costituiscono degli studi fini a sé stessi, volti ad alimentare l'ego di scienziati eccentrici e narcisisti. La previsione di un sisma, così come di una situazione meteorologica particolarmente turbolenta, ha l'immediato beneficio di poter salvare molte vite, così come quello di arricchire la conoscenza globale su un determinato problema, al fine di migliorare la nostra qualità di vita.
Studiare questi fenomeni significa sviluppare modelli matematici che si facciano carico di simulare situazioni sempre più reali, che vanno di pari passo con la realizzazione di centri di calcolo particolarmente potenti, chiamati all'immane compito di passare al vaglio Terabyte e Terabyte di dati grezzi. Un compito possibile solo a grandi centri di calcolo, lasciando fuori interi reggimenti di studiosi che a tali strutture hanno un accesso molto limitato, se non nullo. Eppure qualcosa sta cambiando nel mondo accademico e nel settore della ricerca in genere, come testimonia l'esperienza maturata in seguito alla visita del Politecnico Federale di Losanna.
Una visita organizzata quasi per caso, quando nella lontana California abbiamo avuto modo di parlare con il personale E4 Computer Engineering nel corso dell'evento GTC NVIDIA. "Perché non fate un salto a vedere la nuova installazione Nvidia Tesla a Losanna?". Un invito apparentemente come molti altri, di per sé non sufficiente a convincerci a lasciare l'ufficio per una trasferta. In fondo non si tratta né del primo né dell'ultimo sistema di questo tipo installato nel mondo. Cosa avrà mai di speciale? La curiosità è comunque qualcosa che ti rode dentro e che ti spinge a saperne di più, per metterla a tacere con l'entusiasmo o la delusione. Contattato il personale del politecnico losannese per saperne di più, onestamente senza particolari aspettative, non abbiamo più avuto dubbi. Mercoledì 11 novembre si parte. Prima dell'alba, alle ore 5: di fronte a noi le Alpi che fra non molto supereremo. Losanna è proprio là dietro.

Nonostante la distanza in linea d'aria nemmeno eccessiva, servono quasi 5 ore per arrivare a Losanna, distante dai trafori alpini quanto basta per allungare il percorso in maniera inattesa. Giunti sul posto ci troviamo di fronte un istituto abbastanza grande, con l'ordine e la calma che contraddistingue gli ambienti di studio d'oltralpe. Non c'è il vociare tipico delle nostre latitudini, sostituito da un'atmosfera quasi ovattata. Chiamiamo il Dottor Simone Melchionna, che arriva poco dopo. E' lui la persona che ci dirà a cosa serve l'installazione NVIDIA Tesla, oltre a farci capire a grandi linee gli studi che conduce fra queste tranquille mura.

Il Dottor Melchionna ha il suo ufficio all'interno del dipartimento LMMM, Laboratory of Multiscale Modeling of Materials. Andando più nel dettaglio, fra le sue occupazioni troviamo la scienza computazionale applicata alla fluidodinamica e al movimento atomico di particelle, finalizzata alla definizione di un modello di dinamica molecolare. In questi termini, il lavoro del Dr. Melchionna è ancora fumoso e non incontra ancora l'interesse che merita. Entriamo maggiormente nel dettaglio.
Lo studio prevede la creazione di un modello di mappa delle arterie coronariche, la cui struttura è differente da persona a persona. Si tratta di uno studio tutt'altro che accademico, in quanto molti dei decessi di natura cardiaca sono causati proprio da problemi alle coronarie e da patologie più o meno visibili con le metodologie tradizionali. Le placche presenti all'interno della rete coronarica sono di fatto delle bombe a tempo: il distacco di queste placche, non individuate, possono portare alla morte improvvisa per infarto, evitabile in molti casi attraverso una diagnosi precoce del problema e intervento mirato.
Lo studio è davvero innovativo: si tratta di ricostruire la geometria esatta della rete arteriosa che circonda il cuore, mappabile attraverso immagini provenienti dalla tomografia computerizzata ad alta risoluzione. Tutto parte da un numero molto elevato di immagini ritraenti sezioni del cuore, eseguite con un macchinario simile come concezione alla TAC ma con una risoluzione più elevata. Ogni singola immagine è di fatto un piano che costituisce una sezione cardiaca con ogni dettaglio che, affiancata ad altre simili ma in posizioni differenti, vanno a costruire un grossolano modello tutto da interpolare. Maggiori le sezioni mappate, maggiore sarà la fedeltà del modello.
Un problema che sembra semplice a parole ma che diventa incredibilmente complicato nei fatti. Prima di tutto servono algoritmi per definire cosa è arteria coronarica e cosa non lo è, all'interno di immagini tutt'altro che semplici da interpretare. Fatto questo, software sviluppati ad hoc cercheranno di interpretare la mappa coronarica e definire in seguito il flusso sanguigno, andando a realizzare l'ambizioso progetto. Altro problema da non trascurare: queste misurazioni sono effettuate su pazienti ovviamente vivi e, a differenza di altri organi, il cuore batte. E' quindi ordinaria amministrazione che possano esistere immagini ritraenti sezioni molto differenti rispetto allo "scatto" immediatamente precedente.
Come si capisce chiaramente, tutto questo ha un costo in termini di calcolo davvero enorme, considerando che il risultato deve concretizzarsi in tempo reale. L'interpolazione delle immagini e la successiva creazione della mappa e della fluidodinamica richiede una potenza di calcolo compresa fra 10 e 20 Teraflop. Impensabile anche iniziare con un sistema meno potente. La risposta è univoca: HPC. Entrano in scena nomi del calibro di IBM BlueGene, NVIDIA e E4.
In realtà di IBM BlueGene abbiamo già parlato senza farne il nome. Si tratta del supercomputer a disposizione del Politecnico, conteso da più gruppi di lavoro e con una lista di attesa che può arrivare a mesi. E', nel nostro resoconto di viaggio, una comparsa. Due le soluzioni per il gruppo di lavoro del Dottor Melchionna: aspettare il proprio turno, magari attendendo per mesi, oppure chiedere una unità di calcolo nuova, pur tenendo conto dell'impossibilità di poter chiedere un supercomputer tradizionale tutto per sé. Siamo in un Paese ricco, certo, ma un supercomputer ha un prezzo che si misura in centinaia di migliaia di Euro se non di più (Franchi Svizzeri, da queste parti), motivo per cui, interpellati gli esperti di settore, E4 Computer Engineering ha consigliato il ricorso al GPU computing.

Da sinistra a destra: Edmondo Orlotti (NVIDIA), Paolo Corsini (Hardware Upgrade), Dr.
Simone Melchionna
Dopo aver considerato la tipologia dei calcoli da sottoporre alla macchina, il personale E4 Computer Engineering ha capito che lo scenario ben si prestava al GPU Computing, permettendo così di realizzare alcune macchine ad-hoc, spendendo una frazione del denaro necessario ad acquistare un supercomputer. Si tratta ovviamente di scenari che vanno valutati caso per caso, poiché tutto dipende da molti fattori. Alcuni scenari richiedono macchine tradizionali, in quanto il GPU Computing risulterebbe poco adatto per il proprio modo di eseguire calcoli. Altri invece ben si prestano a questo scenario, come nel caso del gruppo di lavoro del Dottor Melchionna.
Fissata in circa 10-20 Teraflop la potenza necessaria, la proposta E4 Computer Engineering si è concretizzata in un rack con le seguenti componenti:
EPFL hybrid cluster
| 1 front-end |
| CPU: 2 x Intel Xeon E5520 2,26GHz RAM: 6 x 2GB DDR3 1333MHz HD: 2 x 500GB SATA RAID1 Network: 2x 1GbE |
| 8 unità 1U rack E7118 con 16 computing nodes ciascuna |
| CPU: 2 x Intel Xeon E5520 2,26GHz per scheda madre RAM: 12 x 4GB DDR3 1333MHz HD: 2X 500GB SATA Network: 2x 1GbE, 1x IB DDR 20Gb/s |
| 8 unità 1U GPU computing |
| NVIDIA Tesla S1070-500 |
| Storage |
| Panasas Storage Cluster 3 x director blades 8 x storage blades da 2TeraBytes ciascuno |
Oltre ad un tradizionale server front end, necessario per l'amministrazione e per le operazioni di routine, il cluster ibrido consiste in un armadio contente 8 coppie di server rack ad una unità: si tratta di soluzioni cosiddette Twin, nelle quali vengono montati due server dual Socket indipendenti che condividono lo chassis rack a 1 unità e l'alimentazione, così da massimizzare la capacità di elaborazione. Ad un server con 16 computing nodes fisici (dovuti alla presenza di due schede madri in ogni unità rack, ciascuna a doppio socket con processore Intel Xeon E5520 Quad Core), viene affiancato un server rack 1U Nvidia Tesla S1070-500, le cui caratteristiche sono riassunte nella seguente tabella.

Il server NVIDIA include quattro GPU Tesla T10, ciascuna montata su un dingolo PCB, operanti alle frequenze di 1,44GHz o 1,296GHz a seconda delle configurazioni: le proposte adottate per questa installazione sono quelle con frequenza di clock di 1,44 GHz. Il picco di calcolo di ogni singola macchina Tesla ammonta a pco più di 4 Teraflop in single precision e circa 345 Gigaflop in double precision; l'utilizzo di questo cluster svolto all'EPFL prevede principalmente elaborazioni in single precision, grazie alle quali il sistema Tesla può assicurare una capacità elaborativa molto elevata. L'adozione di 8 macchine Tesla porta quindi la potenza di calcolo al picco di ben 32 Teraflop circa in singola precisione, andando quindi a soddisfare le esigenze del gruppo di ricerca.
Il sistema Tesla S1070 prevede un collegamento diretto di ogni coppia di GPU ad un
server: l'utilizzo di server rack twin permette quindi di gestire in modo autonomo con un
rack 1 unità un sistema Tesla S1070, con ogni coppia di GPU che ha a disposizione un
server dual socket con processori Intel Xeon E5520, per un totale di 16 core logici. Oltre
alle macchine indicate, viene fornita anche tutta l'infrastruttura di networking e di
storage: assieme a Switch Ethernet 48 porte 1Gb/s + 2 porte10Gb/s, trova spazio
nell'armadio anche uno Switch InfiniBand 24 porte DDR 20GB/s, affiancato da un
sottosistema storage PANASAS.

Si tratta questo di un esempio di applicazione di GPU Computing mirato che ha permesso di realizzare un centro di calcolo ad un prezzo, anche in termini energetici, decisamente inferiore rispetto a HPC tradizionali, complice ovviamente il tipo di calcolo da svolgere, è bene ricordarlo. Il frutto del lavoro viene riassunto in questo breve video, che andremo a spiegare in breve nella seconda parte della pagina.
Si tratta di un esempio di come esperti di calcolo, studiosi di fisiologia e cardiologi si trovano a collaborare per trovare soluzioni a problemi concreti, permettendo di salvare diverse vite umane. Proprio in fase di test è stata riscontrata una grave anomalia in una persona dello staff del tutto "insospettabile", sottopostasi volontariamente ai primi esperimenti e per cura curiosità. Un'operazione di urgenza ha permesso di evitare il peggio, aprendo scenari decisamente promettenti nel campo della prevenzione medica. Una placca di colesterolo andava ad ostruire quasi del tutto una delle arterie coronariche, problema che è stato possibile rilevare per un anomalia di flusso.

Un sistema, ricordiamo, che rimane allo stadio sperimentale. Si tratta di un gruppo di studio, ovvero una fase che precede di anni un utilizzo massivo all'interno degli ospedali della rete sanitaria nazionale. E' in ogni caso facile intuire, anche per i profani come noi in materia, le reali potenzialità di tale sistema di diagnosi e dello sviluppo che si potrà avere in campo medico-diagnostico proprio grazie alla potenza di calcolo delle macchine, siano esse GP-GPU o tradizionali. Di seguito l'intervista al Dr. Melchionna.
Vi invito a guardare questo breve filmato prima di riprendere la lettura. Correvano gli anni '90 quando uno spot 3Dfx entusiasmò gli animi dei videogiocatori di tutto il mondo. Chip molto tecnologici, fino ad allora destinati quasi esclusivamente a compiti "nobili", trovavano la loro collocazione commerciale in prodotti mirati per l'appassionato di videogiochi, portando alla realtà schede video con potenzialità fino ad allora impensabili. Visto oggi il video appare quasi cinico, ma fa un certo effetto tornare agli albori del boom delle schede video, tempi in cui ATI, NVIDIA, Matrox e 3dfx erano sinonimo di puro gaming.
La storia ci ha riservato una sorpresa curiosa. Le GPU, nate come processori grafici per l'esperienza 3D in campo videoludico, si sono evolute, accrescendo in maniera esponenziale il proprio potenziale e strutturandosi in maniera molto differente dalle CPU dei nostri PC. Una "deriva genetica", potremmo definirla, che ha la curiosità di tornare a rendersi utile anche in altri campi.
La GPU, nata per un'esigenza tutto sommato frivola come quella del videogioco, sta trovando una seconda destinazione d'uso potenzialmente molto più nobile e impensabile fino ad una decina di anni fa. A prescindere dal marchio della GPU, sono molte le realtà in cui si sfrutta questa tipologia di chip per il calcolo parallelo, aprendo scenari davvero interessanti e forse non ancora del tutto sfruttati.
Quello riportato a grandi linee in questo articolo è solo un esempio di GPU che smette di giocare per dedicarsi a compiti più nobili. Considero personalmente un privilegio del mio lavoro il poter vedere e toccare con mano realtà di questo tipo, perché permettono di riparametrare molti discorsi che nascono intorno alla tecnologia.
Spesso mi sono trovato a domandarmi quale sia la reale utilità di una determinata potenza di calcolo, o se sia davvero necessario spendere così tanto denaro per lo sviluppo di chip al posto che investirli in altri settori. Eppure, quando mi trovo di fronte a certe realtà, sento che le mie riflessioni erano il frutto di una visione troppo ristretta. Allargando lo sguardo al di fuori dell'ambito domestico e videoludico, sono molteplici le mani che la tecnologia tende verso il nostro progresso. Quello che ho osservato e ho cercato di portare anche alla vostra attenzione è solo uno degli esempi, e sento di dire che E4 e NVIDIA avevano buone ragioni per insistere. Sia chiaro: il mio interesse e quello della redazione in genere è quello di far capire le potenzialità del GPGPU, a prescindere dai marchi.
Si ha poca percezione delle potenzialità di tale ambito, complici certi annunci da parte delle aziende un po' fuori target. Osannare il GP-GPU computing ad ogni occasione senza contestualizzarlo può rivelarsi un boomerang, che rischia di far associare all'acronimo qualcosa di astratto e tutto sommato lontano dall'interesse dei più.