# Earth Simulator

El Earth Simulator (ES) (地球シミュレータ, Chikyū Shimyurēta), desarrollado por la iniciativa del gobierno japonés "Earth Simulator Project", era un vector superordenador sistema para ejecutar modelo climático global para evaluar los efectos del calentamiento global y los problemas en la geofísica de la tierra sólida. El sistema fue desarrollado para Agencia de Exploración Aeroespacial de Japón, Instituto de Investigación de Energía Atómica de Japón y Centro de Tecnología y Ciencias Marinas de Japón (JAMSTEC) en 1997. La construcción comenzó en octubre de 1999 y el sitio se inauguró oficialmente el 11 de marzo de 2002. El proyecto costó 60 000 millones yen.
Creado por NEC, ES se basó en su arquitectura SX-6. Consistía en 640 nodos con ocho procesador vectorial y 16 gigabytes de memoria de computadora en cada nodo, para un total de 5120 procesador y 10 terabytes de memoria. Se instalaron dos nodos por gabinete de 1 metro × 1,4 metros × 2 metros. Cada armario consumía 20 kW de potencia. El sistema tenía 700 terabytess de almacenamiento en disco (450 para el sistema y 250 para los usuarios) y 1.6 petabytess de almacenamiento masivo en unidad de cinta s. Fue capaz de ejecutar simulaciones holísticas del clima global tanto en la atmósfera como en los océanos hasta una resolución de 10 km. Su rendimiento en el punto de referencia LINPACK fue de 35,86 TFLOPS, que fue casi cinco veces más rápido que la supercomputadora más rápida anterior, ASCI White. A partir de 2020, se puede lograr un rendimiento comparable usando 4 GPU Nvidia A100, cada una con 9,746 FP64 TFlops.
ES fue la supercomputadora más rápida del mundo de 2002 a 2004. Su capacidad fue superada por el prototipo Blue Gene/L de IBM el 29 de septiembre de 2004.
ES fue reemplazado por Earth Simulator 2 (ES2) en marzo de 2009. ES2 es un sistema NEC SX-9/E y tiene una cuarta parte de nodos cada uno de 12,8 veces el rendimiento (3,2 × velocidad de reloj, cuatro veces el recurso de procesamiento por nodo), para un rendimiento máximo de 131 TFLOPS. Con un rendimiento de LINPACK entregado de 122,4 TFLOPS, ES2 era la supercomputadora más eficiente del mundo en ese momento. En noviembre de 2010, NEC anunció que ES2 encabezó la FFT global, una de las medidas de los HPC Challenge Awards, con una cifra de rendimiento de 11.876 TFLOPS.
ES2 fue reemplazado por Earth Simulator 3 (ES3) en marzo de 2015. ES3 es un sistema NEC SX-ACE con 5120 nodos y un rendimiento de 1,3 PFLOPS.
ES3, de 2017 a 2018, funcionó junto con Gyoukou, una supercomputadora con refrigeración por inmersión que puede alcanzar hasta 19 PFLOPS.

## Resumen del sistema
### Hardware

Earth Simulator (ES para abreviar) fue desarrollado como un proyecto nacional por tres agencias gubernamentales: la Agencia Nacional de Desarrollo Espacial de Japón (NASDA), el Instituto de Investigación de Energía Atómica de Japón (JAERI) y el Instituto de Ciencias Marinas y Centro Tecnológico (JAMSTEC). El ES se encuentra en el edificio Earth Simulator (aprox. 50 m × 65 m × 17 m). Earth Simulator 2 (ES2) utiliza 160 nodos del SX-9E de NEC. La actualización de Earth Simulator se completó en marzo de 2015. El sistema Earth Simulator 3 (ES3) utiliza 5120 nodos de SX-ACE de NEC.

#### Configuración del sistema

El ES es un sistema de supercomputadora de vector altamente paralelo del tipo de memoria distribuida, y constaba de 160 nodos de procesador conectados por Fat-Tree Network. Cada nodo de procesador es un sistema con una memoria compartida, que consta de 8 procesadores aritméticos de tipo vectorial, un sistema de memoria principal de 128 GB. El rendimiento máximo de cada procesador aritmético es de 102,4 Gflops. El ES en su conjunto consta de 1280 procesadores aritméticos con 20 TB de memoria principal y el rendimiento teórico de 131Tflops.

#### Construcción de CPU

