Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il...

19
Corso di Architettura dei Calcolatori e Parallelismo Blu Gene Marco Trentini 062275 anno 2007/2008

Transcript of Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il...

Page 1: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

Corso di Architettura dei Calcolatori e Parallelismo

Blu Gene

Marco Trentini 062275

anno 2007/2008

Page 2: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

2Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Che cos'è Blu Gene?

Il termine deriva da:

● Big Blue (IBM nel linguaggio colloquiale)● Gene (uno dei principali scopi della macchina è lo studio dei fenomeni bio-molecolari)

E' il nome di una famiglia di architetture di computer dalle quali implementare vari tipi di supercomputer in grado (per ora a livello teorico) di raggiungere potenze di calcolo nell'ordine dei PFLOPS (1x10^15 FLoating point Operations Per Second).

Nasce da una collaborazione tra IBM, LLNL (Lawrence Livermore National Laboratory, un laboratorio del dipartimento di energia americano) e con un contributo della comunità scientifica.

Si conoscono quattro progetti Blu Gene in sviluppo: BluGene/L, BluGene/C, BluGene/P e BluGene/Q.

Page 3: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

3Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Obiettivi primari

● Studio dei fenomeni biomolecolari come il protein folding attraverso simulazioni su larga-scala (il protein folding è il processo fisico di sintesi grazie al quale una proteina ottiene la sua struttura tridimensionale e poichè l'assunzione della funzione fisiologica di una proteina è resa possibile dalla sua struttura, il processo di folding ha una notevole importanza: le casue di diverse malattie sono da ricercarsi in un errore nel folding di una proteina)

● Esplorare nuove idee hardware e software per architetture di calcolatori paralleli (es. raggiungere alte prestazioni con costi moderati)

Page 4: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

4Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Panoramica di BluGene/L

Prima generazione delle architetture Blu Gene.

Il BG/L installato presso il LLNL è, secondo la Top500 (con benchmark Linpack), il computer più veloce conosciuto (fonti Novembre 2007), in grado di sviluppare una potenza di calcolo pari a circa 480 TFLOPS con pichi di 560 TFLOPS.

La prima installazione era costituita da 65.536 nodi; è stata poi espansa fino a 106.496 nodi ottenendo picchi di 590 TFLOPS.

L'esposizione si concentrerà su questo tipo di architettura e in particolare sul sistema BG/L installato presso il laboratorio del dipartimento di energia americato (LLNL).

Page 5: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

5Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Panoramica di BluGene/C

Progetto “sorella” di BG/L.

Rinominato in Cyclops64 è un supercomputer fortemente parallelo basato su una archetettura cellulare on-the-chip (64 bit):

Fortemente orientato alla programmazione con i thread (supporto ai Thread Posix).

Page 6: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

6Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Panoramica di BluGene/P

Seconda generazione delle architetture Blu Gene.

Progettato per una potenza di calcolo di 1 PFLOPS, in certe configurazioni può raggiungere potenze di calcolo di oltre 3 PFLOPS. Utilizza chip a basso consumo connessi tramite 5 reti. In ogni chip BG/P sono integrati 4 processori PowerPC 450 a 850Mhz.Per raggiungere 1 PFLOPS di potenza di calcolo è necessaria una configurazione da 294.912 processori, 72 rack connessi tramite una rete ottica ad alta velocità. Con un cluster da 216 rack (884.736 processori) si può raggiungere una potenza di calcolo di 3 PFLOPS.

JUGENE è il primo sistema BG/P installato (nel Novembre 2007) in un centro di ricerca in Germania con prestazioni di 167 TFLOPS (con 65.536 processori), il più veloce in Europa e il secondo nel mondo (Top500.org).

Page 7: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

7Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Panoramica di BluGene/Q

Terza generazione (ultima conosciuta) delle architetture Blu Gene.

BluGene/Q punta a raggiungere potenze di calcolo sui 10 PFLOPS nel 2010-2012.L'idea è quella di espandere e velocizzare le architetture BluGene/L e BluGene/P aumentando le frequenze operative (pur mantenendo buono il rapporto prestazioni/watt) e aumentando il numero di core per nodo.

Page 8: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

8Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

BluGene/L

Configurazione BG/L presso il LLNL.

Page 9: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

9Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Punti di Forza di BluGene/L

● Buon rapporto tra FLOPS per watt, FLOPS per m^2 e FLOPS per costo.

● Nodi a doppio processore con due modalità di funzionamento: co-processore (un processo utente per nodo: un processore svolge il lavoro di computazione e l'altro quello di comunicazione) e nodo virtuale (2 processi utente per nodo).

● Architettura System-on-a-chip (alto livello di integrazione, basso consumo e basso costo).

● Grande numero di nodi (scalabile in incrementi di 1024 fino a 65.536 e oltre).

● Interconnessione a toroide tridimensionale con reti ausiliari per comunicazioni di gruppo, di I/O e di amministrazione.

● OS leggero sui nodi di calcolo per ridurre al minimo l'overhead di sistema (computazione di sottofondo)

● Architettura e supporto RAS (affidabilità, disponibilità e funzionalità del sistema).

Rack BG/L

Page 10: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

10Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

BluGene/L

Schema BG/L presso il LLNL: ogni scheda è equipaggiata con 32 nodi (a coppie di due su mini-schede) dedicati alla computazione più 2 nodi di I/O. Ogni rack/cabinet ha 32 schede.

Page 11: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

11Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Hardware di BluGene/L

Ogni nodo (anche quelli di I/O) è un singolo IC (circuito integrato) con associato dei chip di memoria DRAM. Il IC integra 2 processori PowerPC 440 a 700 MHz, una FPU a doppia precisione per processore, un sotto-sistema cache, un controller DRAM, un adattatore Gigabit Ethernet (utilizzato solo dai nodi di I/O) e un sotto-sistema (porte e buffer) per la gestione delle reti di comunicazione tra i nodi. Le due FPU di un nodo permettono di ottenere picchi teorici di 5,6 GFLOPS.

Diagramma a blocchi di un nodo BG/L

Page 12: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

12Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Memoria di BluGene/L

Tutta la memoria del sistema è completamente distribuita: ogni nodo ha 512 Mb di memoria fisica (32Tb con 64K nodi). Come si può vedere dalla figura, un primo livello di cache (L1, 64Kb) è contenuto nel chip PPC440. Un secondo livello di cache (L2, 2Kb), funge da tramite tra L1 e L3 (4Mb) dove sono contenuti dati e istruzioni. In fine abbiamo la RAM di sistema (DDR-SDRAM, 512Mb). In cache L1 non c'è coerenza dei dati, poiché non supportato dai processori PPC440 (gestione a livello software, librerie). Per L2, L3 e la memoria di sistema, il supporto alla coerenza è fornito in hardware. Quando il nodo è in modalità co-processore (un processore per la computazione e l'altro per la comunicazione) la coerenza in cache L1 può essere gestita da librerie; quando è in modalità nodo virtuale ogni processore è “a se stante” e la memoria fisica è suddivisa in due: ogni processore può leggere/scrivere sulla sua porzione e può solo leggere dalla porzione dell'altro.L'uso del nodo come multiprocessore simmetrico è possibile ma complicato per via della non coerenza dei dati nella cache L1.

Page 13: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

13Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Tipologie di reti in BluGene/L

Le reti di BG/L sono state progettate pensando a una scalabilità estrema (in termini di prestazioni e di packing).

Ogni nodo è collegato a tre reti di comunicazione parallela:● Una rete toroidale 3D per comunicazioni punto a punto tra i nodi di calcolo● Una rete collettiva per comunicazioni di gruppo● Una rete a interrupt globale per barriere

I nodi di I/O, equipaggiati con un sistema operativo Linux, sono collegati all'esterno tramite una rete Ethernet (Gigabit). I nodi di I/O gestiscono operazioni di filesystem per conto dei nodi di calcolo.

Un'ulteriore rete Ethernet privata (Fast Ethernet e JTAG) fornisce accesso ad ogni nodo per operazioni di amministrazione, controllo ed alcuni aspetti di inizializzazione.

Page 14: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

14Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Software di BluGene/L

I nodi di calcolo usano un sistema operativo minimale che supporta un solo programma utente. Sono supportate solo un sotto-insieme di chiamate di sistema POSIX e in un dato tempo può essere in esecuzione un solo processo. I programmatori che vogliono simulare concorrenza locale devono implementare i green thread (thread schedulati da una macchina virtuale e gestiti nello spazio utente).

Efficiente con il modello di programmazione a scambio di messaggio con memoria distribuita (ottimizzato per MPI).

Le applicazioni per BG/L sono in genere realizzate in C,C++ o Fortran e usano MPI per le comunicazioni. Inoltre sono stati portati alcuni linguaggi di scripting come Ruby sui nodi di calcolo.

Ovviamente il target applicativo è quello di applicazioni scalabili (migliori prestazioni in ambiente parallelo): simulazione di fenomeni fisici, processo di dati real-time e analisi di dati off-line. Limiti di scalabilità di un'applicazione:

● Scalabilità debole: volume dati locale costante con numero di nodi crescente● Scalabilità forte: volume dati totale costante con numero di nodi crescente,

riducendo il volume di dati locali (per nodo).Le applicazioni “da laboratorio” (es. lo studio di fenomeni fisici) tendono verso una scalabilità debole, mentre le applicazioni commerciali HPC tendono verso una scalabilità forte.

Page 15: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

15Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Supporto RAS di BG/L

Per un supercomputer in grado di scalare oltre i 64K nodi, affidabilità, disponibilità e funzionalità sono 3 fattori molto importanti e devono essere considerati a tutti i livelli dell'architettura del sistema.

● Possibilità di isolamento elettrico dei nodi● Ridondanza delle linee di alimentazione (n+1) e delle ventole di raffreddamento

Per permettere di eseguire più programmi nello stesso momento, è possibile partizionare BG/L in insiemi di nodi isolati in modo elettrico. Il numero di nodi in una partizione deve essere una potenza di 2 e deve contenere almeno 32 nodi. E' possibile avere un'unica partizione contenente tutti i nodi del sistema. Per eseguire un programma su BG/L bisogna riservare una partizione di nodi, quindi il programma viene eseguito su tutti i nodi all'interno della partizione e nessun altro programma può avere accesso ai nodi mentre la partizione è in uso. Quando la computazione termina, i nodi della partizione vengono rilasciati.

Con un numero così grande di nodi, la rottura di qualche componente è altamente probabile. Il sistema è in grado di isolare l'hardware non funzionante permettendo una continuità di funzionamento.

Page 16: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

16Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Consumi di BluGene/L

Integrando tutti i sotto-sistemi essenziali in un singolo chip, ogni nodo dissipa poca potenza (solo 17 watt, DRAM inclusa). Questo permette di impaccare i nodi in modo aggressivo fino a 1024 nodi dedicati alla computazione più nodi di I/O in un cabinet standard di 19”, contenendo sia la richiesta di energia sia quella di raffreddamento (27,5Kw per rack di cui 20 per il raffreddamento ad aria).

Utilizzando chip a basso consumo e a bassa frequenza, l'utente raggiunge migliori prestazioni utilizzando un grande numero di nodi (se la sua applicazione scala bene).

Page 17: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

17Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

BluGene/L

Configurazione BG/L presso il LLNL: cablaggio.

Page 18: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

18Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Top500.org

I primi 15 supercomputer più veloci conosciuti (Novembre 2007).

Page 19: Blu Gene - datasked.comdatasked.com/pub/doc/it/books/pp/blu_gene.pdf · Che cos'è Blu Gene? Il termine deriva da: Big Blue (IBM nel linguaggio colloquiale) ... I nodi di calcolo

19Corso di Architettura dei Calcolatori e Parallelismo 2007/2008

Riferimenti

● http://en.wikipedia.org/wiki/Blue_Gene● http://domino.research.ibm.com/comm/research_projects.nsf/pages/bluegene.index.html● https://asc.llnl.gov/computing_resources/bluegenel/configuration.html● http://www.top500.org/