CESI. A5057345 Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 1/64. SISET/SITER/WP 2/Mls 2.5 - Rapporto 1/1 della milestone



Documenti analoghi
Automazione Industriale (scheduling+mms) scheduling+mms.

e-dva - eni-depth Velocity Analysis

4.5 CONTROLLO DEI DOCUMENTI E DEI DATI

Introduzione all analisi dei segnali digitali.

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Simulazioni accoppiate 1D-3D per scenari d incendio

MANUALE DELLA QUALITÀ Pag. 1 di 6

Le fattispecie di riuso

Università degli Studi di Salerno

TECNICHE DI SIMULAZIONE

Architetture Applicative

La norma ISO 9001:08 ha apportato modifiche alla normativa precedente in

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Dispensa di Informatica I.1

Le strumentazioni laser scanning oriented per i processi di censimento anagrafico dei patrimoni

SDD System design document

REGOLAMENTO SUL TRATTAMENTO DEI DATI PERSONALI

SymCAD/C.A.T.S. modulo Canali Schema

Sistema operativo: Gestione della memoria

SISTEMA DI GESTIONE PER LA QUALITA Capitolo 4

Come visto precedentemente l equazione integro differenziale rappresentativa dell equilibrio elettrico di un circuito RLC è la seguente: 1 = (1)

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Brochure Internet. Versione The Keyrules Company s.r.l. Pagina 2 di 8

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

Appunti sulla Macchina di Turing. Macchina di Turing

MService La soluzione per ottimizzare le prestazioni dell impianto

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Introduzione alla Virtualizzazione

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Progettaz. e sviluppo Data Base

MANUALE DELLA QUALITA Revisione: Sezione 4 SISTEMA DI GESTIONE PER LA QUALITA

AUTORITA DI BACINO DI RILIEVO REGIONALE NORMATIVA-TIPO RELATIVA AGLI AMBITI NORMATIVI DELLE FASCE DI INONDABILITÀ EX DGR 250/05

Idrostatica Correnti a pelo libero (o a superficie libera) Correnti in pressione. Foronomia

6.1. Risultati simulazioni termovalorizzatore Osmannoro2000

Analisi e diagramma di Pareto

Gestione della memoria centrale

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Approccio stratificato

REGOLAMENTO DI VALUTAZIONE DEL PERSONALE DIPENDENTE

TECNICO SUPERIORE PER L INFORMATICA INDUSTRIALE

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Piano di gestione della qualità

Reti di Telecomunicazione Lezione 8

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

FONDAMENTI di INFORMATICA L. Mezzalira

Capitolo 13: L offerta dell impresa e il surplus del produttore

GESTIONE DELLE TECNOLOGIE AMBIENTALI PER SCARICHI INDUSTRIALI ED EMISSIONI NOCIVE LEZIONE 10. Angelo Bonomi

COMUNE DI SOLBIATE ARNO

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Metodologia di monitoraggio Impianti fotovoltaici

Introduzione al Calcolo Scientifico

Progettazione dei Sistemi di Produzione

Generazione Automatica di Asserzioni da Modelli di Specifica

Comune di San Martino Buon Albergo

Manuale della qualità. Procedure. Istruzioni operative

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

Corso di Componenti e Impianti Termotecnici LE RETI DI DISTRIBUZIONE PERDITE DI CARICO LOCALIZZATE

Indagine sismica. MASW - Multichannel Analysis of Surface Waves

Transitori del primo ordine

Ing. Simone Giovannetti

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Nota interpretativa. La definizione delle imprese di dimensione minori ai fini dell applicazione dei principi di revisione internazionali

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

1. BASI DI DATI: GENERALITÀ

Lezione 1. Introduzione e Modellazione Concettuale

1. Distribuzioni campionarie

CONTROLLO IN TENSIONE DI LED

PROGETTO TECNICO SISTEMA DI GESTIONE QUALITA IN CONFORMITÀ ALLA NORMA. UNI EN ISO 9001 (ed. 2008) n. 03 del 31/01/09 Salvatore Ragusa

Technical Document Release Version 1.0. Product Sheet. MediaSpot. Creazione e gestione palinsesto pubblicitario

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Architettura di un calcolatore

Capitolo 2. Operazione di limite

Progettazione di Basi di Dati

Project Cycle Management La programmazione della fase di progettazione esecutiva. La condivisione dell idea progettuale.

La Metodologia adottata nel Corso

SCHEDA PRODOTTO PAG. 1 J O B T I M E W F. Variazioni mensili al cartellino presenze. Versione 6.1. JOBTIME Work Flow

Il sistema operativo TinyOS

Wi-Fi, la libertà di navigare in rete senza fili. Introduzione.

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

POLITECNICO DI TORINO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

VALORE DELLE MERCI SEQUESTRATE

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Corso di Informatica

Massimo Rundo Politecnico di Torino Dipartimento Energia Fluid Power Research Laboratory

CHIUSURE di MAGAZZINO di FINE ANNO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

STRUMENTO PER LA LOCALIZZAZIONE DI CAMPI EOLICI. Eolo-CISMA

Registratori di Cassa

COMUNICAZIONE AI SENSI DELLA DELIBERAZIONE DELL AUTORITA PER L ENERGIA ELETTRICA E IL GAS DEL 29 LUGLIO 2005 N. 166/05. Termoli,

IL SERVIZIO STRABUS EFFICIENTAMENTO DELLE DOTAZIONI INFRASTRUTTURALI URBANE E DEI SISTEMI DI TRASPORTO PUBBLICO

Area Marketing. Approfondimento

Descrizione dettagliata delle attività

Più processori uguale più velocità?

