Dall’ipotesi alla dimostrazione. Università di Firenze e Intel insieme per prestazioni da record

Un bell’esempio di collaborazione tra Università e industria vede protagonista il Centro di Ricerca sulle Turbomacchine e i Sistemi Energetici (Ce.R.Tu.S) di Firenze e Intel Il CeRTuS opera per sviluppare e coordinare ricerche e studi nel campo della conversione dell’energia, degli impianti e delle macchine utilizzate nei relativi processi. Nel suo lavoro deve tenere presente i […]

Un bell’esempio di collaborazione tra Università e industria vede protagonista il Centro di Ricerca sulle Turbomacchine e i Sistemi Energetici (Ce.R.Tu.S) di Firenze e Intel

Il CeRTuS opera per sviluppare e coordinare ricerche e studi nel campo della conversione dell’energia, degli impianti e delle macchine utilizzate nei relativi processi. Nel suo lavoro deve tenere presente i molteplici aspetti correlati: termodinamici, fisici, matematici meccanici, fluidodinamici, termici, chimici, impiantistici e anche economici. Un così fertile contesto ha visto la nascita di un codice di calcolo indirizzato allo studio della fluidodinamica in ambito aeronautico – chiamato TRAF – attualmente utilizzato presso molte realtà aziendali.

Il nostro valore aggiunto”, sottolinea Andrea Arnone, Direttore del Centro di Ricerca CeRTuS dell’Università di Firenze, “è quello di avere una visione delle problematiche scientifiche di lungo periodo”.

Un progetto a cui i ricercatori si sono dedicato per un ventennio, e che mantiene tutt’oggi un elevato vantaggio competitivo nei confronti di software commerciali analoghi proprio grazie all’impegno costante del Centro. “Seguiamo sempre da vicino tutte le evoluzioni tecnologiche”, assicura Arnone, “tanto è vero che abbiamo avviato le prime sperimentazioni legate alla parallelizzazione del codice già una decina di anni fa, ma allora le infrastrutture tecnologiche esistenti non erano in grado di supportare adeguatamente le premesse teoriche da cui parte la parallelizzazione. Le infrastrutture di ultima generazione, invece, che ospitano all’interno di ogni singolo nodo un numero crescente di processori, consentono realmente di passare dalla teoria alla pratica, ed è per questo che abbiamo avviato un progetto di parallelizzazione del codice che sta dando risultati molto soddisfacenti”.

Lo scopo di tutte queste ricerche non è dunque puramente accademico, per sfruttare al massimo le piattaforme hardware di ultimissima generazione, è stato avviato un progetto di parallelizzazione del codice e Intel è stato il partner scelto dal CeRTuS.

La parallelizzazione di un codice si può fare in vari modi. Il TRAF Group dell’Università di Firenze ha deciso di adottare un approccio graduale, teso a salvaguardare parte del codice esistente, cosa impossibile a farsi adottando per la parallelizzazione schede grafiche, che utilizzano linguaggi del tutto differenti.

Abbiamo effettuato un accurato profilazione del codice e, sfruttando le capacità del compilatore Intel, abbiamo ottenuto i primi risultati”, ricorda Michele Marconcini, responsabile del progetto; “già con questo primo intervento, infatti, abbiamo migliorato le prestazioni elaborative del sistema del 70%”.

A questo punto si entra nel tecnico. La scelta cruciale – rivelatasi poi vincente visti i risultati – ha riguardato la seconda fase. Il gruppo, assieme a Intel, poteva scegliere tra mantenere quasi inalterato il codice, oppure intervenire in maniera più invasiva introducendo un parallelismo più sofisticato, che consenta di distribuire un calcolo su un numero indefinito di nodi connessi tra loro tramite schede di rete. Dopo avere discusso, anche con gli esperti Intel, benefici e svantaggi dei due approcci, il TRAF Group ha deciso per una parallelizzazione di tipo ibrido, in grado cioè di operare al meglio sia su una singola macchina multicore che sui cluster più complessi.

Quali i risultati?
Dopo i test sperimentali, la prima applicazione pratica del nuovo codice parallelizzato ha riguardato il calcolo aerodinamico di una intera turbina realizzato per conto di Avio, azienda aerospaziale con cui l’Università di Firenze collabora da 15 anni.

Prima della parallelizzazione del codice sarebbero passati ben 265 giorni, quasi un anno, per vedere completato un processo simile. Grazie all’ottimizzazione seriale e alla parallelizzazione OpenMP il TRAF Group, su una macchina equipaggiata con processore Intel Xeon 5650 dotata di 12 core, è sceso a 33 giorni.

E non è finita qui. Il doppio livello di parallelismo, che permette di suddividere il calcolo su singoli nodi – nel caso in esame sulle 8 macchine equipaggiate, in totale, con 96 processori Intel Xeon 5600 di cui dispone attualmente il cluster del gruppo – ha permesso di scendere a 8,5 giorni, un risultato molto soddisfacente.

Con l’introduzione della nuova generazione di processori Intel Xeon”, dice Marconcini, “ dopo aver effettuato una sperimentazione su un cluster equipaggiato con processori Intel Xeon E5-2680 messi a disposizione in anteprima da Intel, un calcolo di questo tipo è stato portato a termine in soli 5 giorni. Le migliorie apportate alla nuova famiglia di processori sotto vari punti di vista la rendono realmente più efficace, versatile e performante. Naturalmente i vantaggi che offre possono essere sfruttati al meglio utilizzando un codice come TRAF, che adotta una parallelizzazione spinta, senza la quale molte delle funzionalità rese disponibili resterebbero lettera morta. Per quanto ci riguarda, abbiamo già deciso che quando arriverà il momento di aggiornare la nostra infrastruttura, probabilmente entro pochi mesi, adotteremo sicuramente la nuova piattaforma Intel Xeon-E5”.


Dall’ipotesi alla dimostrazione. Università di Firenze e Intel insieme per prestazioni da record - Ultima modifica: 2012-12-03T16:08:58+00:00 da Francesco Marino
e-book guida ecm

Non rimanere indietro, iscriviti ora

Ricevi in tempo reale le notizie del digitale

Iscrizione alla Newsletter

controlla la tua inbox per confermare l'iscrizione

Privacy Policy

Grazie! Ora fai parte di Digitalic!