Sottoprogetto Sistemi Multimediali

Le caratteristiche già discusse del sistema globale, assieme alla tendenza attuale delle applicazioni di utilizzare modalità di interazione sempre più complesse, hanno favorito il diffondersi delle applicazioni che trattano
dati di natura multimediale.

Sfortunatamente le soluzioni architetturali hardware e software di tipo tradizionale non sembrano sufficienti alle esigenze dei sistemi distribuiti e delle applicazioni multimediali a motivo delle caratteristiche innovative
che tali applicazioni hanno e dei problemi che sorgono quando l'infrastruttura di calcolo è di natura eterogenea.

In particolare, tanto i nodi di calcolo che i canali di comunicazione, da un lato devono essere in grado di fornire elevate prestazioni per soddisfare in termini assoluti le esigenze computazionali e di trasferimento dei dati
delle nuove applicazioni, e dall'altro devono poter controllare l'impegno di risorse al fine di garantire la qualit?à dei servizi forniti in presenza di contesa sulle risorse. Tale requisito, infatti, è di primaria importanza nel caso delle applicazioni multimediali per la natura dei dati trattati.

Come gi?à accennato in precedenza, le soluzioni a questi problemi non possono prescindere dalla necessità di mantenere la compatibilità con i componenti hardware e software di tipo tradizionale. Occorre dunque intervenire sulle architetture esistenti, individuandone i limiti e identificando soluzioni che facciano evolvere la struttura dei sistemi senza modifiche radicali.
Sotto questo aspetto un problema fondamentale è quello di rendere effettivamente disponibili alle applicazioni tutte le potenzialità in termini di prestazioni dei moderni componenti hardware. A tal fine è possibile individuare tre ambiti sui quali intervenire.

Un primo aspetto riguarda il bilanciamento architetturale tra i diversi componenti del sistema che non risulta sempre adeguato rispetto alle esigenze delle nuove applicazioni. Un secondo aspetto riguarda il software
di base (sistema operativo, software di supporto alle comunicazioni e supporto linguistico) che è generalmente orientato ad applicazioni più convenzionali e, in particolare, non fornisce meccanismi per il controllo
delle risorse adatti alle caratteristiche delle applicazioni multimediali.
Infine lo stesso software applicativo richiede algoritmi più efficienti e l'impiego effettivo dei nuovi meccanismi per la gestione delle risorse che cominciano ad essere disponibili anche sulle piattaforme più diffuse.

Il sottoprogetto sui Sistemi Multimediali si propone di affrontare queste tematiche con specifico riferimento all'impiego di sistemi ad alte prestazioni basati su tecnologia a basso costo per lo sviluppo e l'impiego
di applicazioni multimediali. L'attività riguarda sia aspetti sistemistici che applicativi e intende affrontare i diversi problemi sia sul piano metodologico che sperimentale.

Dal momento che nel progetto non si propone di individuare un'unica soluzione ai problemi descritti, che peraltro sembra irrealistica e di scarso interesse pratico nell'attuale panorama di sviluppo del mercato, gli
aspetti di valutazione e la messa a punto degli strumenti di base necessari alle applicazioni multimediali svolgono un ruolo centrale per tutta la durata del sottoprogetto.

L'obiettivo generale del sottoprogetto consiste nel progettare e realizzare un sistema client-server ad alte prestazioni per l'accesso a informazioni di natura multimediale incluse informazioni video. Le diverse UR collaboreranno a tale obiettivo affrontando diversi aspetti complementari descritti di seguito. L'impiego di piattaforme hardware simili e di interfacce di programmazione comuni garantirà la possibilità di integrare i prodotti delle diverse UR in modo da pervenire ad uno o più prototipi funzionanti nel corso del progetto. I prototipi via via sviluppati potranno essere utilizzati da tutte le UR per effettuare, nell'ambito delle proprie specifiche attività, una sperimentazione più ampia di quella possibile con le sole risorse locali.

Per la realizzazione del sistema client-server ad alte prestazioni verranno svolte le seguenti attività di ricerca:

