Cluster Linux per la modellistica ambientale



La disponibilità di grande potenza di calcolo assume oggi un ruolo sempre più strategico sia per la ricerca scientifica che per le applicazioni industriali, fra cui la progettazione, i database e i servizi di rete di tipo mission critical, lo storage ad alta affidabilità.

Rispetto ai tradizionali supercomputer, i cluster costituiscono oggi l’alternativa più utilizzata per le esigenze di calcolo di svariate tipologie di applicazioni. Queste architetture infatti permettono di avere potenza di calcolo ed elevata affidabilità in modo flessibile, scalabile e soprattutto molto economico.

Un cluster di computer è in estrema sintesi un supercomputer realizzato connettendo in rete un gruppo di PC, server o workstation che, tramite opportuni software, collaborano fra loro per suddividersi il carico di lavoro. Dal punto di vista hardware questi sistemi possono essere realizzati come semplici reti di computer (generalmente server compatti alloggiati in armadi rack), e solo a livello software avviene la “fusione” che permette ai vari computer di cooperare come nodi di un unico elaboratore multiprocessore. La piattaforma software di cluster-computing più utilizzata nel mondo è basata sul sistema operativo Linux e sull’uso di software standard per l’elaborazione parallela, come ad esempio le librerie MPI ed i sistemi di gestione delle code di esecuzione di tipo PBS.

I principali settori di impiego dei cluster sono:

  • High Performance Computing (HPC): la potenza di calcolo costituita dall’insieme dei processori disponibili viene utilizzata per ridurre (o rendere accessibili) i tempi di calcolo di complesse elaborazioni grazie all’impiego di tecniche di calcolo parallelo.

  • High Availability (HA): la disponibilità di più computer indipendenti viene sfruttata per ridondare servizi di rete di tipo mission critical, in modo da ridurre al minimo i single point of failure e massimizzare la disponibilità.

  • Load Balacing (LB): le richieste indirizzate ad un server (es. web-server, database-server…) vengono smistate ai vari computer del cluster secondo algoritmi di bilanciamento del carico che consentono di ottenere elevati livelli di prestazioni, pari quasi alla somma delle capacità elaborative dei singoli computer.

Spesso le soluzioni di tipo HA e LB vengono combinate assieme per sommare i vantaggi offerti.

Nel caso dell’HPC, un cluster di computer è quindi a tutti gli effetti una macchina parallela e può essere programmato con le stesse tecniche tradizionalmente utilizzate sui supercomputer. Il vantaggio principale è l’elevato rapporto prezzo/prestazioni rispetto a soluzioni più tradizionali, grazie all’adozione di tecnologie hardware largamente diffuse. A questo si sommano l’elevata scalabilità, la facilità di aggiornamento e manutenzione, la disponibilità di piattaforme per il calcolo parallelo standard e la possibilità di utilizzare software open-source. Quest’ultimo aspetto offre notevoli vantaggi in termini di riduzione dei costi di licenza, elevata affidabilità, utilizzo di tecnologie aperte e disponibilità di documentazione, supporto e know-how a partire dalla vasta comunità di utilizzatori e sviluppatori on-line.

Aethia Srl è una delle prime aziende che hanno proposto la tecnologia del cluster-computing nel panorama italiano, ed opera in questo mercato dal 2000. E’ specializzata nella realizzazione di sistemi completi e pronti all’uso, e fornisce un servizio flessibile di supporto che accompagna il cliente in tutte le fasi di deployment e utilizzo del sistema, compreso lo sviluppo di applicativi paralleli.

In questo articolo presentiamo un case history nato dalla collaborazione di Aethia con Aria-net, azienda milanese che opera nel settore della modellistica ambientale. La soluzione descritta è un esempio di impiego di sistemi HPC realizzati tramite cluster Linux per l’esecuzione di simulazioni software per la previsione della qualità dell’aria.

Previsione della qualità dell’aria sull’area urbana di Roma

Il sistema modellistico qui descritto si pone l’obiettivo di prevedere l’inquinamento a scala regionale ed urbana (con risoluzione spaziale massima di 1 km), a partire dagli inventari delle emissioni locali e dalle previsioni meteorologiche e di qualità dell’aria disponibili a scala sinottica e nazionale. Il sistema è in grado di effettuare previsioni delle concentrazioni degli inquinanti di maggior interesse, fra i quali: SO2, NO2, CO, PM10, O3 e Benzene.

La descrizione dei fenomeni atmosferici adottata è di tipo deterministico e la previsione della qualità dell’aria si fonda sull’accoppiamento di modelli per la descrizione delle emissioni, del trasporto, della dispersione e della trasformazione chimica degli inquinanti in atmosfera.

