Stato dell’arte
Obiettivo <ul><li>Visualizzazione e interazione con immagini tridimensionali complesse su dispositivi con limitate capacit...
Scenario <ul><li>Limitata capacità di calcolo </li></ul><ul><li>Ridotta dimensione del display </li></ul><ul><li>Mancanza ...
Idea <ul><li>Demandare il task di calcolo ad un’architettura remota e usare il dispositivo palmare solo per la visualizzaz...
Sommario
Chromium <ul><li>Piattaforma per il rendering interattivo e scalabile per architetture cluster </li></ul><ul><li>Basato su...
Stream Processing Unit <ul><li>I client usano una SPU che realizza un rendering di tipo sort-first (detta  tilesort SPU ) ...
Architettura di Chromium
Sequenza temporale delle operazioni
Sperimentazioni <ul><li>802.11 </li></ul><ul><ul><li>802.11a: 5.5 Mbps </li></ul></ul><ul><ul><li>802.11b: 11 Mbps </li></...
Compressione delle immagini <ul><li>Porting per PocketPC della libreria di compressione senza perdita zlib e della libreri...
Approccio alternativo <ul><li>E.Teler, D.Lischinski, Hebrew University of Jerusalem </li></ul><ul><li>L’idea di base è che...
Architettura client/server
Rappresentazione degli oggetti 3D <ul><li>La descrizione della scena consiste di una collezione di oggetti </li></ul><ul><...
Algoritmo di scelta di una rappresentazione <ul><li>A ciascuna rappresentazione di un oggetto sono associati: </li></ul><u...
Stima del costo di una rappresentazione <ul><li>Il costo associato ad una particolare rappresentazione di un oggetto può e...
Stima dei benefici di una rappresentazione <ul><li>Accuratezza </li></ul><ul><li>Visibilità </li></ul><ul><li>Importanza <...
Funzione di accuratezza Impostors LOD
Visibilità e isteresi <ul><li>Gli oggetti fuori dal campo visivo hanno visibilità zero </li></ul><ul><li>Per gli oggetti a...
Beneficio aggiunto <ul><li>Beneficio della rappresentazione corrente </li></ul><ul><li>Proprietà dell’insieme delle rappre...
Beneficio aggiunto Caso non interattivo Il beneficio aggiunto nell’istante  t  è
Beneficio aggiunto
Stima & selezione <ul><li>Il numero di rappresentazioni è infinito </li></ul><ul><ul><li>per ogni oggetto ci sono infinite...
Assunzioni <ul><li>Per ogni istanza l’utente può: </li></ul><ul><ul><li>restare fermo </li></ul></ul><ul><ul><li>girarsi <...
Variazioni & movimenti <ul><li>Visuale ferma </li></ul><ul><ul><li>i parametri di vista sono fissi </li></ul></ul><ul><ul>...
Variazioni & movimenti <ul><li>Movimento lungo una linea retta </li></ul><ul><ul><li>è come se gli oggetti scorressero lun...
Risultati sperimentali <ul><li>Scenario di riferimento </li></ul><ul><ul><li>839 oggetti, di cui </li></ul></ul><ul><ul><u...
Risultati sperimentali
Risultati sperimentali
Link: http://www.cs.huji.ac.il/labs/cglab/papers/streaming/20000.mpg Link: http://www.cs.huji.ac.il/labs/cglab/papers/stre...
Quanto è affidabile la previsione del percorso? <ul><li>C. Zach, K. Karner, VIRVis (Virtual Reality and Visualization Rese...
Lo scenario del caso peggiore <ul><li>Massimizzare l’integrale del beneficio aggiunto non è sufficiente per un sistema di ...
Beneficio nel caso peggiore
Proprietà del problema di ottimizzazione <ul><li>Al tempo  t=0 , nessuna soluzione è fattibile </li></ul><ul><li>Ponendo  ...
Funzione oggettiva
Vicinanza vicinanza insieme dei “vicini” <ul><li>La successiva decisione dello scheduler avviene al tempo  t k +d ij     ...
Guadagno & perdita
Policy “greedy” di scheduling Memoria minima Ritorno di rete
Caratteristiche del traffico multimediale <ul><li>Trasmissione real-time </li></ul><ul><li>Tollerante alle perdite, ma non...
TCP è adatto? <ul><li>TCP reagisce a perdite di pacchetti basate su corruzione rallentando la trasmissione e riducendo la ...
UDP è adatto? <ul><li>nessun controllo della congestione </li></ul><ul><li>no ACK, no ritrasmissioni </li></ul><ul><li>pac...
Trasmissione adattativa: obiettivi <ul><li>Utilizzo efficiente delle risorse </li></ul><ul><li>Reattività alle variazioni ...
Architettura di un sistema adattativo <ul><li>Stima delle condizioni del canale </li></ul><ul><ul><li>raccolta statistiche...
Approcci per il controllo del flusso <ul><li>RAP – Rate Adaptation Protocol </li></ul><ul><li>SR-RTP – Selection Retransmi...
Reti wireless
Proposta <ul><li>A.Boukerche, R.Werner – University of Ottawa </li></ul><ul><li>Obiettivo: proporre un protocollo efficien...
Ambienti virtuali <ul><li>Statici </li></ul><ul><ul><li>gli oggetti non si muovono </li></ul></ul><ul><ul><li>l’unica enti...
Previsione del movimento
Rendering & streaming remoto
Formato dell’header ISP
Formato dell’header ACK
Formato dell’header dell’aggiornamento del viewpoint
Gap inviato e gap ricevuto
Equazione di modifica del tasso di trasmissione Riduzione Aumento One-way trip time
Risultati sperimentali
Bibliografia
Upcoming SlideShare
Loading in …5
×

Rendering distribuito su dispositivi mobili via wireless - stato dell'arte

1,133 views
1,069 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,133
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • 27/03/2007 Monica Colangelo Architetture di reti wireless per il rendering distribuito su dispositivi mobile on-demand
  • Rendering distribuito su dispositivi mobili via wireless - stato dell'arte

    1. 1. Stato dell’arte
    2. 2. Obiettivo <ul><li>Visualizzazione e interazione con immagini tridimensionali complesse su dispositivi con limitate capacità di calcolo </li></ul><ul><li>Il grande vantaggio di un PDA (Personal Digital Assistant) è che offre accesso ad Internet indipendentemente da vincoli di posizione </li></ul>
    3. 3. Scenario <ul><li>Limitata capacità di calcolo </li></ul><ul><li>Ridotta dimensione del display </li></ul><ul><li>Mancanza di dispositivi di interfacciamento tradizionali </li></ul><ul><li>Realismo </li></ul><ul><li>Interattività </li></ul><ul><ul><li>un sistema di visualizzazione dovrebbe, in generale, permettere un’esplorazione interattiva dei dati visualizzati </li></ul></ul>Limitazioni Requisiti
    4. 4. Idea <ul><li>Demandare il task di calcolo ad un’architettura remota e usare il dispositivo palmare solo per la visualizzazione e l’interazione con l’utente </li></ul><ul><li>Vantaggi </li></ul><ul><ul><li>i dati che devono essere visualizzati sono elaborati da “un’unità” remota, superando i vincoli tecnologici dei PDA </li></ul></ul><ul><ul><li>la visualizzazione remota non implica la trasmissione dei dati sorgente, in questo modo il sistema è indipendente dal tipo di applicazione/dati </li></ul></ul>
    5. 5. Sommario
    6. 6. Chromium <ul><li>Piattaforma per il rendering interattivo e scalabile per architetture cluster </li></ul><ul><li>Basato su WireGL </li></ul><ul><li>Sistema di configurazione centralizzato per decidere quali nodi del cluster saranno coinvolti in una sessione di rendering parallelo e quale tipo di comunicazione sarà necessario </li></ul><ul><li>Le trasformazioni sui flussi di comandi avvengono mediante le SPU (Stream Processing Unit) che sono realizzate come librerie caricabili dinamicamente e forniscono l’interfaccia OpenGL </li></ul>
    7. 7. Stream Processing Unit <ul><li>I client usano una SPU che realizza un rendering di tipo sort-first (detta tilesort SPU ) per dividere il carico di lavoro tra le macchine del cluster </li></ul><ul><li>I server usano la render SPU per veicolare direttamente i flussi di comandi agli acceleratori grafici </li></ul><ul><li>Una SPU, detta readback , gestisce la composizione dell’immagine finale </li></ul><ul><li>Esiste un modulo dedicato a inizializzare l’applicazione (denominato crappfaker ) che permette la sostituzione dinamica della libreria OpenGL di sistema con quella di Chromium </li></ul>
    8. 8. Architettura di Chromium
    9. 9. Sequenza temporale delle operazioni
    10. 10. Sperimentazioni <ul><li>802.11 </li></ul><ul><ul><li>802.11a: 5.5 Mbps </li></ul></ul><ul><ul><li>802.11b: 11 Mbps </li></ul></ul><ul><ul><li>802.11g: 54 Mbps </li></ul></ul><ul><li>GPRS </li></ul><ul><ul><li>banda asimmetrica massima di 57.6 kbps in download e 28.8 kbps in upload </li></ul></ul><ul><li>La banda misurata sperimentalmente in download è risultata di 42.5 kbps </li></ul>
    11. 11. Compressione delle immagini <ul><li>Porting per PocketPC della libreria di compressione senza perdita zlib e della libreria di compressione con perdita libjpeg </li></ul>
    12. 12. Approccio alternativo <ul><li>E.Teler, D.Lischinski, Hebrew University of Jerusalem </li></ul><ul><li>L’idea di base è che il server trasmette solo una piccola parte della scena e una rappresentazione di bassa qualità degli oggetti, in base ai parametri di vista dell’utente e all’ampiezza di banda disponibile </li></ul><ul><li>Approccio che elimina quasi del tutto la latenza nell’esplorazione remota di scene tridimensionali complesse </li></ul>
    13. 13. Architettura client/server
    14. 14. Rappresentazione degli oggetti 3D <ul><li>La descrizione della scena consiste di una collezione di oggetti </li></ul><ul><li>Ciascun oggetto ha una serie di rappresentazioni associate </li></ul><ul><ul><li>Modello geometrico completo </li></ul></ul><ul><ul><li>Modelli con differenti LOD (level of detail)‏ </li></ul></ul><ul><ul><li>Rappresentazione mesh progressiva </li></ul></ul><ul><ul><li>Modelli generati dinamicamente </li></ul></ul><ul><ul><li>Impostors image-based precomputati </li></ul></ul><ul><ul><li>… </li></ul></ul>
    15. 15. Algoritmo di scelta di una rappresentazione <ul><li>A ciascuna rappresentazione di un oggetto sono associati: </li></ul><ul><ul><li>un costo, che in sostanza è la durata attesa della sua trasmissione </li></ul></ul><ul><ul><li>una misura del “beneficio”, calcolata per ciascun punto di vista, che corrisponde al contributo dell’oggetto alla qualità totale visibile della scena </li></ul></ul>
    16. 16. Stima del costo di una rappresentazione <ul><li>Il costo associato ad una particolare rappresentazione di un oggetto può essere stimato come la grandezza della rappresentazione divisa per l’ampiezza di banda disponibile, più un costo aggiuntivo costante </li></ul><ul><li>Nel caso di rappresentazioni dinamiche, la grandezza esatta non è nota a priori, e viene quindi stimata usando una tabella che specifica una grandezza compressa “tipica” di impostors di taglie differenti </li></ul>
    17. 17. Stima dei benefici di una rappresentazione <ul><li>Accuratezza </li></ul><ul><li>Visibilità </li></ul><ul><li>Importanza </li></ul><ul><li>Visibilità di un cambiamento </li></ul>
    18. 18. Funzione di accuratezza Impostors LOD
    19. 19. Visibilità e isteresi <ul><li>Gli oggetti fuori dal campo visivo hanno visibilità zero </li></ul><ul><li>Per gli oggetti all’interno del campo visivo, la visibilità è definita come il numero di pixel occupati dal rettangolo contenente l’oggetto sullo schermo </li></ul><ul><li>La visibilità degli oggetti parzialmente fuori campo visivo è proporzionalmente ridotta </li></ul><ul><li>L’effetto dell’isteresi non è esplicitamente considerato: il sistema può gradualmente passare da una rappresentazione esistente ad una nuova in un breve periodo di tempo, in modo da ridurre l’isteresi </li></ul>
    20. 20. Beneficio aggiunto <ul><li>Beneficio della rappresentazione corrente </li></ul><ul><li>Proprietà dell’insieme delle rappresentazioni disponibili </li></ul>
    21. 21. Beneficio aggiunto Caso non interattivo Il beneficio aggiunto nell’istante t è
    22. 22. Beneficio aggiunto
    23. 23. Stima & selezione <ul><li>Il numero di rappresentazioni è infinito </li></ul><ul><ul><li>per ogni oggetto ci sono infinite direzioni a partire dalle quali costruire un impostor view-dependent </li></ul></ul><ul><li>Per limitare l’insieme di rappresentazioni da considerare ad ogni istanza, il server effettua la previsione del percorso basandosi sull’informazione del movimento del punto di vista che riceve dal client </li></ul>
    24. 24. Assunzioni <ul><li>Per ogni istanza l’utente può: </li></ul><ul><ul><li>restare fermo </li></ul></ul><ul><ul><li>girarsi </li></ul></ul><ul><ul><li>procedere lungo una linea retta </li></ul></ul><ul><li>Una volta che l’utente ha cominciato un particolare tipo di movimento, è probabile che lo continui in futuro </li></ul><ul><li>Questo consente di scartare molti oggetti per ogni istanza – tutti quelli che non saranno mai visibili finché il movimento continua </li></ul>
    25. 25. Variazioni & movimenti <ul><li>Visuale ferma </li></ul><ul><ul><li>i parametri di vista sono fissi </li></ul></ul><ul><ul><li>l’integrale si riduce al prodotto dei benefici aggiunti e dell’ampiezza dell’intervallo di integrazione </li></ul></ul><ul><li>Rotazione </li></ul><ul><ul><li>si assume che l’oggetto appaia allo stesso modo – vero per proiezioni cilindriche, “abbastanza” vero per proiezioni planari prospettiche con un campo visivo ragionevolmente piccolo </li></ul></ul><ul><ul><li>l’accuratezza resta fissa, si integra solo la visibilità (resta costante finché l’oggetto resta totalmente visibile, cresce o decresce linearmente in caso di “taglio” della visuale)‏ </li></ul></ul>
    26. 26. Variazioni & movimenti <ul><li>Movimento lungo una linea retta </li></ul><ul><ul><li>è come se gli oggetti scorressero lungo un corridoio; la funzione di cut-off determina dove finisce il “corridoio”; l’insieme degli oggetti da considerare varia nel tempo </li></ul></ul><ul><ul><li>l’accuratezza varia col movimento, la visibilità cambia in modo non lineare  per semplicità si integra numericamente sull’intervallo di tempo tra il momento in cui l’oggetto entra nel campo visivo e il momento in cui ne esce </li></ul></ul>
    27. 27. Risultati sperimentali <ul><li>Scenario di riferimento </li></ul><ul><ul><li>839 oggetti, di cui </li></ul></ul><ul><ul><ul><li>256 “mattonelle” del terreno </li></ul></ul></ul><ul><ul><ul><li>538 oggetti che contengono più di 3,2 milioni di poligoni </li></ul></ul></ul><ul><ul><li>Grandezza totale: 116 MB, di cui </li></ul></ul><ul><ul><ul><li>300 K per il terreno e le textures </li></ul></ul></ul><ul><ul><ul><li>il resto sono dati geometrici (incluse le coordinate delle textures) </li></ul></ul></ul><ul><ul><li>Esplorazione lungo un percorso di durata di 230 secondi </li></ul></ul>
    28. 28. Risultati sperimentali
    29. 29. Risultati sperimentali
    30. 30. Link: http://www.cs.huji.ac.il/labs/cglab/papers/streaming/20000.mpg Link: http://www.cs.huji.ac.il/labs/cglab/papers/streaming/allinone.mpg Risultati sperimentali
    31. 31. Quanto è affidabile la previsione del percorso? <ul><li>C. Zach, K. Karner, VIRVis (Virtual Reality and Visualization Research Center), Graz </li></ul><ul><li>Introduce il problema dovuto alla disponibilità di memoria e alle capacità di rendering del client </li></ul><ul><li>Approccio “pessimistico” </li></ul><ul><li>Framework teorico </li></ul>
    32. 32. Lo scenario del caso peggiore <ul><li>Massimizzare l’integrale del beneficio aggiunto non è sufficiente per un sistema di visualizzazione di un ambiente urbano </li></ul>
    33. 33. Beneficio nel caso peggiore
    34. 34. Proprietà del problema di ottimizzazione <ul><li>Al tempo t=0 , nessuna soluzione è fattibile </li></ul><ul><li>Ponendo m ij la memoria richiesta per la rappresentazione r ij e M la memoria totale disponibile sul client, </li></ul><ul><li>Q dipende dalla banda della rete, dalla memoria disponibile sul client, e anche dalla posizione corrente dell’utente </li></ul>
    35. 35. Funzione oggettiva
    36. 36. Vicinanza vicinanza insieme dei “vicini” <ul><li>La successiva decisione dello scheduler avviene al tempo t k +d ij  l’utente ha tempo ε =d ij per spostarsi in maniera completamente diversa dalla previsione </li></ul><ul><li>Tutti i possibili parametri al tempo t k +d ij formano l’insieme di vicinanza </li></ul>
    37. 37. Guadagno & perdita
    38. 38. Policy “greedy” di scheduling Memoria minima Ritorno di rete
    39. 39. Caratteristiche del traffico multimediale <ul><li>Trasmissione real-time </li></ul><ul><li>Tollerante alle perdite, ma non ai ritardi né alle variazioni nei ritardi (jitter) </li></ul><ul><li>Caratteristiche opposte al normale traffico dati che utilizza TCP </li></ul><ul><li>Si preferisce usare UDP </li></ul>
    40. 40. TCP è adatto? <ul><li>TCP reagisce a perdite di pacchetti basate su corruzione rallentando la trasmissione e riducendo la congestion window </li></ul><ul><li>Reazione sbagliata </li></ul><ul><ul><li>non congestione ma corruzione di bit </li></ul></ul><ul><ul><li>degradazione di prestazioni </li></ul></ul>
    41. 41. UDP è adatto? <ul><li>nessun controllo della congestione </li></ul><ul><li>no ACK, no ritrasmissioni </li></ul><ul><li>pacchetti di dati inviati con rate prestabilito dal mittente </li></ul><ul><li>potenziale collasso della congestione </li></ul><ul><li>un flusso UDP “base” non riduce il rate di trasmissione quando si perdono pacchetti </li></ul><ul><li>i flussi UDP aggrediscono i flussi TCP </li></ul>
    42. 42. Trasmissione adattativa: obiettivi <ul><li>Utilizzo efficiente delle risorse </li></ul><ul><li>Reattività alle variazioni di capacità del canale </li></ul><ul><li>Evitare le congestioni  comportamento equo </li></ul><ul><li>Robustezza e stabilità </li></ul>
    43. 43. Architettura di un sistema adattativo <ul><li>Stima delle condizioni del canale </li></ul><ul><ul><li>raccolta statistiche </li></ul></ul><ul><ul><li>elaborazione statistiche </li></ul></ul><ul><li>Trasmissione dei messaggi di feedback </li></ul><ul><li>Algoritmo di controllo </li></ul><ul><ul><li>relazione tra condizioni del canale e rate di trasmissione </li></ul></ul><ul><li>Sistema di variazione del rate di trasmissione </li></ul>
    44. 44. Approcci per il controllo del flusso <ul><li>RAP – Rate Adaptation Protocol </li></ul><ul><li>SR-RTP – Selection Retransmission RTP </li></ul><ul><li>SCTP – Stream Control Transmission Protocol </li></ul><ul><li>TFRC – TCP-Friendly Rate Control </li></ul><ul><li>MUL-TFRC </li></ul><ul><li>Snoop protocol </li></ul>
    45. 45. Reti wireless
    46. 46. Proposta <ul><li>A.Boukerche, R.Werner – University of Ottawa </li></ul><ul><li>Obiettivo: proporre un protocollo efficiente di streaming end-to-end e controllo di flusso per ottenere allo stesso tempo un alto rendimento qualitativo e un’oscillazione limitata del flusso di frames </li></ul><ul><li>Utilizza una previsione del percorso dell’utente assieme ad un monitoraggio della banda e a schemi di controllo di flusso per adattare il tasso di trasmissione </li></ul>
    47. 47. Ambienti virtuali <ul><li>Statici </li></ul><ul><ul><li>gli oggetti non si muovono </li></ul></ul><ul><ul><li>l’unica entità in movimento è la camera virtuale </li></ul></ul><ul><ul><li>ritornando nello stesso punto di osservazione, l’output è lo stesso </li></ul></ul><ul><li>Dinamici </li></ul><ul><ul><li>contiene oggetti (o altri utenti) che si muovono nell’ambiente </li></ul></ul>
    48. 48. Previsione del movimento
    49. 49. Rendering & streaming remoto
    50. 50. Formato dell’header ISP
    51. 51. Formato dell’header ACK
    52. 52. Formato dell’header dell’aggiornamento del viewpoint
    53. 53. Gap inviato e gap ricevuto
    54. 54. Equazione di modifica del tasso di trasmissione Riduzione Aumento One-way trip time
    55. 55. Risultati sperimentali
    56. 56. Bibliografia

    ×