Cada CPU consta de una unidad superescalar (SU) de 4 vías, una unidad vectorial (VU) y una unidad de control de acceso a la memoria principal en un solo chip LSI. La CPU funciona a una frecuencia de reloj de 3,2 GHz. Cada VU tiene 72 registros vectoriales, cada uno de los cuales tiene 256 elementos vectoriales, junto con 8 conjuntos de seis tipos diferentes de conductos vectoriales: suma/desplazamiento, multiplicación, división, operaciones lógicas, enmascaramiento y carga/almacenamiento. El mismo tipo de canalizaciones vectoriales funciona en conjunto mediante una sola instrucción vectorial y las canalizaciones de diferentes tipos pueden operar simultáneamente.

#### Nodo procesador (PN)

El nodo del procesador está compuesto por 8 CPU y 10 módulos de memoria.

#### Red de Interconexión (IN)

La RCU está directamente conectada a los interruptores de barra transversal y controla las comunicaciones de datos entre nodos a una tasa de transferencia bidireccional de 64 GB/s para enviar y recibir datos. Por lo tanto, el ancho de banda total de la red entre nodos es de aproximadamente 10 TB/s.

#### Gabinete del nodo del procesador (PN)

El nodo del procesador está compuesto por dos nodos de un gabinete y consta de la fuente de alimentación, 8 módulos de memoria y una caja PCI con 8 módulos de CPU.

### Software

A continuación, se incluye la descripción de las tecnologías de software utilizadas en el sistema operativo, la programación de trabajos y el entorno de programación de ES2.

#### Sistema operativo

El sistema operativo que se ejecuta en ES, "Earth Simulator Operating System", es una versión personalizada de SUPER-UX de NEC que se utiliza para las supercomputadoras NEC SX que componen ES.

#### Sistema de archivos de almacenamiento masivo

Si un trabajo paralelo grande que se ejecuta en 640 PN lee o escribe en un disco instalado en una PN, cada PN accede al disco en secuencia y el rendimiento se degrada terriblemente. Aunque la E/S local en la que cada PN lee o escribe en su propio disco resuelve el problema, es un trabajo muy duro administrar una cantidad tan grande de archivos parciales. Luego, ES adopta el Sistema de archivos global y de ensayo (GFS) que ofrece un rendimiento de E/S de alta velocidad.

#### Programación de trabajos

ES es básicamente un sistema de trabajo por lotes. Se introduce Network Queuing System II (NQSII) para administrar el trabajo por lotes. Configuración de colas del Simulador de Tierra. ES tiene colas de dos tipos. La cola de lotes S está diseñada para trabajos por lotes de un solo nodo y la cola de lotes L es para colas de lotes de varios nodos. Hay colas de dos tipos. Una es la cola de lotes L y la otra es la cola de lotes S. La cola de lotes S está destinada a usarse para una ejecución previa o posterior para trabajos por lotes a gran escala (realización de datos iniciales, procesamiento de resultados de una simulación y otros procesos), y la cola de lotes L es para una ejecución de producción. Los usuarios eligen la cola apropiada para su trabajo.
* Los nodos asignados a un trabajo por lotes se usan exclusivamente para ese trabajo por lotes.
* El trabajo por lotes se programa en función del tiempo transcurrido en lugar del tiempo de CPU.
La estrategia (1) permite estimar el tiempo de finalización del trabajo y facilitar la asignación de nodos para los siguientes trabajos por lotes por adelantado. La estrategia (2) contribuye a una ejecución eficiente del trabajo. El trabajo puede usar los nodos exclusivamente y los procesos en cada nodo se pueden ejecutar simultáneamente. Como resultado, el programa paralelo a gran escala puede ejecutarse eficientemente. Las PN del sistema L tienen prohibido el acceso al disco de usuario para garantizar un rendimiento de E/S de disco suficiente. Por lo tanto, los archivos utilizados por el trabajo por lotes se copian del disco del usuario al disco de trabajo antes de la ejecución del trabajo. Este proceso se denomina "etapa de entrada". Es importante ocultar este tiempo de preparación para la programación del trabajo. Los pasos principales de la programación del trabajo se resumen a continuación;
* Asignación de nodos
* Stage-in (copia archivos del disco del usuario al disco de trabajo automáticamente)
* Escalamiento del trabajo (reprogramación para la hora de inicio estimada anterior si es posible)
* Ejecución de trabajo
* Stage-out (copia archivos del disco de trabajo al disco del usuario automáticamente)
Cuando se envía un nuevo trabajo por lotes, el programador busca los nodos disponibles (Paso 1). Una vez que los nodos y la hora de inicio estimada se asignan al trabajo por lotes, comienza el proceso de etapa inicial (Paso 2). El trabajo espera hasta la hora de inicio estimada después de que finaliza el proceso de introducción. Si el programador encuentra una hora de inicio anterior a la hora de inicio estimada, asigna la nueva hora de inicio al trabajo por lotes. Este proceso se denomina "Escalamiento del trabajo" (Paso 3). Cuando llega la hora de inicio estimada, el planificador ejecuta el trabajo por lotes (Paso 4). El programador finaliza el trabajo por lotes y comienza el proceso de salida después de que finaliza la ejecución del trabajo o finaliza el tiempo transcurrido declarado (Paso 5). Para ejecutar el trabajo por lotes, el usuario inicia sesión en el servidor de inicio de sesión y envía el script por lotes a ES. Y el usuario espera hasta que finaliza la ejecución del trabajo. Durante ese tiempo, el usuario puede ver el estado del trabajo por lotes utilizando el navegador web convencional o los comandos del usuario. La programación del nodo, la puesta en escena del archivo y otros procesos son procesados automáticamente por el sistema de acuerdo con el script por lotes.

