1. Meteorologia numerica e
supercalcolo
Marino Marrocu, Gabriella Pusceddu e
Antioco Vargiu
CRS4, Loc. Piscina Manna, Edificio 1 - 09010 Pula
(CA - Italy)
2. Sommario
• Equazioni differenziali per la meteorologia
• Metodi di soluzione alle differenze finite
• Operatività dei centri meteorologici
• Necessità del calcolo ad alte prestazioni (HPC)
• Differenti approcci HPC
• La tecnologia FPGA
• Portale WEB per l’esecuzione e la consultazione
delle simulazioni di propagazione di incendio
• Conclusioni e potenziali sviluppi della ricerca
2
3. Cenni storici
•Bjerknes (1904) fu il primo a
formalizzare il problema delle
previsioni meteo come soluzione di
un set di NL-PDE ai valori iniziali
Vilhelm Bjerknes (1862-1951)
• Durante la prima guerra
mondiale il tentativo di Lewis Fry Richardson
risolvere numericamente le eq.
di Richardson fu un fallimento.
• Infine nel 1945 fu realizzato ENIAC
(Electronic Numerical Integrator and
Computer) e Charney, Fiortoft & Von
Neuman alla fine degli anni 40 ebbero
successo con le prime previsioni
numeriche basate sull'integrazione
dell'equazione della conservazione John von Neumann
della vorticità.
3
4. Le equazioni del moto
Le uniche forze in gioco sono la gravità, l’attrito e il gradiente di
r
pressione e perciò risulta: dV 1 r r r
=− ∇ p + g k + Fr
dt ρ
Ma la terra ruota e si produce in aggiunta una forza apparente:
r r
d aV a dV r r r r r
= + 2Ω × V + Ω × (Ω × r )
dt dt
Forza di Coriolis
r
dV r r 1r r r
In definitiva: = −2Ω × V − ∇p + gk + Fr
dt ρ
r r r
Dove g congloba anche l’accelerazione centrifuga: g = g * − Ω × (Ω × r )
4
5. Equationi Prognostiche
∂u u ∂u v ∂u ∂u RdTv ∂ln ps 1 ∂Φ
=− − −σ −
& − +F
∂t ah ∂λ a ∂ϕ ∂σ ah ∂λ ah ∂λ
u
Momento x x x
Orizzontale ∂v u ∂v v ∂v ∂v RdTv ∂ln ps 1 ∂Φ
=− − −σ −
& − + Fv
∂t ah ∂λ a ∂ϕ ∂σ a ∂ϕ a ∂ϕ
x
∂θ u ∂θ v ∂θ ∂θ
Termodinamica =− − −σ& + Fθ
∂t ahx ∂λ a ∂ϕ ∂σ
Conservazione ∂q u ∂q v ∂q ∂q
=− − −σ& + Fq
dell’acqua ∂t ahx ∂λ a ∂ϕ ∂σ
∂ps r ∂p
1
Pressione = −∫ ∇ ⋅ (Vh )dσ
Superficiale ∂t 0
∂σ
hx = cosϕ f = 2Ω sin ϕ Φ = ∫ gdz
5
6. Equazioni Diagnostiche
∂Φ Rd Tv ∂p
Idrostatica =−
∂σ p ∂σ
∂p ∂p ∂ps r ∂p
1
Continuità σ& = (1 − ) + ∫ ∇ ⋅ (Vh )dσ
∂σ ∂ps ∂t σ ∂σ
Coordinata
Vericale p = σp s
Rd
Temperatura p0
θ =T( ) Cp
Potenziale p
Temperatura
Virtuale Tv ≈ T (1 + 0.61r)
6
7. Discretizzazione delle PE
r (ui, j,k − ui−1, j,k ) (vi, j+1,k − vi, j,k )
Spaziale: differenze finite centrate ∇⋅Vh = ∂x + ∂y ≈
∂u ∂v
+
∆x ∆y
Temporale: leap frog T (t + 1) = T (t − 1) + 2∆tD(t )
Griglia orizzontale: C Arakawa Coordinata Verticale: σ = p/ps
7
8. Tecniche informatiche avanzate per la
Previsione meteorologica applicata
alla propagazione degli incendi
Se l’obiettivo: previsioni meteo sempre più dettaglaite
Sorge la necessità: mezzi di (super-)calcolo
8
9. Calcolo ad alte prestazioni
Sino agli anni 90 super-calcolatori Negli anni 90 si incominciano ad
dedicati (mainframe) super-cari affermare i cluster di PC e si
che erano appannaggio di pochi sviluppa il calcolo parallelo
centri di calcolo nel mondo
Single-Core CPU Multi-Core Many-Core FPGA
GPU (NVIDIA, AMD) Xilinx, Altera
Tilera, XMOS etc... Maxeler
Intel, AMD
9 9
10. Performance in funzione della semplicità d’uso
(ASIC)
FPGA
Performance
GPU
Multi-Core
CPU
Single-Core
CPU
Difficoltà di programmazione
10
Slide from Maxeler Technologies
10
11. FPGA: generalità
• FPGA, Field Programmable Gate Array, è un
semiconduttore basato su una matrice di porte
logiche connesse da connessioni programmabili via
software.
• Le FPGA sono programmabili per eseguire
specifiche applicazioni, consentendo la diminuzione
dei tempi di progettazione, di verifica mediante
simulazioni e di prova sul campo dell'applicazione.
• Le FPGA differiscono, dagli ASIC (Application
Specific Integrated Circuits), che sono realizzati
per eseguire task specifici, perché è possibile
apportare modifiche al dispositivo, per correggere
errori, semplicemente riprogrammandolo.
• Essendo dispositivi standard possono prodursi su
larga scala a basso prezzo.
• Risultano antieconomici, se da prodursi in numero
elevato per la stessa applicazione, perché il prezzo
unitario del dispositivo è superiore a quello degli
ASIC (che di converso hanno però elevati costi di
progettazione). FPGA Xilinx Virtex-6 SX 475T
Contenente 1,955K porte logiche
11
12. CPU vs. FPGA
Xilinx Virtex-6 SX
Intel 6-Core X5680 “Westmere” 475T
Block RAM DSP Block
12 Slide from Maxeler Technologies 12
13. Superficie del semiconduttore
utilizzata per il calcolo
Xilinx Virtex-6 SX 475T
Intel 6-Core X5680 “Westmere”
Computation
Computation
In teoria il 100%
Circa 6%
13
Slide from Maxeler Technologies
13
14. CPU: Esecuzione delle Istruzioni
int*x, *y;
yi = xi × xi + 30 for (int i =0; i < DATA_SIZE; i++)
y[i]= x[i] * x[i] + 30;
14
Slide from Maxeler Technologies
14
15. Stessa applicazione su FPGA
Codice java che istruisce l’OS a codificare su FPGA:
•Un contatore per gli elementi di Xi,
yi = xi × xi + 30 •La definizione della costante cost=30,
•La sequenza di operazioni da svolgere sugli Xi e cost
•Attivare il canale di input per gli Xi
•Attivare il canale di output per gli Yi
x
CPU Memory
Host
Code
FPGA x
MaxCompilerRT
x 30
MaxelerOS
Manager
x
30 +
+
Main PCI
x y x
Memory
y
Express
Host Code (.c) Manager (.java)
Slide from Maxeler Technologies
15
15
16. Streaming dei dati nell’applicazione
5 4 3 2 1 0
x
0
x
0
30
+
30
y
30
Slide from Maxeler Technologies
16
16
17. Streaming dei dati nell’applicazione
5 4 3 2 1 0
x
1
x
1
30
+
31
y
30 31
Slide from Maxeler Technologies
17
17
18. Streaming dei dati nell’applicazione
5 4 3 2 1 0
x
2
x
4
30
+
34
y
30 31 34
Slide from Maxeler Technologies
18
18
19. Streaming dei dati nell’applicazione
5 4 3 2 1 0
x
3
x
9
30
+
39
y
30 31 34 39
Slide from Maxeler Technologies
19
19
20. Streaming dei dati nell’applicazione
5 4 3 2 1 0
x
4
x
16
30
+
46
y
30 31 34 39 46
Slide from Maxeler Technologies
20
20
21. Streaming dei dati nell’applicazione
5 4 3 2 1 0
x
5
x
25
30
+
55
y
30 31 34 39 46 55
Slide from Maxeler Technologies
21
21
22. Streaming Parallelo dei Dati
5 4 3 2 1 0
x x x x x x
x x x x x x
30 30 30 30 30 30
+ + + + + +
y y y y y y
30 31 34 39 46 55
22
22
33. Conclusioni
Il servizio WEB FireForest è ancora in forma di sviluppo ma l’intento è quello di riuscire a
fornire un servizio realtime, a vari livelli di dettaglio, che copra la parte meteorologica,
quella di gestione dei dati GIS e quella di simulazione della propagazione del fronte di
fiamma per incendi boschivi in Sardegna.
La modellistica meteo(-climatica) richiede lo sviluppo dei modelli su architetture HW allo
stato dell’arte per ottenere i campi di vento a risoluzioni spaziali inferiori al km.
Attualmente GPU ed FPGA offrono potenzialità ancora in parte da scoprire
Sviluppare su tali HW è complesso e non sempre i risultati ricambiano dello sforzo, sia
intellettuale che economico, necessario
Il CRS4, che ha tra i suoi obiettivi “lo sviluppo e l'applicazione di soluzioni innovative
a problemi provenienti da ambienti naturali, sociali e industriali”, intende investire
nel settore innovativo legato all’utilizzo dell’architettura FPGA per la modellistica
ambientale
L’opportunità offerta a giovani studenti è quella di effettuare uno stage/tesi sulla specifica
problematica del “porting” di un modello meteorologico su FPGA
E’ un lavoro, che a nostra conoscenza, non è stato mai fatto sinora per un modello nella
configurazione operazionale
Inoltre tale attività consentirebbe alla/al candidata/o di acquisire familiarità con una
tecnologia che ha potenzialità di utilizzo in molti altri settori
33