Librerie Virtuali per la Soluzione di Problemi Computazionali

Progetto Coordinato del CNR


 
Nome del coordinatore: Elenco delle unità partecipanti:
  1.  Dipartimento di Informatica e Scienze dell'Informazione - Università di Genova,
  2.  Istituto per la Matematica Applicata - CNR Genova,
  3.  Dipartimento di Informatica - Università di Pisa,
  4.  Istituto per la Matematica Computazionale - CNR Pisa,
  5.  Istituto Analisi Numerica - CNR Pavia.
Durata prevista: 2 anni.

Finanziamento per il primo anno   : 70.000.000
Finanziamento per il secondo anno : 78.000.000


Descrizione dell'obiettivo

In vari campi della ricerca scientifica sono sempre piu' richieste soluzioni efficienti di problemi che richiedono lunghi tempi di calcolo. Se dall'analisi dell'applicazione si evidenzia la possibilita' di fare evolvere in parallelo diverse fasi di calcolo, si possono sfruttare architetture parallele o reti di workstation durante i periodi di sottocarico delle stesse. Per svincolare l'applicazione dalla piattaforma di calcolo ci si puo' affidare a librerie software matematiche e algebriche che cerchino di offrire un prodotto ottimizzato (attraverso implementazioni parallele), e con un'interfaccia indipendente dall'applicazione.

In tutto cio' si evidenziano i seguenti problemi:

Sono pochi i sistemi che forniscono all'utente un ambiente di programmazione che consenta il semplice interfacciamento con librerie matematiche residenti su macchine eterogenee e la programmazione parallela o distribuita in modo ``facilitato'', che implementino cioe' in modo trasparente all'utente le funzionalita' necessarie. Per lo piu' si tratta di sistemi limitati a determinate architetture o comunque di complesso utilizzo.

Obiettivo scientifico

Produzione di un prototipo software, facilmente portabile su diverse architetture, consistente in:

  1. una libreria parallela di funzioni di algebra lineare numerica di base operante su diverse piattaforme hardware parallele e distribuite.
  2. un ambiente distribuito di esecuzione che consenta all'utente di accedere le risorse software e hardware in modo asincrono e affidabile, attivando la funzione richiesta sul target che fornisce, in quel momento, la migliore prestazione temporale.
  3. un insieme di applicazioni significative per il collaudo della libreria algebrica e del sistema di gestione delle risorse. In particolare applicazioni quali tecniche di decomposizione di domini per problemi ai limiti ellitici e solutori iterativi a blocchi per sistemi lineari.

Sarà inoltre effettuato il porting del modello BSP sulle macchine parallele e distribuite disponibili a Genova, Pavia e Pisa. Gli algoritmi della libreria saranno implementati in BSP, in modo da ottenere per ogni funzione e per ogni macchina target una previsione del suo tempo di esecuzione. Si prevede la possibilità di sviluppare librerie virtuali per la grafica ed il calcolo simbolico.
Sia l'intero sistema che ciascuna delle sue componenti dovranno rispettare caratteristiche tali da garantirne la portabilità su diverse architetture hardware.

Come piattaforme software portabili su cui implementare il sistema di gestione delle risorse abbiamo considerato PVM, sistema ampiamente diffuso e collaudato, che pero' fornisce uno scarso supporto per la tolleranza ai guasti.

La libreria conterra' un insieme significativo di programmi di algebra lineare numerica sufficienti a supportare applicazioni scientifiche in ambiente di calcolo distribuito. Tali algoritmi includeranno le funzionalita' del livello 3 di BLAS, ovvero operazioni tra matrici dense, che stanno alla base dell'implementazione delle librerie numeriche disponibili oggi (prima fra tutte LAPACK).


The aim of the project is the development of a software prototype, easily portable to different distributed architectures, consisting on:
* a library for basic linear algebra functions, operating on different parallel and distributed platforms;
* a distributed environment that allows a convenient access to system computational resources and a safe user interface, that activates the required function on the particular machine which at each moment may guarantee the best performance.
* a significant set of applications to benchmark the library and the resource management environment on different architectures such as a set of block iterative solvers for symmetric and non-symmetric systems that can fully exploit the underlying architecture by means of data locality and the developed parallel library.
To achieve maximum system portability, an already widely available platform has been selected. Such a model is the Bulk Synchronous Parallel model (BSP), which provides a robust, scalable and architecture independent parallel programming model.