#### Entorno de programación

Modelo de programación en ES
El hardware ES tiene una jerarquía de paralelismo de 3 niveles: procesamiento vectorial en un AP, procesamiento paralelo con memoria compartida en una PN y procesamiento paralelo entre PN a través de IN. Para sacar el máximo rendimiento de ES, debe desarrollar programas paralelos que aprovechen al máximo dicho paralelismo. la jerarquía de 3 niveles de paralelismo de ES se puede utilizar de dos maneras, que se denominan paralelismo híbrido y plano, respectivamente. En la paralelización híbrida, el paralelismo entre nodos se expresa mediante HPF o MPI, y el intranodo mediante microtareas u OpenMP, por lo que debe tener en cuenta el paralelismo jerárquico al escribir sus programas. En la paralelización plana, el paralelismo entre nodos e intranodos puede expresarse mediante HPF o MPI, y no es necesario que considere un paralelismo tan complicado. En términos generales, la paralelización híbrida es superior a la plana en rendimiento y viceversa en facilidad de programación. Tenga en cuenta que las bibliotecas MPI y los tiempos de ejecución de HPF están optimizados para funcionar lo mejor posible tanto en la paralelización híbrida como plana.
Idiomas
Están disponibles compiladores para Fortran 90, C y C++. Todos ellos tienen una capacidad avanzada de vectorización automática y microtareas. La microtarea es una especie de multitarea proporcionada al mismo tiempo por la supercomputadora de Cray y también se utiliza para la paralelización dentro de los nodos en ES. Las microtareas se pueden controlar insertando directivas en los programas fuente o utilizando la paralelización automática del compilador. (Tenga en cuenta que OpenMP también está disponible en Fortran 90 y C++ para la paralelización dentro del nodo).
Paralelización
Interfaz de paso de mensajes (MPI)
MPI es una biblioteca de paso de mensajes basada en los estándares MPI-1 y MPI-2 y proporciona una capacidad de comunicación de alta velocidad que aprovecha al máximo las funciones de IXS y la memoria compartida. Se puede utilizar para la paralelización tanto dentro como entre nodos. Un proceso MPI se asigna a un AP en la paralelización plana, oa un PN que contiene microtareas o hilos OpenMP en la paralelización híbrida. Las bibliotecas MPI están diseñadas y optimizadas cuidadosamente para lograr el máximo rendimiento de comunicación en la arquitectura ES en ambos sentidos de paralelización.
Fortrans de alto rendimiento (HPF)
Se considera que los principales usuarios de ES son científicos naturales que no están necesariamente familiarizados con la programación paralela o que no les gusta. En consecuencia, existe una gran demanda de un lenguaje paralelo de nivel superior. HPF/SX proporciona programación paralela fácil y eficiente en ES para satisfacer la demanda. Admite las especificaciones de HPF2.0, sus extensiones aprobadas, HPF/JA y algunas extensiones únicas para ES
Instrumentos
-Entorno de desarrollo integrado (PSUITE)
El entorno de desarrollo integrado (PSUITE) es la integración de varias herramientas para desarrollar el programa que opera SUPER-UX. Debido a que PSUITE asume que la GUI puede usar varias herramientas y tiene la función coordinada entre herramientas, llega a ser capaz de desarrollar el programa de manera más eficiente que el método de desarrollar el programa anterior y fácilmente.
-Soporte de depuración
En SUPER-UX, las siguientes funciones están preparadas como sólidas funciones de soporte de depuración para respaldar el desarrollo del programa.