Utilizzando tecniche modellistiche di nesting delle griglie di calcolo, l’insieme delle simulazioni è realizzato limitando i tempi di esecuzione dei codici numerici, in modo da poter disporre in tempo utile delle previsioni per il giorno in corso ed il giorno seguente.

Le previsioni di qualità dell’aria sono realizzate da una catena di modelli matematici costituita dai seguenti moduli, la cui interconnessione è illustrata in Figura 2:

  • modello meteorologico prognostico RAMS (Cotton et al., 2003) per il downscaling delle previsioni meteorologiche dalla scala sinottica alla scala locale;
  • modulo di interfaccia per l’adattamento dei campi meteorologici prodotti da RAMS ai domini di calcolo innestati di FARM (codice GAP) e processore meteorologico per la descrizione della turbolenza atmosferica e per la definizione dei parametri dispersivi (codice SURFPRO);
  • processore per il trattamento delle emissioni (codice EMMA) da fornire come input al modello euleriano, a partire dai dati dell’inventario nazionale delle emissioni CORINAIR (APAT) e dal modello di traffico ATAC per l’area urbana di Roma;
  • modello euleriano per la dispersione e le reazioni chimiche degli inquinanti in atmosfera (FARM);
  • modulo di post-processing per il calcolo dei parametri necessari alla verifica del rispetto dei limiti di legge (medie giornaliere, medie su 8 ore,…).

Figura 2 – Schema concettuale del sistema di previsione della qualità dell’aria per la Regione Lazio e l’area metropolitana di Roma.

La catena operativa per la programmazione e l’esecuzione automatica di tutte le operazioni necessarie al calcolo ed alla distribuzione delle previsioni di qualità dell’aria su base giornaliera è stata realizzata in ambiente Linux ed è in grado di trarre vantaggio delle possibilità offerte dal calcolo parallelo su sistemi di calcolo multiprocessore.

Il sistema di procedure utilizza i linguaggi di scripting tcl/tk e UNIX/bash e permette di gestire le operazioni di pre-processing, la realizzazione delle simulazioni modellistiche, la post elaborazione dei risultati, la loro distribuzione via internet ai possibili utenti finali e la pubblicazione web in forma grafica. Il prototipo del sistema di visualizzazione dei risultati permette di verificare l’evoluzione nel tempo delle concentrazioni al suolo di ogni singolo inquinante, e mette a disposizione alcuni indicatori sintetici quali la media ed il valore massimo giornaliero degli inquinanti considerati.

Il modello meteorologico RAMS ed il modello di qualità dell’aria FARM costituiscono i moduli caratterizzati dalla maggior necessità di risorse di calcolo ed i cui tempi di esecuzione sono ridotti attraverso l’applicazione di tecniche di parallelizzazione, che permettono di contenere in circa 3 ore effettive il tempo di realizzazione di una previsioni di qualità dell’aria estesa su 48 ore, su di un sistema di calcolo a 8 cores.

RAMS è un codice Fortran90 parallelizzato attraverso l’utilizzo delle librerie MPI ed applicando la tecnica di domain decomposition. Lo speed-up ottenibile dall’esecuzione parallela dipende dalla specifica configurazione di calcolo utilizzata, per l’applicazione in esame si sono ottenuti valori pari a circa 3 e 6 utilizzando rispettivamente 4 ed 8 cores.

Per quanto riguarda il modello per la previsione della qualità dell’aria FARM si è proceduto alla sua parallelizzazione mediante l’utilizzo del paradigma OpenMP (Open specifications for Multi Processing) che risulta essere particolarmente interessante per calcolatori SMP (Shared Memory Processing) quale appunto quello utilizzato per il sistema previsionale. Tale approccio consente infatti di procedere alla parallelizzazione delle componenti più onerose del codice, dal punto di vista computazionale, senza dover effettuare una pesante riorganizzazione del medesimo.

L’esperienza di Aria-net mostra come la tecnologia del cluster computing abbia oggi raggiunto un grado di maturità tale da poter essere impiegata con successo in ambito aziendale, sia per le industrie che per le PMI. L’elevata flessibilità consente infatti anche a realtà medie e piccole di adottore queste soluzioni come fattori competitivi strategici su cui basare i propri programmi di innovazione e sviluppo. In questo, Aethia si propone come partner ideale grazie all’esperienza ed al know-how che i propri tecnici possono mettere a disposizione, sia per progettare e dimensionare correttamente soluzioni HPC, sia per esplorare nuove possibilità di applicazione.

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest