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.