# Supercomputer/Blue Gene

Supercomputer
Copertina Tutti i moduli · Sviluppo
* DefinizioneSupercomputer/Definizione
* StoriaSupercomputer/Storia
* Tassonomia di FlynnSupercomputer/Tassonomia di Flynn
* Calcolo paralleloSupercomputer/Calcolo parallelo
* HardwareSupercomputer/Hardware
* PipelineSupercomputer/Pipeline
* Processore vettorialeSupercomputer/Processore vettoriale
* CacheSupercomputer/Cache
* Uniform Memory AccessSupercomputer/Uniform Memory Access
* Non-Uniform Memory AccessSupercomputer/Non-Uniform Memory Access
* Raffreddamento a liquidiSupercomputer/Raffreddamento a liquidi
* RAIDSupercomputer/RAID
* SoftwareSupercomputer/Software
* Legge di AmdahlSupercomputer/Legge di Amdahl
* OccamSupercomputer/Occam
* MPISupercomputer/MPI
* PVMSupercomputer/PVM
* openMosixSupercomputer/openMosix
* Misura delle prestazioniSupercomputer/Misura delle prestazioni
* UtilizziSupercomputer/Utilizzi
* Elenco di computer: · Macchina AnaliticaSupercomputer/Macchina Analitica · ColumbiaSupercomputer/Columbia · ENIACSupercomputer/ENIAC · ILLIAC IVSupercomputer/ILLIAC IV · CDC 6600Supercomputer/CDC 6600 · CDC 7600Supercomputer/CDC 7600 · CDC CyberSupercomputer/CDC Cyber · CDC STAR-100Supercomputer/CDC STAR-100 · ETA10Supercomputer/ETA10 · TX-0Supercomputer/TX-0 · SAGESupercomputer/SAGE · Cray-1Supercomputer/Cray-1 · Cray-2Supercomputer/Cray-2 · Cray X-MPSupercomputer/Cray X-MP · IBM 7030Supercomputer/IBM 7030 · Zuse Z1Supercomputer/Zuse Z1 · Zuse Z2Supercomputer/Zuse Z2 · Zuse Z3Supercomputer/Zuse Z3 Elenco attuale dei 500 computer più potenti al mondo - TOP500Supercomputer/Elenco attuale dei 500 computer più potenti al mondo - TOP500
Modifica il sommario
Blue Gene è il nome di un'architettura progettata per realizzare la nuova generazione di supercomputer a parallelismo massivo sviluppati per lavorare con potenze di calcolo che vanno dalle decine di Teraflops per arrivare fino al Petaflops. Il più potente computer BlueGene attualmente sviluppa 280 Teraflops. Il progetto è una cooperazione del United States Department of Energy (che parzialmente finanzia il progetto), industrie (IBM in particolare) e Università. Vi sono cinque progetti Blue Gene, tra i quali il Blue Gene/L, il Blue Gene/C e il Blue Gene/P.

## Blue Gene/L

Il primo sistema Blue Gene, il Blue Gene/L e stato sviluppato in collaborazione con il Lawrence Livermore National Laboratory (LLNL). Il sistema sviluppa una potenza di picco teorica di 360 Teraflops e secondo il test Linpack genera 280 Teraflops.

## Storia

Il 29 settembre 2004 IBM annunciò che il prototipo Blue Gene/L nei suoi laboratori a Rochester nel Minnesota aveva superato le prestazioni del precedente supercomputer più veloce del pianeta l'Earth Simulator. Il Blue Gene/L sviluppava 36.01 Teraflops rispetto ai 35.86 Teraflops dell'Earth Simulator. Il sistema era formato da 8 torri con 1024 nodi per ogni torre. Quando la configurazione venne raddoppiata il sistema raggiunse i 70.72 Teraflops.
Il 24 marzo 2005 il dipartimento statunitense per l'energia annunciò che il Blue Gene/L installato al LLNL aveva superato i precedenti record di velocità raggiungendo i 135.5 Teraflops con 32 torri.
Seconda la lista Top500 di giugno 2005, i sistemi basati su Blue Gene/L hanno conquistato 5 delle prime dieci posizioni e 16 delle prime 64 posizioni.
Il 27 ottobre 2005 LLNL e IBM annunciarono che Blue Gene/L aveva nuovamente superato il suo precedente record raggiungendo i 280.6 Teraflops con una configurazione formata da 65.536 nodi di calcolo distribuiti in 32 torri e con 1024 addizionali nodi dedicati alle comunicazioni tra le unità.
Blue Gene/L è stato il primo supercomputer a funzionare a più di 100 Teraflops con un'applicazione reale. Nella fattispecie l'applicazione che si chiamava three-dimensional molecular dynamics code (ddcMD) nato per simulare la solidificazione (processi di crescita e fissazione) dei metalli fusi ad alte pressioni ed alte temperature. Il progetto ha vinto il Gordon Bell Prize del 2005

## Architettura

Ogni nodo di calcolo o di comunicazione è un singolo ASIC con associata una memoria DRAM. L'ASIC integra al suo interno due PowerPC 440 a 700 MHz costruito con una tecnologia a 130 nanometri. Ogni processore è dotato di due unità di calcolo in virgola mobile a doppia precisione e un sottoinsieme che gestisce la cache e la memoria DRAM oltre a gestire la comunicazione interprocesso. Le due unità FPU forniscono a ogni nodo Blue Gene una potenza teorica di 5.6 Gigaflops. I singoli nodi non implementano una gestione coerente della cache.
Integrando tutti i sottosistemi in un unico chip consente di abbattere la potenza dissipata infatti ogni chip consuma solo 17 Watt, tenendo conto anche della DRAM. Questo consente di assemblare moltissimi chip in uno spazio ridotto e quindi di inserire in una singola torre 1024 nodi di calcolo con gli allegati elementi di comunicazione mantenendo ragionevoli i consumi e le potenze da dissipare.
Se si analizza il sistema confrontando i Flops per Watt o in Flops per Watt per metro$^2$ si nota che il sistema Blue Gene è un progetto estremamente efficiente.
Ogni nodo Blue Gene è collegato a tre reti di comunicazioni parallele che generano una rete con topologia di un toroide tridimensionale per realizzare una veloce rete peer-to-peer tra i vari nodi e una rete collettiva per comunicazioni collettive. I nodi di comunicazione (I/O) utilizzano Linux come sistema operativo e comunicano con il mondo esterno tramite una rete ethernet. Infine, una rete ethernet separata e privata provvede alle operazioni di configurazioni dei singoli nodi di diagnostica e di avvio del sistema.
I nodi Blue Gene utilizzano una versione minimalista di sistema operativo che supporta un singolo programma. Per poter utilizzare il Blue Gene/L con più programmi contemporaneamente il sistema può essere suddiviso in più sottosistemi isolati elettricamente dai vari nodi. Il numero di nodi che possono formare una partizione deve essere una potenza di 2. Per esempio 2$^5$ corrisponde a 32 nodi che possono formare una partizione. La massima partizione ovviamente comprende tutti i nodi di calcolo. Prima di eseguire un programma bisogna riservare una partizione, dopo di che si avvia il programma, i nodi coinvolti rimarranno inaccessibili agli altri nodi del sistema e alla fine del programma i nodi saranno liberati per poter essere nuovamente utilizzati.
Data la presenza di un tale numero di elementi qualche nodo potrebbe guastarsi e quindi ogni nodo può essere disconnesso elettricamente dal sistema per non compromettere l'affidabilità del sistema.