Sottoprogetto Network Computing

Nell'ultimo decennio, il progetto di applicazioni di ampie dimensioni che rispondano all'obiettivo di prestazioni elevate, da una parte, è stato confinato nell'ambito del settore delle architetture dedicate, richiedendo quindi investimenti cospicui (come architetture vettoriali od altamente parallele), dall'altro, ha attratto una fascia molto limitata di utenza a causa dalla mancanza di ambienti di uso e di sviluppo facilmente accessibili.

L'ultimo biennio ha forzato un cambiamento di scenario: la disponibilità globale di un insieme interconnesso di risorse, tradizionalmente usate solo in modo privato ed esclusivo, ha rivoluzionato la prospettiva.

Il modello Internet e Web ha imposto una globalizzazione delle risorse, creando gli esempi e la necessit?à di applicazioni ad ampiezza elevata, consentendo, al tempo stesso, il riuso degli investimenti economici già
fatti all'interno delle organizzazioni. Gli esempi di sistemi globali hanno consentito, da una parte, di introdurre e di sperimentare nuove prospettive (e un numero di risorse del tutto impensabile in precedenza) e, dall'altra,
di cominciare a considerare nuovi modelli alla base di sistemi aperti e distribuiti, disponibili anche ad una ampia fascia di utenza.

Allo stesso tempo, i sistemi basati sulla mobilità, hanno riportato interesse sul requisito di dinamicità necessaria ad una gestione efficiente delle risorse e sulla necessità di migliorare le capacità di interconnessione, sia attraverso l'introduzione di nuove infrastrutture di comunicazione, sia riconsiderando i sistemi ed i supporti di
interconnessione ed il loro inserimento nell'organizzazione locale. Inoltre, si è cominciata a considerare la possibilità di sistemi distribuiti, basati su componenti standard in cui eventualmente le alte prestazioni sono
realizzate attraverso l'introduzione di opportuni server dedicati.

In sostanza, l'esempio dei sistemi globali, mobili ed aperti ha fatto maturare tutta una serie di esperienze che porta alla necessità di riconsiderare il settore stesso, che identifichiamo con il termine di Network Computing. Il Network Computing (o in breve NC) ha riscosso un interesse accademico ed industriale molto ampio negli ultimi anni: è ora necessario esplorare il settore con un'analisi orientata in diverse direzioni.

Il sottoprogetto Network Computing si propone quindi un ampio spettro di indagine con l'obiettivo di considerare lo stato corrente della ricerca nel settore in Italia e di dirigere la evoluzione del settore, sia nel campo
delle metodologie sia degli strumenti disponibili al progettista di sistemi per applicazioni nel settore NC.

Obiettivo di questo sottoprogetto è di arrivare a determinare come ottenere, da un sistema per applicazioni distribuite, prestazioni elevate e crescenti con la evoluzione tecnologica e di integrarsi con eventuali risorse e
soluzioni esistenti. In altri termini, di determinare un ambiente integrato adatto al supporto di applicazioni dinamiche e globali, mantenendo elevate prestazioni.

Questo obiettivo pu?ò essere raggiunto solo congiuntamente agli altri due sottoprogetti che individuano le altre due anime del settore: la interazione con il sottoprogetto 'Sistemi Multimediali' è, infatti, molto profonda, in
quanto le applicazioni del settore NC tendono alla integrazione di informazioni diverse e la possibilità di trattamento efficiente e veloce; i 'Sistemi Reattivi' rappresentano soluzioni dedicate che possono a loro volta
richiedere l'integrazione nel sistema globale.

L'obiettivo della ricerca si articola ai diversi livelli della architettura di sistemi per network computing:

* a livello di architettura di nodo e di rete, con possibilità di inserimento del parallelismo e di nuove infrastrutture per ottenere alte prestazioni,
* a livello di strumenti di supporto nello sviluppo e la esecuzione delle applicazioni,
* a livello di modelli per la valutazione e la gestione degli strumenti,
* inoltre, si prevede uno sforzo a livello applicativo, in alcuni settori generali.
Questi esempi sono anche in comune con il sottoprogetto 'Sistemi Multimediali', e, dagli esempi e prototipi comuni si promuove una più forte strategia comune.

La ricerca si propone i seguenti obiettivi:

* A livello di supporto architetturale, di sperimentare nuove infrastrutture di interconnessione ad alta velocità, di considerare e proporre supporti per comunicazione ad alta velocità, anche attraverso la organizzazione strutturata di nodi con componenti off-the-shelf e innovativi. Il supporto deve garantire le funzioni necessarie alla comunicazione eterogenea ed al coordinamento tra risorse diverse, con politiche diverse.
* A livello di modelli e strumenti per lo sviluppo ed il supporto di applicazioni, di definire nuovi modelli di programmazione basati su agenti mobili, derivandoli dall'esperienza maturata dalle UR su modelli più consolidati come quelli ad oggetti, ad attori, strutturati, genetici. Tali modelli devono potere supportare ambienti ad elevata
dinamicità e parallelismo, e consentire di introdurre e sperimentare nuove metodologie di sviluppo di componenti software, nonché di esplorare politiche di replicazione e caching per consentire una elevata efficacia di soluzione. L'accento sarà posto su modelli che possano consentire un efficace compromesso tra i requisiti imposti dal particolare scenario di esecuzione e le prestazioni ottenibili. Si ritiene fondamentale considerare i modelli capaci di esprimere forme evolute di coordinamento in sistemi distribuiti multi-componente ed
analizzarne le caratteristiche in termini di meccanismi e valutazione delle prestazioni.
* A livello di gestione del sistema, di arrivare ad un trattamento dinamico ed equilibrato nell'uso delle risorse, con strumenti che consentano anche la verifica e la validazione dell'ambiente stesso, per arrivare a definire e sperimentare modelli e supporti per la valutazione. In questo settore, si considerano sia approcci simulativi,
sia approcci analitici e verifiche prototipali.
* Per ogni parte del progetto, si ritiene fondamentale considerare la possibilità di conformità con standard esistenti o di fatto. A livello di architettura si considerano soluzioni, ad esempio, con i sistemi operativi più diffusi con le piattaforme pi?ù comuni: workstation con sistemi operativi UNIX, PC con sistemi Windows. A livello di supporto, si considerano sia standard per superare l'eterogeneità nella comunicazione (PVM, MPI) sia standard per la interoperabilità in ambienti ad oggetti (come CORBA, JAVA).
* A livello applicativo, la realizzazione di alcune applicazioni globali per verificare sia il modello proposto, sia l'intero ambiente prodotto.
In particolare, le UR hanno determinato settori quali la computazione mobile, gli ambienti basati su Web per il commercio elettronico, l'educazione a distanza, la necessità di sicurezza realizzata attraverso politiche ampie e standard, ed, infine, i sistemi dedicati.
Si noti che alcuni di questi settori sono sia in comune con gli altri sottoprogetti, sia derivati da questi (ad esempio l'area dei settori dedicati), grazie all'unica cornice di lavoro.
 
 


 [Progetto MOSAICO a Parma]