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:
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.