### Instalaciones

Características del edificio Earth Simulator

#### Protección contra desastres naturales

Earth Simulator Center tiene varias características especiales que ayudan a proteger la computadora de desastres naturales o sucesos. Un nido de alambre cuelga sobre el edificio que ayuda a protegerlo de los rayos. El nido en sí usa cables blindados de alto voltaje para liberar la corriente del rayo al suelo. Un sistema especial de propagación de luz utiliza lámparas halógenas, instaladas fuera de las paredes protegidas de la sala de máquinas, para evitar que cualquier interferencia magnética llegue a las computadoras. El edificio está construido sobre un sistema de aislamiento sísmico, compuesto por soportes de goma, que protegen el edificio durante los terremotos.

#### Sistema de protección contra rayos

Tres características básicas:
* Cuatro postes a ambos lados del edificio Earth Simulator componen un nido de cables para proteger el edificio de los rayos.
* Se utiliza un cable blindado de alto voltaje especial para el cable inductivo que libera una corriente de rayo a tierra.
* Las placas de suelo se colocan manteniéndose separadas del edificio unos 10 metros.

#### Iluminación

Iluminación: Sistema de propagación de la luz dentro de un tubo (255 mm de diámetro, 44 m (49 yardas) de longitud, 19 tubos) Fuente de luz: lámparas halógenas de 1 kW Iluminación: 300 lx en el piso en promedio Las fuentes de luz instaladas fuera de las paredes blindadas de la sala de máquinas.

#### Sistema de aislamiento sísmico

11 aisladores (1 ft de altura, 3.3 ft. de diámetro, gomas de 20 capas que sostienen la parte inferior del edificio ES)

### Rendimiento
#### LINPACK

El nuevo sistema Earth Simulator (ES2), que comenzó a funcionar en marzo de 2009, logró un rendimiento sostenido de 122,4 TFLOPS y una eficiencia informática (*2) del 93,38 % en el LINPACK Benchmark (*1).
* 1. Punto de referencia de LINPACK
LINPACK Benchmark es una medida del rendimiento de una computadora y se utiliza como punto de referencia estándar para clasificar los sistemas informáticos en el proyecto TOP500. LINPACK es un programa para realizar álgebra lineal numérica en computadoras.
* 2. Eficiencia informática
La eficiencia informática es la relación entre el rendimiento sostenido y el rendimiento informático máximo. Aquí, es la relación de 122,4 TFLOPS a 131,072 TFLOPS.

#### Rendimiento computacional de WRF en Earth Simulator

WRF (Weather Research and Forecasting Model) es un código de simulación meteorológica de mesoescala que se ha desarrollado bajo la colaboración de instituciones estadounidenses, incluido NCAR (Centro Nacional de Investigación Atmosférica) y NCEP (Centros Nacionales de Predicción Ambiental). JAMSTEC ha optimizado WRFV2 en el Simulador de la Tierra (ES2) renovado en 2009 con la medición del rendimiento computacional. Como resultado, se demostró con éxito que WRFV2 puede ejecutarse en ES2 con un rendimiento sobresaliente y sostenido.
La simulación meteorológica numérica se realizó utilizando WRF en el Earth Simulator para el hemisferio terrestre con la condición del modelo Nature Run. La resolución espacial del modelo es de 4486 por 4486 horizontalmente con un espaciado de cuadrícula de 5 km y 101 niveles verticalmente. Se aplicaron principalmente condiciones adiabáticas con el paso de integración de tiempo de 6 segundos. Se logró un rendimiento muy alto en el Simulador de la Tierra para WRF de alta resolución. Si bien la cantidad de núcleos de CPU utilizados es solo del 1 % en comparación con el sistema Jaguar de clase más rápida del mundo (CRAY XT5) en el Laboratorio Nacional de Oak Ridge, el rendimiento sostenido obtenido en Earth Simulator es casi el 50 % del medido en el sistema Jaguar. El índice de rendimiento máximo en Earth Simulator también es un récord de 22,2%.