560 likes | 710 Views
Progetto FIRB Grid.it Workshop di Rimodulazione. Workpackage 9 Grid-enabled Scientific Libraries. Resp.: Almerico Murli Componenti TB: Giuliano Laccetti Alberto Machì Mario Rosario Guarracino
E N D
Progetto FIRB Grid.it Workshop di Rimodulazione Workpackage 9 Grid-enabled Scientific Libraries Resp.: Almerico Murli Componenti TB: Giuliano Laccetti Alberto Machì Mario Rosario Guarracino Pisa, 27-28 maggio 2003
"... to be leader in new technologies areas that stand at the critical interface between scientific and engineering disciplines and high end computing ..." Vocazione Ambizione
Problematiche nello sviluppo di librerie scientifiche (1) • efficienza • accuratezza • affidabilità • modularità • portabilità • API standard • estendibilità • facilità di (ri)uso • integrazione ed interoperabilità • … Precedenti esperienze: - Progetto Finalizzato Informatica (1) Sottoprogetto Software Matematico - Progetto Niltpack - … Pubblicazioni
Problematiche nello sviluppo di librerie scientifiche (2) • le precedenti + • grado di parallelismo • località dei dati • scalabilità • bilanciamento del carico • minimizzazione sincronizz./comunicaz. • … Precedenti esperienze: - Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo - Progetto europeo PINEAPL - Parallel Naples Airshed Model (PNAM) - PSBLAS - … Pubblicazioni
Database Database Database Supercomputer Problematiche nello sviluppo di librerie scientifiche (3) • le precedenti + • eterogeneità • scheduling richieste utente • I/O su rete • visualizzazione su rete • …. Precedenti esperienze: - SPMIAC (Sistema Sw per Previsione e Monitoraggio Inquinamento Atmosferico in Campania) - … Pubblicazioni
Database SPECT Problematiche nello sviluppo di librerie scientifiche (4) • le precedenti + • dinamicità • coordinazione • sicurezza • latenza elevata e variabile • guasti • … Precedenti esperienze: Agenzia 2000, MedIGrid Progetto FIRB Grid.it Pubblicazioni
Database Database Database Supercomputer Grid-flow applications Le risorse sono allocate staticamente e i task sono eseguiti sui nodi della griglia computazionale secondo uno schemadata-flow Grid-aware applications Le risorse sono allocate dinamicamente; l’applicazione controlla lo stato della griglia e si riconfiguraautomaticamente
… Huge problems can now be computed over Grid Computing Environments (like Globus or Avaki, …). Because most of current applications are numerical, the use of libraries like BLAS, LAPACK, ScaLAPACK or PETSc is mandatory. … … Moreover, the computational power and memory needs of such applications may of course not be available on just one platform. Thus, Grid Computing seems to be a good candidate to build Problem Solving Environments … Dalla presentazione del Progetto LAMMPS (Large Scale Atomic Molecular Massively Parallel Simulator)
Obiettivi generali del WP9 • studio delle problematiche relative alla realizzazione di una libreria di software scientifico efficiente, affidabile e scalabile in ambienti computazionali di tipo griglia. • individuazione ed analisi di problemi connessi alla progettazione ed all’implementazione di algoritmi per architetture ad alte prestazioni ed alla loro integrazione in un'architettura software grid-oriented.
Obiettivi specifici del WP9 • definizione di strutture dati e sviluppo di routine numeriche promettenti per applicazioni su griglie computazionali • studio e realizzazione di moduli di libreria scientifica efficacemente utilizzabili su griglie computazionali in contesti applicativi interdisciplinari e multidisciplinari • valutazione e validazione del software sviluppato mediante l’integrazione in opportuni ambienti test
MIUR 5% 1999 (Laforenza) Contesto nazionale WP1.1 Dispiegamento della Griglia WP2.1 Ambienti di Programmazione WP3.1 Applicazioni – EOS WP3.2 Applicazioni Scientifiche Grid Computing: tecnologie abilitanti e applicazioni per eScience AGENZIA 2000 (Vanneschi) AGENZIA 2000 (Murli) Integrazione librerie scientifiche nell’ambiente di programmazione Ambiente per lo sviluppo di applicazioni ad alte prestazioni … • Dispiegamento della griglia • Applicazioni medico-nucleari Griglie Computazionali e Applicazioni ASI-PQE2000 (Vanneschi) …altri progetti Integrazione librerie scientifiche nell’ambiente di programmazione Sviluppo di Applicazioni di Osservazione della Terra mediante Sistemi e Strumenti di Calcolo ad Alte Prestazioni FIRB MIUR 5% 2000 (Vanneschi) • WP8 Ambienti di programmazione… • WP9 Sviluppo librerie scientifiche Grid-enabled • WP11 Applicaz. EOS: previs. e monitor. inquinam. Piattaforme abilitanti per Griglie Computazionali ad alte prestazioni … Ampliamento dell’ambiente di programmazione con componenti numeriche per applicazioni scientifiche Piattaforma distribuita ad alte prestazioni
http://icl.cs.utk.edu/netsolve NetSolve http://www-neos.mcs.anl.gov http://ess.gsfc.nasa.gov/annual.reports/ ess99/parvox.html PARVOX http://hipersoft.cs.rice.edu/grads Contesto internazionale …………
Esperienze in GrADS: ScaLAPACK demo • implementazione su Griglia di una versione di ScaLAPACK • usare le risorse a disposizione dell’utente • fornire la soluzione nel minor tempo possibile • automatizzare alcune fasi dell’esecuzione: scelta di macchine/processori coinvolti nel calcolo, distribuzione dei dati e collezione dei risultati, lancio della libreria su ogni macchina, … • modifiche minime al software di libreria • si assume che il middleware per Griglia sia già disponibile (Globus MDS, Network Weather Sevice, Autopilot Manager/Contract Monitor) J. Dongarra et al., Numerical Libraries and the Grid, Intl. J. High Performance Applications and SuperComputing, 15(4), 2001
ScaLAPACK demo (cont.) Quale sw/hw ho a disposizione? Voglio risolvere un sistema lineare di 10k equazioni in 10 minuti! resource selector Voglio usare la griglia… libr. routine + wrapper user performance modeler Quanta potenza di calcolo è necessaria? Finisco in 10 minuti? contract developer Esecuzione applicazione
Verso una maggiore dinamicità… • i nuclei computazionali non sono in grado di sfruttare appieno le potenzialità della griglia necessità di un ambiente computazionale dinamico in cui i componenti di libreria più “efficaci” rispetto alle caratteristiche del problema e dei dati ed allo stato della griglia sia automaticamente selezionati Self-Adaptive Numerical Software (SANS) J. Dongarra, V. Eijkhout, Self-Adapting Numerical Software for Next Generation Applications, LAPACK WN 157, 2002
/* interactive mode */ • SaNS • assert(A,spd) • Solve(A,x,b) SANS AGENT /* scripting language call */ SaNS (solve,A,x,b,cg) Intelligent Component History Database System Component Progetto di un sistema di tipo SANS Applicazioni Risolvi Ax=B, con A SPD Seleziona automaticamente l’algoritmo dalle caratteristiche del problema Utilizza le informazioni sulle prestazioni di esecuzioni precedenti Gestisci l’accesso alla griglia LIBRERIE SPDºSimmetrica Definita Positiva
Librerie scientifiche Grid-aware Challenges: • librerie che supportino una scelta adattativa degli algoritmi rispetto al problema (a run-time) • librerie che si adattino dinamicamente alla configurazione di Griglia per ottimizzare le performance • nuovi algoritmi latency-, fault-, I/O-tolerant • nuovi algoritmi scalabili • meccanismi per l’interazione delle librerie con il middleware • architettura delle librerie tale da favorire interfacciamento con differenti linguaggi • …
WP9: descrizione attività di ricerca approccio metodologico: definizione ed implementazione di algoritmi comuni ad applicazioni di rilevante interesse scientifico e tecnologico, per ambienti distribuiti e paralleli dinamici, fault-prone e con latenze elevate e variabili, con l’obiettivo di ottenere prestazioni elevate, scalabilità e portabilità • Task 1: studio ed analisi dei requisiti • Task 2: realizzazione della libreria scientifica • Task 3: validazione e testing
Task 1: individuazione ed analisi dei requisiti obiettivo: individuazione ed analisi dei requisiti della libreria scientifica, nonché delle metodologie e degli strumenti necessari alla sua realizzazione articolazione: 1.1 individuazione dei nuclei computazionali comuni alle applicazioni scientifiche di interesse 1.2 determinazione di algoritmi efficienti, scalabili e portabili su griglie computazionali 1.3 identificazione delle strutture dati/oggetti da supportare, dei pattern di interazione e delle metodologie implementabili in elementi di software
Subtask 1.1: individuazione nuclei computazionali competenze & esperienze ricercatori WP9 esigenze WP applicativi aree applicative di interesse • elaborazione, ricostruzione e riconoscimento di immagini in medicina nucleare e per il restauro digitale di filmati (ICAR-NA, ICAR-PA) • simulazione di interazioni fluido-struttura (sospensione di ponti) (UNIRM2) • problemi di decisione ottima, con riferimento al settore economico-finanziario (UNICAL) • previsione e monitoraggio del rischio ambientale, con particolare riferimento all’inquinamento atmosferico (sinergia con WP11) (ICAR-NA) • gestione ed elaborazione dati EOS (sinergia con WP11) (ICAR-NA)
Subtask 1.1 (cont.) “classi” di algoritmi di interesse livello 0: • algoritmi per la risoluzione di sistemi lineari e non lineari • algoritmi basati sulla FFT livello 1: • algoritmi per la risoluzione di problemi di ottimizzazione non lineare e non vincolata • algoritmi per la risoluzione di PDE • algoritmi per elaborazione e riconoscimento di immagini livello 2: • integrazione nuclei di livello (0 e ) 1 in polialgoritmi per la risoluzione di problemi applicativi
Subtask 1.2: determinazione algoritmi dinamicità, eterogeneità, latenze elevate e variabili delle griglie computazionali • realizzazione di algoritmi • asincroni, che operino efficientemente nonostante l’eterogeneità di processori, tempi di comunicazione e di latenza, etc. • opportunistici, cioè che tengano conto che le risorse variano dinamicamente; • I/O tolerant, cioè in grado di eseguire calcoli in presenza di input parziali e di rilasciare i risultati on the fly • … PDE
A11 A12 A13 L11 U11 U12 U13 A21 A22 A23 L21 L22 U22 U23 = * A31 A32 A33 L31 L32 L33 U33 A11 = L11U11 A12 = L11U12 A13 = L11U13 A21 = L21U11 A22 = L21U12 + L22U22 A23 = L21U13 + L22U23 A31 = L31U11 A32 = L31U12 + L32U22 A33 = L31U13 + L32U23 + L33U33 Esempio: fattorizzazione LU a blocchi
U12 U13 A31 A11 A21 A22 A32 A12 A23 A13 A33 passo 1 passo 2 U11 L11 L21 U22 U23 L31 L22 L32 U33 L33 distribuzione matrice: ciclica a blocchi passo 3 Su architetture parallele MIMD a memoria distribuita … versione right-looking fattorizzazione LU GETRS (risoluz. sist. triang.) GEMM (mat x mat) fattorizzazione LU GETRS (risoluz. sist. triang.) GEMM (mat x mat) fattorizzazione LU
LU right-looking ad ogni passo, calcola definitivamente un blocco di righe ed un blocco di colonne, e li usa per aggiornare la rimanente parte della sottomatrice attiva • accesso ai dati che si trovano “a destra” miglior compromesso tra minimizzazione della comunicazione e bilanciamento del carico computazionale MA è necessario avere a disposizione l’intera matrice all’inizio dell’algoritmo
A11 A21 A31 A12 A22 A32 A23 A33 A13 U11 L11 passo 2 L21 U22 U13 U23 U12 L31 L22 passo 3 L32 U33 L33 distribuzione matrice: ciclica a blocchi passo 1 Un’alternativa: versione left-looking fattorizzazione LU risoluz. sist. triang. mat x mat fattorizzazione LU risoluz. sist. triang. mat x mat risoluz. sist. triang. mat x mat fattorizzazione LU
LU left-looking ad ogni passo, aggiorna definitivamente un sol blocco di colonne, utilizzando le colonne precedentemente calcolate • accesso ai dati che si trovano “a sinistra” non è necessario avere a disposizione l’intera matrice per iniziare la fattorizzazione algoritmo I/O-tolerant
LU left looking (cont.) fattore critico per la performance: dimensione del pannello verticale • dipendenza da: • dimensione del problema • insieme dei processori utilizzati per il calcolo • caratteristiche della rete (bandwidth, latenza, traffico, …) • …
Subtask 1.3: identificazione metodologie e strutture dati/oggetti algoritmi opportunistici, asincroni, I/O tolerant • estensione alla griglia di metodologie di • checkpointing,per far ripartire il calcolo nel caso in cui un nodo della griglia non è più disponibile • caching,per consentire un riuso efficiente dei dati • locality,per minimizzare gli scambi di dati • load balancing,per sfruttare esplicitamente l’eterogeneità delle risorse della griglia
Task 2: realizzazione libreria scientifica obiettivo: implementazione degli algoritmi selezionati in moduli di libreria scientifica per ambienti di griglia computazionale, con le metodologie e gli strumenti individuati nel Task 1 articolazione: 2.1 definizione delle API (anche in relazione alle specifiche del linguaggio di coordinamento atteso dal WP8), per l’accesso uniforme ai moduli 2.2 implementazione delle routine di libreria scientifica 2.3 valutazione dell’impatto degli strumenti sviluppati in altri WP nell’integrazione di moduli della libreria nelle applicazioni demo
Subtask 2.1: definizione API obiettivi: • fornire all’utente funzionalità adeguate, eventualmente con differenti livelli di dettaglio • nascondere dettagli implementativi “inutili” • conservare o estendere “in maniera naturale” le API utilizzate in ambiente sequenziale e parallelo
Subtask 2.2: implementazione routine di libreria obiettivi e metodologia: • prima implementazione con tecnologie e strumenti “consolidati” e disponibili (Globus toolkit 2.x, MPICH-G2, …) • successiva integrazione su piattaforme che fanno uso di middleware studiato e/o sviluppato da altri WP • uso di building block consolidati (BLAS, PBLAS, LAPACK, ScaLAPACK, PETSc, …)
Subtask 2.3: strumenti sviluppati in altri WP obiettivi e metodologia: • individuazione dei benefici risultanti dall’integrazione della libreria scientifica con metodologie e strumenti software sviluppati in altri WP. • valutazione dell’integrazione di tali strumenti nell’architettura software per la valutazione/validazione della libreria
Task 3: validazione e testing obiettivo: validazione e valutazione delle prestazioni dei moduli di libreria implementati articolazione: 3.1 integrazione delle routine in ambienti volti alla risoluzione di problemi applicativi di interesse (laboratori virtuali - PSE) 3.2 validazione e testing della libreria sviluppata per la risoluzione di problemi applicativi di interesse
Subtask 3.1: integrazione in laboratori virtuali - PSE • impatto sulla definizione di protocolli e servizi standard per la registrazione, attivazione e composizione dei moduli di libreria • impatto su algoritmi, API ed implementazioni dei moduli di libreria Subtask 3.2: validazione e testing per la risoluzione di problemi applicativi • eventuale tuning e revisione/modifica di algoritmi, API ed implementazioni dei moduli di libreria
Sinergie con altri WP Applications and Demonstrators (WP10, WP11, WP12, WP13, WP14) CNR INFN ASI e-science Components(WP9) Component-based Programming Environment(WP8), Knowledge Services(WP6),Grid Portals(WP7), Security (WP4) CNR Photonic, high-bandwidth networks (WP1, WP2) Basic Grid Infrastructure and Data Core Services (WP3, WP5) INFN CNIT
Naturale interazione WP9 – WP8 • individuazione e definizione di meccanismi per l’integrazione di sw numerico nell’ambiente del progetto • impatto sullo sviluppo del supporto dell’ambiente • definizione di interfacce per moduli di sw numerico ad alte prestazioni • impatto sulla definizione degli algoritmi (e dei polialgoritmi) implementati nei componenti sw Pubblicazioni
Pianificazione temporale Primo anno • individuazione dei nuclei computazionali comuni alle applicazioni scientifiche di interesse ICAR-NA, ICAR-PA, UNICAL, UNIRM2 • determinazione di algoritmi efficienti, scalabili e portabili per griglie computazionali ICAR-NA, ICAR-PA, UNICAL, UNIRM2 • identificazione delle strutture dati/oggetti da supportare e delle metodologie implementabili in elementi di software ICAR-NA, ICAR-PA, UNIRM2
Pianificazione temporale (cont.) Secondo anno • completamento determinazione algoritmi per griglie computazionali ICAR-NA, ICAR-PA, UNICAL, UNIRM2 • completamento identificazione strutture dati/oggetti e metodologie ICAR-NA, ICAR-PA, UNIRM2 • definizione delle API ICAR-NA, ICAR-PA, UNIRM2 • sviluppo delle routine di libreria scientifica ICAR-NA, ICAR-PA, UNICAL, UNIRM2 • valutazione impatto strumenti sviluppati da altri WP ICAR-NA, ICAR-PA
Pianificazione temporale (cont.) Terzo anno • completamento sviluppo libreria ICAR-NA, ICAR-PA, UNICAL, UNIRM2 • completamento valutazione impatto strumenti sviluppati in altri WP ICAR-NA, ICAR-PA • integrazione routine in ambienti per lo sviluppo di problemi applicativi (laboratori virtuali – PSE) ICAR-NA, ICAR-PA • validazione e testing della libreria su problemi applicativi di interesse ICAR-NA, ICAR-PA, UNICAL, UNIRM2
ICAR NA ICAR PA UNIRM2 UNICAL Totale keuro 338 69 74 90 1 anno 113 23 24 30 2 anno 113 23 25 30 3 anno 112 23 25 30 Allocazione risorse ai gruppi
Tipo contratto No Unità Durata Stato primo anno Giovani ricercatori 1 ICAR-PA 3 anni 3 m.u. 02.05.03 1 ICAR-NA 3 anni 7 m.u. 03.03.03 Assegni di ricerca 1 UNIRM2 3 anni 7 m.u. da definire 2 UNICAL 3 anni 6 m.u. Bando da definire 6 m.u. Bando da definire Co.co.co 2 ICAR-NA 3 anni 7 m.u. 01.04.03 7 m.u. 14.03.03 Personale Totale: 12 anni uomo (4 anni/uomo x 3 anni)
Partecipanti alla ricerca • Napoli • ICAR: Carracciuolo, Corsaro, D’Ambra, Guarracino, Maddalena, Oliva, Petrosino • UNINA: D’Amore, Di Serafino, Laccetti, Lapegna • Palermo • ICAR: Machì, Nicotra • Roma • UNIRM2: Bisegna, Filippone, Maceri, Vairo • Cosenza • UNICS: Grandinetti, Musmanno, Guerriero, Belardi
Ipse dixit • …Grid come naturale evoluzione del calcolo ad alte prestazioni… • …i problemi da risolvere sono fondamentalmente quelli del calcolo parallelo, anche se più difficili e complessi…
As soon as grid computing exists, it will necessarily guide the future course of science. Whenever any result is sought by its aid, the question will raise – By what means of calculation can these results be arrived at by thistechnology in the shortest time?
As soon as analytic engine exists, it will necessarily guide the future course of science. Whenever any result is sought by its aid, the question will raise – By what means of calculation can these results be arrived at by thismachine in the shortest time? Charles Babbage, 1864
Alcune pubblicazioni • Luisa D'Amore, Giuliano Laccetti, Almerico Murli, An Implementation of a Fourier Series Method for the Numerical Inversion of the Laplace Transform, ACM TOMS, Vol. 25 · N. 3, 1999 • Luisa D'Amore, Giuliano Laccetti, Almerico Murli, Algorithm 796: A Fortran Software Package for the Numerical Inversion of the Laplace Transform Based on a Fourier Series Method, ACM TOMS, Vol. 25 · N. 3, 1999 • M. Rizzardi, A Modification of Talbot's Method for the Simultaneous Approximation of Several Values of the Inverse Laplace Transform, ACM TOMS, Vol. 21 · N. 4, 1995 • A. Murli, M. Rizzardi, Algorithm 682: Talbot's Method for the Laplace Inversion Problem, ACM TOMS, Vol. 16 · N. 2, 1990 • B. S. Garbow, G. Giunta, J. N. Lyness, A. Murli, Software for an Implementation of Weeks' Method for the Inverse Laplace Transform, ACM TOMS, Vol. 14 · N. 2, 1988 • B. S. Garbow, G. Giunta, J. N. Lyness, A. Murli, Algorithm 662: A FORTRAN Software Package for the Numerical Inversion of the Laplace Transform Based on Weeks' Method, ACM TOMS, Vol. 14 · N. 2, 1988 • G. Giunta, A. Murli, Algorithm 649: A Package for Computing Trigonometric Fourier Coefficients Based on Lyness's Algorithm, ACM TOMS, Vol. 13 N. 1, 1987. • P.C. Messina, A. Murli eds., Problems and Methodologies in Mathematical Software Production, Springer-Verlag, 1982. • G. Giunta, G. Laccetti, A. Murli, Il Problema della Valutazione del Software Matematico, Rivista di Informatica, XII, 1982.
Alcune pubblicazioni (1/4) • L. Antonelli, L.Carracciuolo, M.Ceccarelli, L.D’Amore,A.Murli – Total Variation rergularization for Edge Preserving 3D SPECT Imaging in High Performance Computing Environment, Lecture Notes on Computer Science, 2330, springer, 2002. • S. Filippone, P.D’Ambra, M.Colajanni – Using a Parallel Library of Sparse Linear Algebra in a Flyuid Dynamics Application Code on Linux Clusters, in Parallel Computing, Advances and Current Issues, G.Joubert, A.Murli, F.Peters, M.Vanneschi, eds., Imperial College Press, 2002, pp. 441-448 • L. Arnone, P. D'Ambra, S. Filippone, A Parallel Version of KIVA-3 based on General-Purpose Numerical Software and its Use in Two-stroke Engine Applications, International Journal of Computer Research, Special Issue on Industrial Applications of Parallel Computing, M. Paprzycki, L. Tarricone, T. Yang eds., vol.10, N.4, 2001, pp. 31-46. • P. D'Ambra, S. Filippone, L. Arnone, Using General-Purpose Numerical Software in the Parallelization of Fluid Dynamics Codes: KIVA-3, a Code for Engine Simulations, in Practical Parallel Computing, M. Paprzycki, L. Tarricone, T. Yang eds., NOVA Science Pub., New York, Chap. 3, 2001, pp. 37-55. • G. Barone, P. D'Ambra, D. di Serafino, G. Giunta, A. Murli, A. Riccio, Application of a Parallel Photochemical Air Quality Model to the Campania Region (Southern Italy), Environmental Modelling & Software, vol. 15, n. 6-7, 2000, pp. 503-511. • S. Filippone, M.Colajanni, PSBLAS: a Library for Parallel Linear Algebra on Sparse Matrices, ACM TOMS, 26, 4, 2000 • P.Beraldi, L. Grandinetti, R. Musmanno, C. Triki, Parallel Algorithms to Solve Stochastic Linear Programs with Robustness Constraints, Parallel Computing, 26, 2000, pp. 1889-1908.