Introducción a Personal en Formación

27
Compiladores e Intérpretes Entorno de Desarrollo T. Morales Servicio de Modelización de la Calidad del Aire Despacho: 251

Transcript of Introducción a Personal en Formación

Compiladores e IntérpretesEntorno de Desarrollo

T. Morales

Servicio de Modelización de la Calidad del Aire Despacho: 251

Descripción fenomenológica InformáticaMatemática

Física

Química

Computación de Altas

Prestaciones

DB Alta Disponibilidad

etc

EDOMétodo

Numéricos

etc

Descripción fenomenológica InformáticaMatemática

Física

Química

Computación de Altas

Prestaciones

DB Alta Disponibilidad

etc

EDOMétodo

Numéricos

etc

Nos vamos a centrar en:

pre-proceso post-procesomodelización

¿ Dónde estoy trabajando ?

informática sistema

pre-proceso post-procesomodelización

Computación Altas Prestaciones

LP de más bajo nivel

LP de más bajo nivel + de más alto nivel.

LP de más bajo nivel + de más alto nivel.

Alta disponibilidad Alta disponibilidad

LP = Lenguajes de Programación

pre-proceso post-procesomodelización

Computación Altas Prestaciones

LP de más bajo nivel

LP de más bajo nivel + de más alto nivel.

LP de más bajo nivel + de más alto nivel.

Alta disponibilidad Alta disponibilidad

Computación Altas Prestaciones

modelización

¿ Qué es la Computación de Altas Prestaciones ?

Computación Altas Prestaciones

modelización

H+00 H+48

Tiempo decomputo

secuencial

NWP

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

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

modelización LP de más bajo nivel

Lenguajes de programación • Fortran 77, 90 • C++ • C++ - Fortran 90

CompiladorCódigo Fuente Ejecutable

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.

Arquitectura de memoria: Memoria Compartida

CPU

CPU

CPUMEMORIACPU

UMA(Uniform Memory Access)

NUMA(Non-Uniform Memory Access)

CPUMEMORIA CPU

CPUMEMORIA CPU

CPUMEMORIA CPU

CPUMEMORIA CPU

Businterconexió

Noreste, Anayet

modelización LP de más bajo nivel

Arquitectura de memoria: Memoria Distribuida

Memoria CPU

Memoria CPU

Memoria CPU

Memoria CPU

network

modelización LP de más bajo nivel

Arquitectura de memoria: Memoria Distribuida-Compartida

Introducción a la computación de Altas Prestaciones

MemoriaCPU

CPU

GPU

GPU

MemoriaCPU

CPU

GPU

GPUMemoria

CPU

CPU

GPU

GPU

MemoriaCPU

CPU

GPU

GPU

MemoriaCPU

CPU

CPU

CPU

MemoriaCPU

CPU

CPU

CPUMemoria

CPU

CPU

CPU

CPU

MemoriaCPU

CPU

CPU

CPUnetwork

network

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

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

modelizaciónPropuesta:

• 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”

Remoto

“Local”

pre-proceso post-procesomodelización

Computación Altas Prestaciones

LP de más bajo nivel

LP de más bajo nivel + de más alto nivel.

LP de más bajo nivel + de más alto nivel.

Alta disponibilidad Alta disponibilidad

pre-proceso post-proceso

Manipulación de

Datos

Observaciones

NWP

Satélite

LAM

Global

hdf5, netcdf

gribapi, netcdf

csv

SoluciónAnalítica de datos

Rest Hateoas

estaciones CCAA

estaciones AEMET

MVC10 mtos.

10 mtos.

Spring XD

Servicio de Modelización de la Calidad del AireServicio 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

Una posibilidad para hacer todo este proceso es:

Interpretado más lento pero más fácil y rápido de programar.

binding modulos python

cc++ Fortran 90

Como NO desarrollar con Python

Como SI desarrollar con Python

Remoto

“Local”