Il team crea simulazioni della struttura della Via Lattea
18 novembre 2014
di Katie Elyce Jones, Laboratorio nazionale di Oak Ridge
Se oggi scattassi una fotografia della Via Lattea da lontano, la foto mostrerebbe una galassia a spirale con una barra centrale luminosa (a volte chiamata rigonfiamento) di dense popolazioni stellari. Il Sole, molto difficile da vedere nella tua foto, si troverebbe fuori da questa barra, vicino a uno dei bracci a spirale composti da stelle e polvere interstellare. Al di là della galassia visibile ci sarebbe un alone di materia oscura, invisibile alla tua fotocamera ma comunque importante perché tiene tutto insieme trascinando verso il basso la velocità di rotazione della barra e dei bracci a spirale.
Ora, se volessi tornare indietro nel tempo e fare un video della formazione della Via Lattea, potresti tornare indietro di 10 miliardi di anni, ma molte delle caratteristiche più importanti della galassia non sarebbero riconoscibili. Dovresti aspettare circa 5 miliardi di anni per assistere alla formazione del sistema solare terrestre. A questo punto, 4,6 miliardi di anni fa, la galassia appare quasi come oggi.
"La grande struttura della galassia è emersa dall'autorganizzazione della distribuzione stellare negli ultimi 10 miliardi di anni per assomigliare alla Via Lattea nella foto", ha affermato Simon Portegies Zwart dell'Osservatorio di Leiden nei Paesi Bassi.
Questa è la linea temporale che un team di ricercatori provenienti dai Paesi Bassi e dal Giappone, tra cui Portegies Zwart, sta vedendo emergere quando utilizzano i supercomputer per simulare l'evoluzione della galassia della Via Lattea. Utilizzando un codice sviluppato per le architetture di supercalcolo GPU, inclusa quella del Cray XK7 Titan situato presso l'Oak Ridge National Laboratory del Dipartimento dell'Energia, le simulazioni del team si sono guadagnate l'accettazione come finalista del Gordon Bell Prize. Il premio riconosce risultati eccezionali nel campo del calcolo ad alte prestazioni e sarà consegnato dall'Association for Computing Machinery al SC14 il 20 novembre.
"Non sappiamo davvero come sia nata la struttura della galassia", ha detto Portegies Zwart. "Ciò che abbiamo realizzato è che possiamo utilizzare le posizioni, le velocità e le masse delle stelle nello spazio tridimensionale per consentire alla struttura di emergere dall'autogravità del sistema."
La sfida nel calcolare la struttura galattica stella per stella è, come si può immaginare, l’enorme numero di stelle nella Via Lattea: almeno 100 miliardi. Pertanto, il team aveva bisogno di una simulazione di almeno 100 miliardi di particelle per collegare tutti i punti. Prima dello sviluppo del codice del team, noto come Bonsai, la simulazione della galassia più grande conteneva circa 100 milioni, non miliardi, di particelle.
Il team ha testato una prima versione di Bonsai sul Titan dell'Oak Ridge Leadership Computing Facility, il secondo supercomputer più potente al mondo, per migliorare la scalabilità del codice. Dopo aver adattato Bonsai a quasi la metà dei nodi GPU di Titan, il team ha eseguito Bonsai sul supercomputer Piz Daint presso il Centro nazionale svizzero di supercalcolo e ha simulato la formazione di galassie nell'arco di 6 miliardi di anni con 51 milioni di particelle che rappresentano le forze delle stelle e della materia oscura. Dopo un'esecuzione riuscita del Piz Daint, il team è tornato su Titano per massimizzare il parallelismo del codice.
Il codice Bonsai ha dimostrato la scalabilità su 18.600 nodi Titan (il 96% dei nodi GPU della macchina), che consentirebbe una simulazione della Via Lattea di 8 milioni di anni e 242 miliardi di particelle. Bonsai ha raggiunto quasi 25 petaflop di prestazioni sostenute in virgola mobile a precisione singola su Titan. Le operazioni a virgola mobile a precisione singola utilizzano meno memoria rappresentando i numeri utilizzando 32 bit, mentre le operazioni a precisione doppia rappresentano numeri più precisi a scapito dell'utilizzo di 64 bit.
"Con lo studente laureato Jeroen Bédorf, abbiamo iniziato scrivendo un singolo codice per le GPU e deliberatamente non abbiamo mai scritto codice sulle CPU perché volevamo che l'intero codice girasse sulle GPU per sfruttare il loro parallelismo", ha affermato Portegies Zwart. "Le CPU host vengono utilizzate solo per semplificare la comunicazione tra i nodi e le GPU. In questo modo, possiamo ottimizzare completamente l'uso delle GPU per il calcolo dei numeri e le CPU molto più lente per ridurre al minimo il sovraccarico di comunicazione."