* Definizione, implementazione e sperimentazione di una piattaforma per lo sviluppo di server paralleli. La piattaforma hardware scelta per tale attività è costituita da reti di workstation interconnesse da reti
ad alte prestazioni. Le UR utilizzeranno reti diverse (ATM, Switched Ethernet, Myrinet) che consentiranno anche un confronto tra diverse soluzioni hardware nonché una verifica della possibilità di portare il server su diverse piattaforme preservando le prestazioni (performance portability). I principali problemi che verranno affrontati riguarderanno i parametri di qualità di servizio che devono caratterizzare le funzionalità offerte dal software di sistema. A tal fine si intende valutare il supporto offerto dai sistemi operativi più diffusi (UNIX, Windows NT) per garantire livelli assegnati di qualità da parte dei servizi di sistema. In tale ambito, oltre alle politiche di scheduling ai diversi livelli, si intende studiare anche le interazioni tra scheduling, comunicazioni e attività di ingresso/uscita verso le memorie di massa ad alta velocità.
* Definizione e implementazione di un sistema di ingresso/uscita parallelo (disk array). Tale attività riguarderà la definizione delle strategie di gestione per l'accesso ai servizi e le modalità di interfacciamento con il resto del sistema e le applicazioni. Per la parallelizzazione del sistema si intende utilizzare ancora una rete di
workstation utilizzando la piattaforma descritta al punto precedente.
La gestione logica del disk array richiederà la definizione di due distinte politiche di gestione. La prima sarà rivolta al problema della allocazione delle informazioni nel disk array e quindi della organizzazione logica del data base. La seconda sarà invece rivolta alla successiva fase di gestione delle richieste di I/O.
* Gestione di server ad alte prestazioni distribuiti e cooperanti. Anche in presenza di server paralleli ad alte prestazioni, la dinamicità dell'ambiente di rete può produrre congestione con conseguente perdita di prestazioni e funzionalità. Questa attività è dunque complementare a quella precedentemente descritta. Essa riguarderà le politiche di caching e mirroring rispetto alle richieste provenienti da sottoinsiemi di utenti al fine di ottimizzare l'impegno di risorse. Sarà inoltre considerata la possibilità di utilizzare algoritmi di scheduling distribuiti per gestire in modo coordinato più server, in modo da evitare fenomeni di sovraccarico di un singolo server distribuendo le richieste sugli altri. A tale scopo si estenderà il modello per sistemi Web distribuiti costituito da server omogenei al caso più comune di server eterogenei.
* Definizione di nuove tecniche di codifica delle informazioni multimediali per la memorizzazione, la trasmissione, l'analisi e il reperimento per contenuto, nonch?é di nuovi algoritmi di decompressione.
Verranno studiate tecniche di codifica delle informazioni multimediali in modo da facilitare il reperimento dei dati e migliorare le prestazioni globali del sistema. Un altro aspetto su cui si intende lavorare riguarda ancora le tecniche di codifica delle informazioni multimediali al fine di rendere possibile la loro trasmissione,
decodifica e visualizzazione in tempo reale anche su piattaforme relativamente a basso costo. Infine, per quanto riguarda il reperimento di informazioni nel database, particolare attenzione sarà riservata alla valutazione di algoritmi di "parsing" di sequenze video. Lo scopo è quello di ottenere una estrazione del contenuto semantico della sequenza di immagini analizzata. Tali algoritmi si baseranno sia su caratteristiche statiche delle singole immagini (colore, texture, ecc.) sia su caratteristiche dinamiche (ad esempio, asimmetrie dell' "optical
flow"). Successivamente, la semantica verr?à impiegata per costruire una indicizzazione del video, utile al fine di memorizzazione, ricerca e navigazione.
* Una certa attenzione verrà data anche alla parte relativa ai client e all'interfaccia utente. È importante infatti semplificare il più possibile la struttura hardware-software del terminale utente per motivi di flessibilità, facilit?à d'uso e costo. In particolare sembra di fondamentale importanza rendere disponibili attraverso il server gli applicativi di gestione per i servizi richiesti. Inoltre si intende esplorare anche la possibilità di rendere più sofisticato il protocollo tra client e server in modo da graduare la qualità e la quantità di informazione erogata in modo da adeguarsi alle capacità elaborative e di visualizzazione del client.
* Implementazione sperimentazione e valutazione di applicazioni interattive. Tale attività è volta a consentire una più ampia sperimentazione delle tecniche di base che si intende proporre e sviluppare. In particolare, alcune UR provvederanno a sviluppare applicazioni multimediali di tipo interattivo in campo didattico per la
realizzazione di "laboratori virtuali" per l'accesso ad informazioni riguardanti il patrimonio artistico e culturale ("museo virtuale distribuito") e per la didattica sulle tecniche di OOP.
 
 


 [Progetto MOSAICO a Parma]