Transcript:

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 1/64 Cliente Ricerca di Sistema (secondo periodo) Oggetto Parallelizzazione del codice SPHERA Ordine L17946G Note SISET/SITER/WP 2/Mls 2.5 - Rapporto 1/1 della milestone La parziale riproduzione di questo documento è permessa solo con l'autorizzazione scritta del CESI. N. pagine 64 N. pagine fuori testo Data 31/12/2005 Elaborato E. Bon (ISM), R. Guandalini (STA), E. Cordero (Collaboratore esterno) Mod. RAPP v. 01 Verificato Approvato L. Nigro (STA) G. Mazzà (ISM) CESI Centro Elettrotecnico Sperimentale Italiano Giacinto Motta SpA Via R. Rubattino 54 20134 Milano - Italia Telefono +39 022125.1 Fax +39 0221255440 www.cesi.it Capitale sociale 8 550 000 Euro interamente versato Codice fiscale e numero iscrizione CCIAA 00793580150 Registro Imprese di Milano Sezione Ordinaria N. R.E.A. 429222 P.I. IT00793580150

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 2/64 Indice SOMMARIO... 5 1 INTRODUZIONE... 7 1.1 SCOPO DELLA RICERCA... 7 1.2 DESCRIZIONE DELL ATTIVITÀ... 7 1.3 DOCUMENTI DI RIFERIMENTO... 8 2 CENNI SULLE CARATTERISTICHE DEL MODELLO E DEL CODICE... 9 2.1 DEFINIZIONE DELLA PROBLEMATICA DI BASE... 9 2.2 CONSIDERAZIONI GENERALI SUL METODO SPH... 10 2.3 LA TECNICA SPH APPLICATA A PROBLEMI DI IDRODINAMICA... 12 2.4 CENNI SULLE PRINCIPALI CARATTERISTICHE DEL CODICE SPHERA... 13 3 SCELTA DEI CRITERI DI PARALLELIZZAZIONE... 16 3.1 CONSIDERAZIONI INTRODUTTIVE... 16 3.2 CONSIDERAZIONI SULLA PARALLELIZZAZIONE DI UN CODICE SPH... 17 3.2.1 Alcuni richiami sui concetti di base della parallelizzazione... 17 3.2.2 Aspetti fondamentali per la parallelizzazione di un codice SPH... 22 3.3 SCELTA DEL PARADIGMA DI PARALLELIZZAZIONE PER IL CODICE SPHERA... 23 3.3.1 Scelta delle piattaforme di calcolo e dell hardware... 23 3.3.2 Scelta del software... 25 3.3.3 Confronto tra i paradigmi OpenMP e MPI... 26 4 LA PARALLELIZZAZIONE DEL CODICE SPHERA... 33 4.1 CONSIDERAZIONI INTRODUTTIVE... 33 4.2 DEFINIZIONE DEL CASO PROVA BIDIMENSIONALE... 33 4.3 SUDDIVISIONE IN SOTTODOMINI DEL RETICOLO DI CALCOLO... 35 4.3.1 Criteri di suddivisione... 35 4.3.2 Tassellatura tridimensionale progressiva... 38 4.3.3 Tassellatura tridimensionale per piani paralleli... 41 4.4 INTERVENTI SULLA CODIFICA DEL CODICE SORGENTE... 44 4.4.1 Prima fase di intervento: inserimento dell ambiente MPI... 44 4.4.2 Seconda fase di intervento: realizzazione della struttura a sottodomini... 46 4.4.3 Terza fase di intervento: parallelizzazione della struttura di inizializzazione del calcolo51 4.4.4 Quarta fase di intervento: parallelizzazione della struttura di calcolo in transitorio... 52 4.4.5 Modifiche alla codifica conseguenti alla parallelizzazione... 52 5 CONSIDERAZIONI SULLA EFFICIENZA DELLA VERSIONE PARALLELA... 54 5.1 VALUTAZIONE DELL EFFICIENZA DEGLI ALGORITMI... 54 5.2 CONSIDERAZIONI SU UN CASO PROVA TRIDIMENSIONALE A GRANDE SCALA... 55 5.3 POSSIBILI FUTURI SVILUPPI DELL ATTIVITÀ... 58 6 CONSIDERAZIONI FINALI... 64 Copyright 2005 by CESI. All rights reserved - Activity code 32717B

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 3/64 Indice delle figure fig. 2.1 Esempio di suddivisione del dominio in un reticolo di celle... 15 fig. 3.1 Schema funzionale di un cluster a memoria distribuita... 19 fig. 3.2 Schema funzionale di un cluster a memoria condivisa... 20 fig. 3.3 Illustrazione del concetto base di message passing tra due processori... 20 fig. 3.4 Criteri di utilizzo dei buffers di trasferimento dei messaggi... 21 fig. 3.5 Rappresentazione schematica di un gruppo di comunicatori... 21 fig. 3.6 Processo logico di esecuzione del modello SPH... 22 fig. 3.7 Reticolo per celle e condizione di frontiera per una particella di confine... 29 fig. 3.8 Fasi di elaborazione e trasferimento dati su N processori... 30 fig. 3.9 Processo logico di esecuzione del modello SPH con parallelizzazione MPI... 32 fig. 4.1 - Schematizzazione geometrica del caso prova (m)... 34 fig. 4.2 Rappresentazione del modello SPH a particelle per il caso prova... 34 fig. 4.3 Caso prova. Simulazione numerica bidimensionale con il codice SPHERA... 37 fig. 4.4 Algoritmo di suddivisione simmetrica... 40 fig. 4.5 Algoritmo di suddivisione progressiva... 40 fig. 4.6 Suddivisione in sottodomini per piani paralleli, in direzione normale all asse X... 42 fig. 5.1 Scalabilità rispetto al numero di processori... 56 fig. 5.2 Valori di speed up per il caso prova bidimensionale ETH... 56 fig. 5.3 Reticolo di calcolo per il caso prova tridimensionale... 59 fig. 5.4 Andamento dello speed up per il caso prova tridimensionale a scala reale... 59 Copyright 2005 by CESI. All rights reserved - Activity code 32717B

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 4/64 Indice delle tabelle tab. 3.1 Caratteristiche della macchina Avogadro installata al CILEA... 24 tab. 3.2 Caratteristiche della macchina Regulus installata al CISE... 25 tab. 5.1 Caso 3D. Andamento dello speed up con suddivisione tipo G1... 60 tab. 5.2 - Caso 3D. Andamento dello speed up con suddivisione tipo G2... 61 tab. 5.3 Caso 3D. Andamento dello speed up con suddivisione tipo G3... 62 tab. 5.4 Caso 3D. Confronto dei tempi di calcolo e trasmissione dei messaggi... 63 Copyright 2005 by CESI. All rights reserved - Activity code 32717B

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 5/64 STORIA DELLE REVISIONI Numero Data Protocollo Lista delle modifiche e/o dei paragrafi modificati revisione 0 31/12/2005 Prima emissione SOMMARIO L attività svolta nell ambito del secondo periodo di RdS, progetto SISET, sottoprogetto SITER, con particolare riferimento alla attività prevista nel WP 2, Mls 2.2 Modelli numerici per la previsione dell onda causata da una frana in un bacino: sviluppo di un modello di propagazione dell onda accoppiato con quello della propagazione della frana, ha portato alla elaborazione di un modello matematico generale atto a simulare l effetto di una frana entro un serbatoio e alla realizzazione di un codice, denominato SPHERA, in grado di utilizzare tale modello in una ampia gamma di problemi del tipo sopra indicato. Poiché il codice ha superato i test di validazione atti a dimostrare l efficacia e la consistenza del modello sviluppato, si è posta l esigenza di verificare la sua applicabilità a problemi di grandi dimensioni in termini di efficienza di elaborazione ed accuratezza dei risultati; ciò è possibile solo ricorrendo allo sviluppo di una versione del codice che utilizzi i paradigmi di parallelizzazione in maniera efficiente. Scopo quindi della ricerca qui descritta è stato quello di realizzare una versione prototipo del codice, opportunamente parallelizzata, in grado di affrontare problemi in scala reale. Tale realizzazione è stata portata avanti in fasi successive a partire dalla versione sequenziale del codice realizzata al termine della Mls 2.2, tra cui si evidenzia l analisi della metodologia utilizzata dal codice da cui è derivata l identificazione del paradigma di parallelizzazione più idoneo, la realizzazione di una prima versione bidimensionale del codice parallelo per la verifica della corrispondenza dei risultati ed infine il trasferimento delle azioni sulla versione finale tridimensionale con conseguente verifica dei benefici ottenuti in termini di accuratezza e velocità di calcolo. In termini di efficienza, le prove condotte su casi campione opportunamente studiati hanno evidenziato già risultati soddisfacenti e consentito di individuare alcune linee di sviluppo per un ulteriore incremento delle prestazioni del codice. The work carried out in the frame of the second RdS period, project SISET, sub project SITER, with special reference to the work forecast in the WP 2, Mls2.2 Numerical models for the forecasting of the wave caused by a landslide in a basin: development of a propagation model of the wave coupled with that of the landslide propagation allowed the elaboration of a general mathematical model able to simulate the effect of a landslide in a reservoir and to the realization of a code, called SPHERA, able to utilize this model for the solution of a large range of problems of the mentioned kind. Since the code got through the validation tests designed for demonstrating the effectiveness and the consistency of the developed model, the requirement of verifying the code capability of solving large scale problems have been pointed out, with special reference to the computational efficiency and to the result Copyright 2005 by CESI. All rights reserved - Activity code 32717B

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 6/64 accuracy; this is possible only realizing a new code version that uses the parallel paradigms in an efficient way. The goal of the research activity described hereinafter has been that of realizing a prototype code version, properly parallelized, able to solve large scale problems. This implementation has been performed in subsequent items starting from the sequential code version coming from the Mls 2.2; these items included the analysis of the methodology used by the code from which the more correct paradigm has been chosen, the realization of a first two dimensional release of the parallel code in order to verify the result correspondence and finally the transfer of all the implementations into the three dimensional code version with the subsequent verification of the benefits obtained in terms of accuracy and fastness of the calculation. Copyright 2005 by CESI. All rights reserved - Activity code 32717B

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 7/64 1 INTRODUZIONE 1.1 Scopo della ricerca Il codice SPHERA [1],[2] è stato sviluppato nell ambito del secondo periodo di RdS (progetto SISET, sottoprogetto SITER) con particolare riferimento alla attività prevista nel Workpackage 2, Milestone 2.2 Modelli numerici per la previsione dell onda causata da una frana in un bacino: sviluppo di un modello di propagazione dell onda accoppiato con quello della propagazione della frana. Scopo finale del lavoro è stato l elaborazione di un modello matematico generale atto a simulare l effetto di una frana entro un serbatoio e la realizzazione di un codice, denominato appunto SPHERA, in grado di utilizzare tale modello in una ampia gamma di problemi di questo tipo; tale attività è stata svolta da CESI in collaborazione con il Dipartimento di Ingegneria Idraulica e Ambientale dell Università di Pavia. Poiché il codice ha superato i test di validazione atti a dimostrare l efficacia e la consistenza del modello sviluppato [3], si è posta l esigenza di verificare la sua applicabilità a problemi di grandi dimensioni in termini di efficienza di elaborazione ed accuratezza dei risultati. Scopo quindi della ricerca qui descritta è stato quello di realizzare una versione prototipo del codice, opportunamente parallelizzata, in grado di affrontare problemi in scala reale. 1.2 Descrizione dell attività L attività descritta nel presente documento si è svolta in tre distinte fasi, a partire dalla versione sequenziale del codice realizzata al termine della milestone 2.2, e precisamente: 1. analisi della metodologia del codice ed identificazione del paradigma di parallelizzazione più idoneo; 2. realizzazione di una prima versione bidimensionale del codice parallelo e verifica della corrispondenza dei risultati; 3. trasferimento delle azioni sulla versione finale tridimensionale e verifica dei benefici ottenuti in termini di accuratezza e velocità di calcolo. Ciascuna di queste tre fasi, dopo un breve richiamo della struttura e delle funzionalità del codice SPHERA, è stata descritta nei successivi capitoli. Va comunque rilevato fin d ora, come poi sarà meglio dettagliato in seguito, che la seconda e terza fase della attività si sono in realtà compenetrate, in quanto gli algoritmi di parallelizzazione si sono rivelati strettamente dipendenti dal numero delle dimensioni spaziali. Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 8/64 1.3 Documenti di riferimento [1] E. Bon, D. Gatti, D. Zuccalà Modello numerico basato sul metodo SPH, per la simulazione in forma completamente accoppiata della caduta di una frana in un bacino idrico e della propagazione dell onda generata RdS (II periodo) Progetto SISET/SITER, Workpackage 2, Milestone 2.2 - Rapporto CESI A5/029708 (Giugno 2005) [2] E. Bon, D. Gatti, D. Zuccalà Modello numerico basato sul metodo SPH per simulare la propagazione di corpi franosi RdS (II periodo) Progetto SISET/SITER, Workpackage 1, Milestone 1.4 - Rapporto CESI A5/054840 (Novembre 2005) [3] E. Bon, D. Gatti, D. Zuccalà Validazione di un modello numerico basato sul metodo SPH per simulare la propagazione di corpi franosi RdS (II periodo) Progetto SISET/SITER, Workpackage 1, Milestone 1.6 - Rapporto CESI A5/0505570 (Dicembre 2005) [4] E. Bon, A. Di Monaco, D. Gatti, D. Zuccalà A smoothed particle hydrodynamics numerical model for the assessment and prevention of earth dam overtopping due to landslide-induced water waves in the reservoir Commission Internationale des Grandes barrages XXII Congrès des grandes barrages Barcelona, Q.86/R (2006) [5] H. Fritz: Initial phase of landslide generated impulse waves- ETH-VAW n. 178, Zurigo 2002 [6] J.J. Monaghan, Smoothed Particle Hydrodynamics. Ann. Rev. Atron. Astrophys. 1992, 30, 543-574 [7] Jason Frank, Sebastian Reich, Conservation properties of SPH applied to the shallow water equations. Report MAS-R0111 August 2001 [8] L. Liu, H. Shen, Numerical simulation of river ice control with booms.us Army Corps of Engineers August 2000 [9] J. Salmon, M. Warren, Fast parallel tree codes for gravitational and fluid dynamicaln-body problems. International Journal of Supercomputer Application, 84 (1994) [10] K. D. Vertanen, A parallel implementation of a fluid flow simulation using SPH. Research paper Oregon University (1999) [11] S. Attaway, T. Barragy, K. Brown, Transient solid dynamic simulations on the Sandia/ Intel teraflop computer. [12] R. J. Goozée, P.A. Jacobs, Distributed and shared memory parallelism with a SPH code. 2001 [13] S. Kunze, E. Schnetter, R. Speith, Application of the SPH methods: the need for supercomputing. 2001 [14] http://www.openmp.org/drupal/ [15] MPICH-A Portable Implementation of MPI - http://www-unix.mcs.anl.gov/mpi/mpich2/ [16] CILEA - Consorzio Interuniversitario Lombardo per la Elaborazione Automatica http://www.supercomputing.it/ [17] Linux Networkx Supercomputing Company - http://www.linuxnetworx.com [18] Free Software Foundation GNU Project. Fortran G95 Compiler http://gcc.gnu.org/fortran/ [19] http://www.intel.com [20] http://www.pgroup.com/ [21] http://www.pathscale.com/ [22] http://www.openmp.org/drupal/ [23] http://www-unix.mcs.anl.gov/mpi/mpich2/ Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 9/64 2 CENNI SULLE CARATTERISTICHE DEL MODELLO E DEL CODICE 2.1 Definizione della problematica di base La caduta di una frana in un bacino idroelettrico è uno dei principali problemi che riguardano la sicurezza dei territori interessati dalla presenza di impianti idroelettrici e delle relative opere civili. Com è noto il verificarsi di un tale evento può causare diversi effetti quali: - la formazione e la propagazione di onde all interno del bacino accompagnata dai consueti fenomeni di riflessione, con eventuale risalita (run up), sulle sponde, di rifrazione per effetto della variazione di profondità, con conseguente irripidimento e amplificazione, di diffrazione intorno ad ostacoli naturali e strutture artificiali; - l inondazione di centri abitati e/o di edifici di servizio adiacenti al bacino; - l eventuale tracimazione della diga da parte delle onde di cui sopra; - il cedimento parziale o totale della diga per effetto di tale tracimazione; - la propagazione a valle della diga di un onda di piena derivante dalla tracimazione e/o dalla rottura della diga; - inondazioni di varia entità lungo il corso dell alveo a valle della diga. L entità dei fenomeni e la gravità dei danni che ne possono derivare dipende da vari fattori quali la natura della frana (dal blocco rigido di roccia alla colata di fango), il volume e l energia della frana, il volume d acqua invasato e la profondità media nel bacino, la presenza di strutture di servizio dell impianto e/o di centri abitati adiacenti al bacino, il franco della soglia di tracimazione della diga, la tipologia della diga (in muratura o in materiale sciolto), le caratteristiche plano-altimetriche e geologiche dell alveo a valle della diga, la presenza di insediamenti abitativi o industriali lungo il corso dell alveo, le caratteristiche geologiche e pedologiche dei terreni a valle della diga, la presenza lungo l alveo di dispositivi e strutture di protezione contro le piene. Pur essendo le instabilità dei versanti, che precedono i fenomeni franosi, individuabili e sufficientemente prevedibili nella loro evoluzione, con l impiego delle moderne tecniche di monitoraggio, essi sono scarsamente influenzabili nel loro decorso. Risultano pertanto di grande utilità per i gestori e i responsabili della sicurezza degli impianti idroelettrici strumenti di previsione che consentano di effettuare, con opportuna affidabilità, la simulazione della caduta di una frana in un bacino e degli effetti idrodinamici che ne conseguono, sulla base della geometria del bacino e di varie ipotesi probabili sui parametri caratteristici dell ammasso franoso dedotte dalle osservazioni e dai monitoraggi. L uso opportuno di tali strumenti può infatti risultare di grande aiuto nell individuare le strategie più idonee a mitigare o annullare i danni prodotti dagli eventi in questione. Strumenti previsionali per eccellenza, per la loro versatilità e relativa facilità nella simulazione di scenari diversi, sono in generale i modelli numerici i quali sono in continua evoluzione e ricoprono una varietà sempre più ampia di fenomeni o, per un dato fenomeno, affinano sempre più il grado di approssimazione. Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 10/64 Anche il continuo sviluppo tecnologico delle piattaforme di calcolo, in termini sia di precisione che di velocità di elaborazione, contribuisce a migliorare le prestazioni di tali modelli e ad estendere anche a problematiche assai complesse la capacità di simulazione dei fenomeni. Per quanto concerne in particolare il problema della frana in un bacino idrico, i modelli finora sviluppati, anche se spinti fino alla schematizzazione pienamente tridimensionale, possono trattarlo solo in modo disaccoppiato, nel senso che viene simulata prima la frana (assimilata ad una corrente fluida con particolari caratteristiche) come se avesse luogo in assenza di acqua nel bacino. Successivamente la variazione cinematica della superficie solida che ne consegue viene assegnata come condizione al contorno del modello che simula il movimento della massa d acqua nel bacino; in questo modo non si tiene conto dell interazione dinamica delle due masse solida e liquida che può influenzare sensibilmente i risultati. Lo scopo della ricerca che ha portato alla realizzazione del codice SPHERA è stato proprio quello di superare questa semplificazione con lo sviluppo di un nuovo tipo di modello che consenta la simulazione del fenomeno in forma integralmente accoppiata, intendendo appunto quella nella quale si tiene conto simultaneamente di massa solida e massa liquida e quindi dell interazione dinamica fra queste (spinta della frana sulla massa liquida e conseguente reazione di quest ultima sulla frana stessa). Una metodologia numerica, conosciuta con il nome di Smoothed Particle Hydrodynamics, SPH nel seguito, relativamente nuova per quanto concerne le applicazioni a problemi di ingegneria idraulica, consente appunto tale tipo di simulazione, permettendo in più di riprodurre tutta una serie di effetti dinamici che rompono la continuità del mezzo fluido e che, per questo fatto, risultano di difficile simulazione con i metodi numerici più tradizionali quali i metodi alle differenze finite, ai volumi finiti, agli elementi finiti, o agli elementi di contorno (Boundary Elements). In particolare, tale approccio è stato adattato alla simulazione della dinamica rapida di masse liquide di tipo newtoniano a superficie libera interagenti con corpi solidi mobili o con fasi fluide non newtoniane che simulano varie tipologie di masse franose, dalla massa granulare alla colata di fango. 2.2 Considerazioni generali sul metodo SPH La tecnica numerica alla base del codice SPHERA, denominata come anticipato al paragrafo precedente Smoothed Particle Hydrodynamics o brevemente SPH, è stata ideata alla fine degli anni 70 quasi contemporaneamente da L. B. Lucy [5] e da R. A. Gingold e J. J. Monaghan [6]; fino alla fine degli anni 90 essa è rimasta confinata quasi esclusivamente nell ambito dell astrofisica per la simulazione di un ampia gamma di problemi limitati però al campo astrofisico; la ragione principale stava nel fatto che questa tecnica è naturalmente predisposta a simulare fluidi, e relativa termodinamica, in domini non confinati; e ciò per una iniziale difficoltà a trattare condizioni ai limiti. Successivamente tale difficoltà è stata affrontata e superata con varie tecniche, per le quali si rimanda alla letteratura specializzata, e pertanto il metodo ha cominciato, dalla fine degli anni 90, ad essere esportato in vari campi dell ingegneria rivestendo un notevole interesse per un ampia gamma di problemi, quali quelli legati alla dinamica atmosferica. Più recentemente, il metodo è stata riproposto, con appropriati adattamenti, per la simulazione di fenomeni idrodinamici ancora da J. J. Monaghan [6], e ciò ha aperto la strada ad alcune applicazioni più specifiche Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 11/64 dell ingegneria idraulica, quali ad esempio le correnti a superficie libera nella schematizzazione bidimensionale sia nel piano verticale che in quello orizzontale, secondo la classica semplificazione delle acque poco profonde ( shallow-water equations ) [7],[8]. Pur tuttavia, si tratta di un metodo di calcolo numerico non usuale per l ingegneria idraulica, ma che si dimostra particolarmente adatto alla simulazione di correnti fluide complesse quali quelle rapidamente variabili in presenza di discontinuità, quali interfacce liquido/aria (superfici libere), liquido/liquido o liquido/solido (plastico o rigido), che risultano sostanzialmente intrattabili o trattabili con notevoli difficoltà con i tradizionali approcci. Rispetto ai metodi numerici, che richiedono un reticolo spaziale di supporto necessario per effettuare la cosiddetta discretizzazione delle equazioni, il metodo SPH non richiede un tale reticolo e perciò viene classificato nell ambito di una tipologia di metodi cosiddetti Mesh Free Methods. È questa caratteristica che rende appunto il metodo incline a simulare con relativa facilità la classe di fenomeni sopra citati, ma che rappresenta una relativa novità per quanto riguarda il suo trattamento informatico, con particolare riferimento alla parallelizzazione, come sarà discusso nei successivi capitoli. Di fatto, la tecnica d interpolazione SPH consente di approssimare numericamente le equazioni della dinamica dei fluidi, discretizzando il continuo come un insieme di pseudo-particelle che si muovono nello spazio secondo un approccio lagrangiano; infatti lo schema matematico segue il moto di tali particelle assumendo come incognite principali le loro velocità e posizioni in una successione di istanti di tempo. In contrapposizione, l approccio euleriano, tradizionalmente utilizzato in fluidodinamica, calcola per ciascun istante di tempo la velocità e le altre variabili di stato in un insieme di punti fissi dello spazio; in tal modo è possibile costruire una successione di fotografie del campo di moto, da cui però non è possibile trarre un immediata visione del moto di ogni singola particella di fluido. A ciascuna pseudo-particella è associata una massa come unica proprietà fisica intrinseca; tale massa risulta distribuita spazialmente in un certo volume sferico secondo una legge assegnata, che caratterizza la particella come un entità sfumata (smoothed). Inoltre le pseudo-particelle sono identificate da una posizione del baricentro e da una velocità. Per il resto vanno interpretate come entità matematiche in mutua interazione, che si muovono nel dominio di calcolo e che possono compenetrarsi. La dinamica dell insieme di particelle viene ricavata a partire dalle equazioni della fluidodinamica. In particolare, le proprietà associate a ciascuna pseudo-particella, quali massa, velocità, pressione, energia, ecc., sono distribuite all interno del volume di competenza mediante una funzione continua regolare, la cosiddetta funzione di nucleo (kernel). Questa funzione tende a zero ad una determinata distanza dal baricentro della particella, distanza caratterizzata da un parametro geometrico detto smoothing length che caratterizza la scala di discretizzazione della massa fluida. Nel seguito, per brevità di citazione, si parlerà di particelle anziché di pseudo-particelle, mantenendo però per esse il contesto matematico sopra descritto. Data una certa configurazione del sistema di particelle, è possibile determinare mediante interpolazione le grandezze fisiche di interesse (pressione, densità, ecc.) del fluido continuo in ogni punto del dominio, indipendentemente dal fatto che in tale punto siano presenti o meno delle particelle. Con questa tecnica una massa, sia essa fluida o solida, viene rappresentata mediante un insieme di particelle non puntiformi, distribuite su volumi finiti, detti celle, di dimensioni molto ridotte rispetto alle dimensioni tipiche del problema. Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 12/64 Ogni variabile distribuita con continuità, quale ad esempio densità, velocità e pressione, viene così rappresentata, in ogni punto del campo occupato dalla massa fluida, come somma (al limite integrale) dei contributi di tutte e sole le particelle adiacenti a tale punto, tali cioè che i rispettivi kernel abbiano valore non nullo nel punto considerato; con tali espressioni interpolanti delle variabili è possibile discretizzare nello spazio le equazioni del moto (eliminare cioè le derivate spaziali in tali equazioni scritte nei baricentri delle particelle) trasformandole così in un sistema di equazioni differenziali ordinarie rispetto alla sola variabile tempo. Tale sistema può essere integrato con i consueti algoritmi espliciti (predictor-corrector, Runge-Kutta, ecc.) in modo da ottenere, in un contesto lagrangiano, le successive posizioni nello spazio delle particelle con associati i valori delle grandezze fisiche rilevanti per il problema (densità, pressione, velocità, ecc.). L assenza di un reticolo di riferimento per i calcoli rende le traiettorie delle particelle del tutto libere da vincoli; gli stessi contorni solidi, fissi o mobili che siano, possono essere modellati come insiemi di particelle con particolari proprietà o con altre tecniche. In linea di principio le particelle possono essere inizialmente raggruppate per materiali a ciascuno dei quali competono particolari parametri e leggi costitutive che ne caratterizzano il comportamento; si potranno cosi far coesistere e interagire nella stessa simulazione ad es. particelle di aria, di acqua, di materiale granulare o solido oltre a contorni fissi o mobili. 2.3 La tecnica SPH applicata a problemi di idrodinamica Da quanto precede si possono facilmente intravedere le notevoli potenzialità di un modello idrodinamico basato sulla tecnica SPH che, oltre a trattare il fenomeno integralmente accoppiato della caduta di una frana in un bacino idroelettrico e della conseguente formazione e propagazione di onde di superficie, è in grado di includere anche la simulazione di eventuali inondazioni di aree adiacenti al bacino e dell eventuale tracimazione di masse d acqua e del conseguente deflusso di queste ultime nelle aree a valle della diga. Inoltre un tale modello potrà consentire di trattare agevolmente i seguenti altri problemi legati alla sicurezza degli impianti di generazione elettrica: - formazione di perturbazioni ondose in canali di derivazione e adduzione con tracimazione di masse d acqua dagli argini e conseguente deflusso di queste ultime nella aree limitrofe; - rottura improvvisa di condotte forzate, per cause incidentali o per azioni terroristiche, con rilascio di notevoli masse d acqua e conseguente rapido deflusso delle stesse nella aree adiacenti e sottostanti; - fenomeni di inclusione, trascinamento e rilascio di masse d aria all interno di sistemi di condotte e gallerie in funzionamento misto, tipici di flussi misti con superficie libera o in pressione. Il modello basato sulla tecnica SPH, con cui realizzare le simulazioni sopra descritte, può essere implementato in forma pienamente tridimensionale senza alcuna complicazione concettuale. Ciò consente di rimuovere la principale ipotesi semplificatrice da cui sono affetti i modelli correntemente utilizzati, basati in generale su una schematizzazione bidimensionale di tipo shallow water. Com è noto, tale ipotesi ritiene trascurabili le accelerazioni verticali rispetto a quella di gravità e porta come conseguenza ad una Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 13/64 distribuzione idrostatica della pressione all interno del fluido. Se tale ipotesi può essere giustificata quando si trattano correnti lentamente variate, a cui si accompagnano onde di superficie relativamente lunghe, essa diventa certamente poco realistica ed a volte inaccettabile quando si è in presenza di fenomeni di dinamica rapida tipici proprio dei problemi citati in precedenza. 2.4 Cenni sulle principali caratteristiche del codice SPHERA L obiettivo del codice di calcolo SPHERA sviluppato nelle fasi di ricerca citate in introduzione è la simulazione della dinamica della caduta di frane nei serbatoi e dei conseguenti effetti sull ambiente circostante. Nel modello di simulazione numerica le frane vengono schematizzate applicando le classiche equazioni di Navier-Stokes e la curva reologica appropriata, come descritto in [2],[4]. Le perturbazioni di masse d acqua vengono invece schematizzate, come descritto ampiamente in [1], applicando ancora le equazioni di Navier-Stokes in forma standard, che si riducono all equazione di Eulero nel caso in cui si consideri nulla la viscosità, ipotesi valida nella descrizione di transitori a pelo libero rapidamente variati. Come già discusso nei precedenti paragrafi, la dinamica di questi fenomeni può essere convenientemente simulata mediante modelli numerici basati sulla tecnica SPH, in cui i problemi di accoppiamento fra corpo franoso e massa idrica vengono trattati calcolando l evoluzione delle due fasi fluide mutuamente interagenti e schematizzando ciascuna fase con gli appropriati parametri fisici. Dopo una necessaria ricognizione generale della letteratura tecnica sul metodo SPH, ampiamente riassunta in [1], avente lo scopo di individuare le linee guida per lo sviluppo del modello, si è passati alla fase più propriamente realizzativa. La prima preoccupazione è stata quella di definire una strategia di simulazione robusta, affidabile e il più possibile veloce in vista delle applicazioni ai problemi di impatto. Per questo è stato necessario dapprima analizzare e verificare con test appropriati le possibili tecniche di interpolazione e normalizzazione per funzioni e operatori differenziali applicate a insiemi ordinati e disordinati onde identificare il migliore compromesso tra robustezza, velocità e significatività del risultato. Come risultato, il modello matematico su cui si è strutturato il codice SPHERA è quello conservativo delle equazioni di Eulero, associato allo schema di fluido poco comprimibile basato su una equazione di stato linearizzata e su un modulo di elasticità trattato come parametro di taratura. Per quanto riguarda l algoritmo di implementazione, si è deciso di utilizzare inizialmente quello classico, noto in letteratura con la sigla XSPH, introducendo nell equazione del movimento l indispensabile termine pseudo-viscoso di regolarizzazione nella forma dovuta a Monaghan [6]. Questo livello di rappresentazione del moto permette di simulare fenomeni di flusso accelerato, quali la accelerazione di una massa liquida a partire dalla quiete, ed il termine numerico diffusivo è un accettabile sostituto delle dissipazioni energetiche che fisicamente si verificano negli impatti e nelle zone ad elevata rotazionalità. La strategia di implementazione del modello è stata studiata in modo da risultare pratica per la messa a punto in un dominio bidimensionale ed è stata successivamente estesa al dominio tridimensionale. Il codice SPHERA, scritto in Fortran 90, nella sua attuale versione prototipo 3.0.2, include tutte le funzioni di gestione, esecuzione e diagnostica utili alla simulazione numerica, comprensive della possibilità di restart, ed è stato Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 14/64 dotato di una semplice interfaccia grafica in ambiente Windows XP utile per seguire lo sviluppo temporale della simulazione e per analizzare i risultati ottenuti. Il corretto funzionamento del codice è stato verificato simulando casi di letteratura in cui sono disponibili risultati sperimentali riguardanti problemi di onde rapidamente variate con impatti; si è poi introdotta la possibilità di condizionare la velocità di un insieme di particelle in modo da poter simulare un ostacolo in quiete o un corpo in movimento con velocità assegnata. I risultati delle simulazioni, riportati nei documenti di sviluppo [1] e [3], hanno mostrato la correttezza dell approccio adottato e della sua implementazione informatica. Per meglio comprendere quanto verrà descritto nei capitoli successivi in relazione alla attività di parallelizzazione del codice, è indispensabile richiamare un aspetto della programmazione strettamente legato alle caratteristiche della tecnica SPH che si riferisce alla struttura del dominio di calcolo. Tale dominio, infatti, è definito in uno spazio cartesiano tridimensionale, riferito agli assi x,y,z ed è suddiviso in un reticolo regolare di celle cubiche, opportunamente numerato, le cui dimensioni spaziali dipendono strettamente dal percorso massimo di una particella qualsiasi nell intervallo di tempo elementare utilizzato per il calcolo. Come già detto in precedenza, la tecnica SPH identifica semplicemente la posizione della particella in termini di coordinate assolute del suo baricentro nel sistema cartesiano di riferimento, e non necessita di alcuna griglia spaziale di calcolo; tuttavia la definizione di un reticolo con le caratteristiche sopra citate consente una implementazione numerica del modello più efficiente, trattando opportunamente le particelle che sono localizzate ad un certo istante nella stessa cella del reticolo, ed utilizzando il fatto che ciascuna particella nell intervallo di tempo elementare si può spostare al massimo in una cella adiacente, e non può attraversare più di un confine tra le celle. Naturalmente ciò comporta che la dimensione delle celle non è arbitraria ma legata alle caratteristiche delle particelle, per cui a parità di particelle un mezzo viscoso presenta celle di dimensioni ridotte rispetto ad un mezzo più fluido, ed al valore dell intervallo temporale, per cui un intervallo maggiore comporta celle di dimensioni maggiori. Un esempio di questa tipologia di reticolo è illustrato, del tutto schematicamente, nella successiva Fig. 2.1 Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 15/64 Fig. 2.1 Esempio di suddivisione del dominio in un reticolo di celle Cenni sulle caratteristiche del modello e del codice

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 16/64 3 SCELTA DEI CRITERI DI PARALLELIZZAZIONE 3.1 Considerazioni introduttive La sola limitazione di rilievo che la trattazione dei problemi in forma tridimensionale mediante l uso di modelli basati su tecniche SPH evidenzia, è legata al numero elevato di particelle richieste per la soluzione di problemi di interesse industriale. In tali casi, infatti, per una analisi significativa dei fenomeni fisici è richiesto un numero di particelle compreso tra qualche centinaio di migliaia e qualche milione, e ciò comporta l impiego di elaboratori molto potenti ed il ricorso al calcolo parallelo, al quale peraltro il metodo si adatta molto bene [9],[10],[11],[12],[13]. Partendo dai presupposti sopra indicati, è stata quindi svolta l attività descritta nella presente relazione con lo scopo di arrivare alla realizzazione di una versione parallela tridimensionale del codice SPHERA a livello di prototipo. La realizzazione di tale versione prototipo, infatti, consentirà di affrontare l analisi numerica di problemi di dimensioni e caratteristiche industriali, con un ritorno in termini di indicazioni sulle effettive capacità di calcolo e di possibili migliorie che potranno portare in breve alla messa a disposizione nell ambito della Ricerca di Sistema di uno strumento assolutamente avanzato ed affidabile per l analisi di dettaglio delle problematiche citate. Tuttavia è necessario tenere presente alcune considerazioni di carattere generale e precisamente: 1. la versione parallela del codice deve garantire la massima portabilità tra le diverse piattaforme di calcolo ed i relativi sistemi operativi; 2. la parallelizzazione deve essere attuata attraverso paradigmi di parallelizzazione ben consolidati e compatibili con il linguaggio Fortran 90; 3. la versione parallela del codice deve poter essere eseguita su macchine di calcolo sia di tipo standard (quali ad esempio personal computer comunque dotati di sufficiente memoria, generalmente con processori a 32 bit) o di tipo ad alte prestazioni (cluster di calcolo dotati di nodi multiprocessore a 64 bit) senza comportare modifiche al sorgente né richiedere interventi specialistici. Di conseguenza, non devono essere utilizzate istruzioni o direttive dipendenti dalla macchina di calcolo stessa; 4. la scelta dei paradigmi di parallelizzazione deve essere tale da consentire l esecuzione del codice in un ambiente software che non necessità della acquisizione di specifiche licenze commerciali, come è nello spirito della Ricerca di Sistema; l uso di librerie commerciali per incrementare eventualmente le prestazioni su determinati elaboratori deve rimanere una scelta possibile per l utilizzatore ma non necessaria. La considerazione dei criteri di impostazione della attività sopra elencati ha determinato un ben definito percorso per la parallelizzazione del codice che può essere riassunto nei seguenti punti: a) valutazione della efficienza dei diversi paradigmi di parallelizzazione possibili e relativa scelta; b) scelta del software e dell hardware di riferimento; c) definizione della strategia di parallelizzazione utilizzando la versione bidimensionale del codice; Scelta dei criteri di parallelizzazione

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 17/64 d) realizzazione della versione tridimensionale parallela; e) stima della efficienza su diverse tipologie di problemi. Nel presente capitolo 3 sono discussi i temi afferenti i punti a) e b), nel successivo capitolo 4 sono illustrate le metodologie e le problematiche incontrate nella realizzazione della versione parallela di cui ai punti c) e d) ed infine nel capitolo 5 sono riportate alcune considerazioni relative ai primi risultati ottenuti. Alcune considerazioni di carattere generale sui risultati dell attività e sulle prospettive future completano la presente relazione. 3.2 Considerazioni sulla parallelizzazione di un codice SPH In primo luogo, può risultare utile richiamare alcuni concetti di base sia sulla parallelizzazione in sé sia sulle peculiarità della parallelizzazione di un codice SPH; il lettore che ha familiarità con questi concetti può trascurare questo paragrafo. 3.2.1 Alcuni richiami sui concetti di base della parallelizzazione Un codice può essere schematicamente definito come una successione di istruzioni, scritte in un qualsivoglia linguaggio di programmazione, che vengono eseguite sequenzialmente da un processore elaborando insiemi di informazioni (dati) che risiedono su un supporto fisso di memoria (disco). Un codice parallelo è sostanzialmente un codice capace di eseguire tali istruzioni su più processori contemporaneamente, ciascuno dei quali però fa riferimento solo ad una porzione del problema da risolvere e quindi necessita in generale solo di una parte dei dati; i diversi processori possono appartenere ad un insieme di computers connessi tra loro da una rete di trasmissione dati (cluster) o ad un supercalcolatore. Un paradigma di parallelizzazione è sostanzialmente un insieme di processi, richiamati attraverso apposite librerie di moduli, che gestiscono l esecuzione simultanea delle istruzioni, la distribuzione dei dati e la necessaria sincronizzazione dei diversi processori. Esistono diversi paradigmi in quanto esistono diversi criteri con cui eseguire tali operazioni, anche in dipendenza della tipologia dell hardware a disposizione; in particolare gli elaboratori per il calcolo parallelo possono configurarsi con una memoria distribuita (distributed memory processors), in cui ogni singolo processore vede una propria memoria in cui risiedono i propri dati (Fig. 3.1), o a memoria condivisa (shared memory processors), in cui tutti i processori vedono la stessa memoria e quindi accedono agli stessi dati (Fig. 3.2). E opportuno a questo proposito porre in evidenza che le recenti generazioni di clusters sono costituite da macchine configurate con più nodi multiprocessore di tipo a memoria condivisa, connessi tra loro da una rete di trasmissione dati ad alta efficienza che vedono la memoria dei diversi nodi come distribuita; si tratta quindi di un approccio misto per quanto riguarda l accesso ai dati. In passato sono stati sviluppati diversi paradigmi di parallelizzazione, la maggior parte dei quali basati sul cosiddetto message passing ; la loro evoluzione ha portato attualmente alla considerazione di due paradigmi principali: Scelta dei criteri di parallelizzazione

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 18/64 a) OpenMP (Opened Message Passing). L OpenMP Application Program Interface (API)[14] consente la programmazione parallela su piattaforme multiprocessore a memoria condivisa sia in C/C++ che in Fortran con qualunque sistema operativo, inclusi Unix, Linux e Windows. Messa a punto negli ultimi anni con uno sforzo comune da parte di un consorzio tra i maggiori produttori mondiali di hardware e software, OpenMP è un modello di parallelizzazione facilmente scalabile, ad alta portabilità che fornisce ai programmatori su piattaforma a memoria condivisa una interfaccia semplice e flessibile per lo sviluppo di applicazioni parallele su elaboratori che vanno dai semplici personal computer ai più sofisticati supercalcolatori. L OpenMP presenta inoltre il vantaggio di operare attraverso direttive di parallelizzazione inserite direttamente nel codice, senza modificarne la programmazione sequenziale; b) MPI (Message Passing Interface). L MPI Application Program Interface (API) [15], nella sua più recente versione MPI-2 consente la programmazione parallela su piattaforme a memoria distribuita formate da cluster di nodi multiprocessore, sia in C/C++ che in Fortran e con qualunque sistema operativo, inclusi Unix, Linux e Windows. Il vantaggio principale di MPI sta nel poter connettere tra loro macchine basate su piattaforme diverse, ma ha lo svantaggio di richiedere una specifica programmazione del codice e quindi una manutenzione più onerosa. Qui di seguito, è incluso un breve glossario dei termini più comuni che verranno utilizzati nel seguito del documento, tra cui: c) Message Passing. E la tecnica per cui i dati sono copiati dalla memoria di un processore a quella di un altro processore. Nei sistemi a memoria distribuita, i dati sono in generale spediti sotto forma di pacchetti di informazioni che viaggiano in rete tra un processore e l altro. Un messaggio può consistere di uno o più pacchetti e solitamente comprende le informazioni di indirizzo dei processori ( routing ) e altre informazioni per il controllo del processo di trasmissione (Fig. 3.3); d) Process.Il processo è un insieme di istruzioni che è eseguito su un processore. Uno o più processi possono essere eseguiti su un solo processore. In un paradigma di tipo message passing tutti i processi comunicano con gli altri inviandosi messaggi, anche se essi sono eseguiti sullo steso processore. Per ragioni di efficienza, ovviamente, un paradigma message passing è associato in generale ad un solo processo su ogni singolo processore; e) Message passing library. In generale si definisce in questo modo un insieme di moduli già compilati e raccolti in un apposito direttorio che vengono inclusi nel codice parallelo durante la fase di assemblaggio del modulo eseguibile per la gestione delle operazioni legate alla trasmissione dei messaggi; f) Send / Receive. Un paradigma di message passing prevede il trasferimento di dati da un processo (send) ad un altro processo (receive) e richiede la cooperazione di entrambi i processi. L operazione di invio (send) di solito richiede al processo che invia di specificare la locazione, le dimensioni ed il tipo di dati nonché il processo di destinazione, mentre l operazione di ricezione deve controllare la corrispondenza e l univocità rispetto ad una corrispondente operazione di invio; g) Synchronous / Asynchronous. Una operazione sincrona di invio risulta completata solo dopo la conferma che il messaggio è stato correttamente ricevuto dal processo ricevente. Una operazione Scelta dei criteri di parallelizzazione

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 19/64 asincrona di invio può essere completata anche se il processo ricevente non ha ancora eseguito o terminato l operazione di ricezione stessa; h) Buffer dell applicazione. E lo spazio di memoria richiesto dai dati che devono essere inviati o ricevuti; i) System buffer. E lo spazio richiesto per memorizzare i messaggi. In funzione del tipo di operazione di invio o ricezione, i dati nel buffer di applicazione possono o meno essere copiati nel buffer di sistema, che richiede sempre comunicazioni asincrone (Fig. 3.4); j) Communicators e gruppi. Limitatamente all MPI, vengono utilizzati degli oggetti comunemente indicati come comunicatori e gruppi per definire quale insieme di processi deve comunicare tra sé, e deve sempre essere indicato il gruppo di processi su cui l istruzione MPI deve operare (Fig. 3.5); k) Rank. Nell ambito di un gruppo di comunicatori, ciascun singolo processo è identificato univocamente attraverso un identificatore numerico intero assegnato dal sistema al momento della attivazione del processo. Quindi il rank è spesso identificato come ID del processo parallelo e assume valori consecutive a partire da 0 per i diversi processori. E fondamentalmente impiegato dal programmatore per identificare i processi da cui inviare e ricevere messaggi e per controllare l esecuzione del programma (se rank = 0, esegui queste istruzioni, altrimenti esegui queste altre istruzioni, ecc.); l) Speed up. E la misura dell efficienza di una applicazione parallela ed è definita come il rapporto tra il tempo necessario alla esecuzione sequenziale di una applicazione e quello per l esecuzione parallela su N processori, ed ha come limite teorico N. Fig. 3.1 Schema funzionale di un cluster a memoria distribuita Scelta dei criteri di parallelizzazione

Rapporto STA Studi Territoriali ed Ambientali Approvato Pag. 20/64 Fig. 3.2 Schema funzionale di un cluster a memoria condivisa Fig. 3.3 Illustrazione del concetto base di message passing tra due processori Scelta dei criteri di parallelizzazione