# Earth Simulator

L'Earth Simulator (ES) va ser el supercomputador més ràpid del món des de 2002 fins a 2004. Pot portar a terme 35,86 bilions (35.860.000.000.000) d'operacions en coma flotant per segon, o 35,86 TFLOPS. És un projecte dels organismes japonesos NASDA, JAERI i JAMSTEC per a desenvolupar un sistema per fer un model climàtic.
L'Earth Simulator està emplaçat a l'àrea industrial de Kanazawa-ku, a Yokohama-shi, Japó. El complex Earth Simulator Center (ESC) va començar a operar a finals de 2001 i esdevingué el primer de la llista TOP 500 de supercomputadors. Encara que el projecte es va fer públic 5 anys abans, la comunitat de supercomputació dels EUA va rebre una sorpresa.

## Finalitat

L'ES es dedica a la recerca, principalment, de dues parts de la ciència:
* D'una banda l'estudi atmosfèric i oceanogràfic, realitza models d'alta resolució:
** globals, on mostra possibles prediccions de l'escalfament global
** regionals, desenvolupa estudis sobre fenòmens com el Niño i el monsó asiàtic
** locals, amb models de prediccions de desastres meteorològics com els tifons, les pluges torrencials localitzades, el vessament de petroli... etc.
* Per altra part, tenim l'estudi de la terra ferma amb models dinàmics:
** globals, ajuntant en un sistema tota la superfície de terra sòlida
** regionals, on descriu l'activitat de l'escorça i el mantell de la zona de l'Arxipèlag Japonès. També simula el procés de generació d'un terratrèmol, i realitza estudis tomogràfics amb ones sísmiques.

## Maquinari

Aquest supercomputador es basa en l'arquitectura SX de NEC Corporation.
Està compost de 640 nodes, cada un format per 8 processadors vectorials (amb un màxim de 8 GFLOPs cadascú). El cicle de procés és de 2ns (és a dir 500 MHz) i hi ha 16 gibibytes de memòria compartida dins de cada node. Està compartimentat en cabinets d'1 metre x 1,4 metres x 2 metres, on s'encabeixen dos nodes dels esmentats anteriorment. Cada cabinet consumeix una potència de 20KVA.
En total, té 5120 processadors, un màxim teòric de 40 TFlops i 10 tebibytes de memòria. Té un single stage crossbar consistent en 2900 m de cables, dividits en 83000 cables de coure, amb una amplada de banda en el seu tall transversal de 16 GiB/s. Disposa d'una capacitat d'emmagatzemament de 700 terabytes d'espai en disc i d'1,6 petabytes en cinta magnètica.
La zona ocupada pel supercomputador és l'equivalent a 4 pistes de tennis, amb tres pisos d'alçada.

### Processor Node (PN)

El sistema de memòria global (MS) es divideix en 2048 bancs, i la seqüència de números de bancs, concorda amb l'increment d'adreces de llocs a la memòria. Per això el rendiment màxim s'obté accedint a les dades contigües que estan assignades a llocs en ordre ascendent de les adreces de memòria.

### Processadors aritmètics (AP)

Consisteixen en un xip LSI, que opera a una freqüència de rellotge de 500 MHz amb alguns circuits operant a 1 GHz, format per:
* una unitat super-escalar de 4 vies (SU)
* Una unitat vectorial (VU)
* Una unitat de control a la memòria principal
Cada SU és un processador superescalar amb:
* 64KB de memòria cau (cache en anglès)) d'instrucció
* 64KB de memòria cau de dades
* 128 registres escalars de propòsit general.
Cada VU té:
* 72 registres vectorials
* cada un d'aquests registres té 256 elements vectorials
* 8 conjunts de 6 tipus diferents de canonades vectorials: suma/desplaçament, multiplicació, divisió, operacions lògiques, màscares i càrrega/emmagatzamament (load/store).
El mateix tipus de canonades vectorials treballen juntes amb una instrucció d'un únic vector i canonades de diferents tipus poden operar concurrentment. El VU i SU suporten el format de dades en punt flotant de l'IEEE 754.

### Interconnection Network (IN)

La unitat de control d'accés remot (RCU) està connectada directament als switches del bus d'interconnexió i controla les comunicacions de dades entre nodes a un ritme de transferència bidireccional de 12,3 GB/s, tant per enviar com per rebre dades. Així l'amplada de banda total de la xarxa entre nodes és al voltant de 8 TB/s. Diversos modes de transferència de dades, incloent l'accés a subarrays tridimensionals i modes d'accés indirecte, es realitzen per maquinari. En una operació que involucra l'accés a les dades d'un subarray, les dades es bolquen d'un PN a un altre en una única operació de maquinari, amb un temps de processament relativament petit.
Les cabines de Xarxa d'Interconnexió (IN) tenen dos switch de 640x640. El senyal de PN canvia de sèrie a paral·lel i és introduïda a un circuit d'intercanvi. El senyal que venia del circuit d'intercanvi és convertida a Paral·lel o Sèrie, i enviada a una altra cabina PN. El nombre de cables que connecten les cabines PN i les IN és 640x130=83200, i l'extensió total és de 2.400 km.

## Sistema operatiu

El sistema operatiu que funciona a l'Earth Simulator és una versió específica del sistema operatiu de NEC basat en UNIX, anomenat SUPER-UX, i va ser desenvolupat per la sèrie de supercomputadors SX de NEC. Per ajudar els càlculs científics a gran escala, el SUPER-UX ha estat optimitzat principalment en estendre l'escalabilitat i en proveir qualitats especials per l'Earth Simulator.

### Sistema de fitxers paral·lel

Si un treball en paral·lel, que s'executa en els 640 PNs, llegeix o escriu a un disc instal·lat en un PN, cada PN accedeix al disc seqüencialment i el rendiment empitjora molt. Encara que una E/S local en la qual cada PN llegeix o escriu en el seu propi disc resol el problema, és un treball difícil, administrar un nombre gran d'arxius parcials. De manera que, les E/S paral·leles són necessàries en aquest supercomputador, des del punt de vista del rendiment, i la facilitat d'ús. El sistema de fitxers paral·lel (PFS) proveeix al Earth Simulator d'una E/S paral·lela. Això permet manejar múltiples fitxers, que estan localitzats a discs separats de diversos PNs, com un gran fitxer lògic. Cada procés d'un programa paral·lel pot llegir/escriure dades distribuïdes des de i cap a un fitxer paral·lel concurrentment amb una expressió d'E/S per arribar a un alt rendiment i facilitat d'ús de l'E/S.

## Llenguatges

Compiladors de Fortran 90, C i C++ són els emprats. Tots ell tenen un avançada capacitat de vectorització automàtica i microtasques.