Este documento describe los conceptos de computación de altas prestaciones, incluyendo lenguajes de programación, compiladores, arquitecturas de memoria, y modelos numéricos utilizados en la Agencia Estatal de Meteorología de España. Se centra en los lenguajes de programación de bajo nivel como Fortran y C++, y cómo estos se usan junto con librerías y APIs de alto nivel para la modelización numérica y el procesamiento de datos meteorológicos.
9. H+00 H+48
NWP
Paso de tiempo numérico
datos/3datos/3 datos/3
P3P2P1
tiempo computo '
tiempo secuencial
3
¿ ?
Computación
Altas Prestaciones
modelización
10. Algunos Modelos Numéricos utilizados en el AEMET
• Modelos de Predicción del tiempo
• HIRLAM - Operativo - F90
• HARMONIE - Desarrollo - Proyecto OOPS (C++ -
F90)
• Modelo de Calidad del Aire
• MOCAGE - F90 transformado
Computación
Altas Prestaciones
modelización
11. modelización
LP de
más bajo nivel
Lenguajes de programación
• Fortran 77, 90
• C++
• C++ - Fortran 90
Compilador
Código
Fuente Ejecutable
12. modelización
LP de
más bajo nivel
Compiladores más utilizados
- GNU
- Intel
- Porland
- Entornos de Compilación — desarrollados por
compañías de supercomputación para sus
supercomputadores.
13. Arquitectura de memoria: Memoria Compartida
CPU
CPU
CPUMEMORIACPU
UMA
(Uniform Memory Access)
NUMA
(Non-Uniform Memory Access)
CPU
MEMORIA
CPU
CPU
MEMORIA
CPU
CPU
MEMORIA
CPU
CPU
MEMORIA
CPU
Bus
interconexió
Noreste, Anayet
modelización
LP de
más bajo nivel
14. Arquitectura de memoria: Memoria Distribuida
Memoria CPU
Memoria CPU
Memoria CPU
Memoria CPU
network
modelización
LP de
más bajo nivel
15. Arquitectura de memoria: Memoria Distribuida-Compartida
Introducción a la computación de Altas Prestaciones
Memoria
CPU
CPU
GPU
GPU
Memoria
CPU
CPU
GPU
GPU
Memoria
CPU
CPU
GPU
GPU
Memoria
CPU
CPU
GPU
GPU
Memoria
CPU
CPU
CPU
CPU
Memoria
CPU
CPU
CPU
CPU
Memoria
CPU
CPU
CPU
CPU
Memoria
CPU
CPU
CPU
CPU
network
network
16. modelización
LP de
más bajo nivel
- Compiladores
- Librerías
- API
• MPI
• GribApi
• NetCDF
Hay que linkarlas al programa para
poder usarlas.
¡ojo! Librerías estáticas y dinámicas
• OpenMP
17. modelización
LP de
más bajo nivel
Notas:
- Paradigma de programación:
- Mayoritariamente orientada a
procedimientos
• Modelos global IFS (Integrated Forecast System)
ECMWF y LAM HARMONIE (HIRLAM group)
- C++ y F90
- C++ capa alta y
- F90 + OpenMP + MPI capa computo
18. modelización
Propuesta:
• ECMWF - IFS o HARMONIE
• ecgate (puerta de entrada)
• c1a (super computador CRAY)
• MARS (base de datos)
• AEMET - HIRLAM o MOCAGE
• noreste, anayet, oceano, …
• Bull
• Base de Datos:
• SQL, ….
• MongoDB -clase J. Montero
Remoto
“Local”
22. Rest
Hateoas
estaciones
CCAA
estaciones
AEMET
MVC
10 mtos.
10 mtos.
Spring XD
Servicio de Modelización de la Calidad del Aire
Servicio de Gestión de Datos
Intercambios de datos en tiempo real entre el MINISTERIO DE AGRICULTURA,
ALIMENTACIÓN Y MEDIO AMBIENTE y AEMET.
Almacenamiento en una BBDD NoSQL