211service.com
Supercomputer più freddi
Grazie ai progressi nella velocità delle simulazioni al supercomputer, i fenomeni complessi come i sistemi meteorologici, il ripiegamento delle proteine e le esplosioni nucleari stanno diventando più facili da modellare e comprendere. Ma solo una piccola parte di questa accelerazione è dovuta a processori più veloci. Invece, il modo più comune per raggiungere le capacità di supercalcolo è assemblare centinaia o migliaia di macchine separate in cluster. Quando aggiogato insieme, un tale cluster condividerà una singola memoria e può eseguire simulazioni massicce in parallelo suddividendo il lavoro in tante piccole parti.
Anche questo approccio, però, ha i suoi limiti. Per prima cosa, più grande è la memoria, più è probabile che alcune parti di essa falliscano durante un calcolo. Inoltre, più macchine vengono assemblate in un cluster, più calore producono. Infatti, in alcuni grandi centri di calcolo, i sistemi di ventilazione e condizionamento dell'aria, le ventole e i sistemi di raffreddamento a liquido sono costretti a mantenere le macchine dal surriscaldamento.
Mountain View, Silicon Graphics, con sede in California, nota anche come SGI, costruisce alcuni dei più grandi cluster di supercalcolo del mondo. Il quarto più veloce al mondo, ad esempio, è Columbia, un sistema che SGI ha costruito per il NASA Ames Research Center nel 2004. Columbia include 20 superammassi SGI Altix, ciascuno con 512 processori, per un totale di 10.240 processori che condividono un 20 -terabyte di memoria. Raffreddare questo colosso (che la NASA usa per modellare problemi che coinvolgono grandi quantità di dati, come cambiamenti climatici, tempeste magnetiche e progetti per aerei ipersonici) è attualmente un affare a bassa tecnologia: si ottiene principalmente soffiando aria oltre i processori ad alta velocità.
Eng Lim Goh, informatico e direttore tecnico della SGI, afferma che un amministratore della NASA gli ha detto: 'Ho speso milioni di dollari per il tuo supercomputer solo per poter eseguire simulazioni che sostituissero la nostra galleria del vento e tu ci hai dato una nuova galleria del vento .'
Goh ora è il leader di Progetto Ultravioletto , lo sforzo di SGI per sviluppare la sua prossima generazione di superammassi. I chip che SGI sta progettando per Ultraviolet eseguiranno le applicazioni più velocemente, ma utilizzeranno meno elettricità e produrranno meno calore. Technology Review ha intervistato Goh sul progetto il 2 febbraio.
Revisione della tecnologia: Quali sono gli obiettivi del progetto Ultraviolet?
Ita Lim Goh: Ultraviolet è il luogo in cui ho trascorso l'80% del mio tempo negli ultimi tre anni, con l'obiettivo di avere un sistema spedito entro la fine di questo decennio. Stiamo costruendo ASIC [circuiti integrati specifici per le applicazioni] per accelerare determinate funzioni di memoria e per rendere le applicazioni più fresche; e quelli hanno un lungo ciclo di sviluppo, in genere due anni e mezzo.
Abbiamo iniziato con quello che abbiamo, in pratica un sistema capace di una memoria enorme. Costruiamo sistemi enormi, gestendo fino a 512 processori condividendo fino a decine di terabyte di memoria. Il vantaggio di tali sistemi è che puoi caricare enormi database in memoria senza il rallentamento di dieci volte quando devi ottenere dati da un disco. Vuoi la capacità di conservare tutti i dati in memoria e di spostarti ad alta velocità, il che è importante per l'analisi e l'intelligence aziendali avanzate.
I nostri ASIC si inseriscono sotto il processore [Intel] Itanium, con la memoria al di sotto di ciascuno di questi, e comunicano tra loro per fornire una visione virtuale e singola di tutta la memoria all'utente e al sistema operativo. Ci assicuriamo di utilizzare questa memoria a basso costo e pronta all'uso. Tuttavia, insieme a questo è arrivata l'affidabilità standard. Quindi, in Ultraviolet stiamo inserendo funzionalità per rendere la memoria più affidabile. Ad esempio, ci sono agenti intelligenti nel nostro chipset che possono uscire e cancellare la memoria inutilizzata, per forzare le parti che stavano per fallire durante il processo di pulizia, non il processo di applicazione. Gli agenti deallocano rapidamente quella memoria, proprio come un disco danneggiato.
TR: Parte di ciò che stai facendo, quando parli di agenti, suona come ciò che IBM chiama calcolo autonomo.
ALCE: Le persone usano nomi diversi per rendere l'informatica più auto-guarigione. Stavamo pensando se dovremmo usare la memoria autonoma o sistemi di autoriparazione, come IBM e altri fornitori. Ma ci siamo un po' preoccupati perché questo crea un'aspettativa molto alta.
TR: E il problema del calore? Presumo che i sistemi che le persone costruiranno utilizzando i tuoi sistemi di prossima generazione avranno anche più di 512 processori, tutti in una stanza, che emettono enormi quantità di calore.
ALCE: Possiamo forzare il calore fuori dai rack con ventole più veloci, ma poi la sala computer diventa molto difficile da raffreddare. L'unico modo per gestire più calore è spostare il calore più velocemente. Ci sono sale computer in cui se apri un'asse del pavimento ti dicono 'Non metterci piede', perché l'aria laggiù si muove a 100 chilometri all'ora.
Quindi l'altra parte di ciò che vogliamo esplorare con Ultraviolet è come ridurre questo calore e come gestire le applicazioni che non si ridimensionano [cioè, non funzionano alla velocità prevista quando vengono eseguite su più processori in parallelo]. Questi due sono correlati. Supponiamo che un'applicazione venga eseguita per 100 secondi su un singolo processore. E diciamo che su 100 processori funziona dieci volte più velocemente: funziona per 10 secondi. Questo è un grande miglioramento, ma stai usando 100 volte più processori per arrivarci. In quanto tale, sei efficiente solo al 10%; l'applicazione utilizza dieci volte più energia ed emette dieci volte più calore del necessario.
TR: Quindi, come si fa a rendere le applicazioni più interessanti?
ALCE: Una parte importante è il modo in cui scomponiamo i problemi in parti e il modo in cui li allochiamo ai processori. Abbiamo effettuato un'analisi di circa 50 applicazioni dei clienti per vedere cosa non andava in queste applicazioni quando venivano eseguite in parallelo. Abbiamo identificato quattro o cinque aree principali.
Uno è la latenza delle comunicazioni [ritardi]. Il problema è che la maggior parte delle applicazioni richiede una sincronizzazione costante, per assicurarsi che ogni processo sia pronto prima del passaggio successivo del calcolo. Questa sincronizzazione richiede molto tempo. È come avere sei persone che cercano di stare in linea retta: devono controllarsi a vicenda. Con 60, o 600, o 6.000 persone, ci vuole esponenzialmente più tempo per andare in linea retta.
Il secondo dopo la latenza è il problema della larghezza di banda delle comunicazioni. A volte si desidera trasferire molti dati e lo spessore della connessione tra i processori deciderà il tempo necessario per il passaggio di quell'enorme pezzo di dati. Se stai aspettando, non stai calcolando. Questa è un'altra area in cui l'efficienza diminuisce.
La terza area è lo squilibrio di carico, che è un problema enorme. Supponiamo che tu voglia modellare il tempo nella tua zona. Presumi che il volume d'aria nella tua zona sia un enorme cubo, e lo dividi in otto sottocubi e distribuisci quei sottocubi a diversi processori. In un giorno in cui il tempo è omogeneo in tutto il cubo grande, il carico su quei processori può essere bilanciato; ma se c'è una turbolenza locale in uno dei sottocubi, ci saranno processori che aspettano mentre altri processori finiscono.
La quarta area è quando un'applicazione ha bisogno di una parte di dati e i dati non sono nella cache del processore e devono uscire in memoria. Quando va in memoria, c'è un enorme impatto sulla latenza.
Quindi questi sarebbero i principi del design Ultraviolet [memoria più affidabile, meno latenza delle comunicazioni, più larghezza di banda delle comunicazioni, migliore bilanciamento del carico e meno latenza della memoria]. Supponiamo che tu abbia un'applicazione che sta raggiungendo il massimo a 128 processori, perché sta creando un collo di bottiglia sulla latenza delle comunicazioni. Questo chip che stiamo progettando ridurrà drasticamente la latenza, che ora consentirà a questa applicazione di funzionare su più processori. Oppure, se stai ancora eseguendo la stessa applicazione su 128 processori, dovresti ottenere prestazioni migliori e creare meno calore.
Didascalia per l'immagine della home page: una vista dall'alto: i ponti collegano i nodi del supercomputer SGI Altix a 20 nodi ospitato presso la struttura di supercalcolo avanzato della NASA.
Immagine della home page per gentile concessione del NASA Ames Research Center/Tom Trower