D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche



Documenti analoghi
D3.3 Documento illustrante le metodologie di interfacciamento tra il visualizzatore remoto e il portale EnginFrame in ambiente Cloud.

Introduzione alla Virtualizzazione

VMware. Gestione dello shutdown con UPS MetaSystem

Architetture software. Virtualizzazione

Registratori di Cassa

La virtualizzazione ed i suoi aspetti di sicurezza. Sergio Sagliocco Responsabile SecureLAB Direzione R&D CSP

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Approccio stratificato

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

FileMaker Pro 13. Utilizzo di una Connessione Desktop Remota con FileMaker Pro13

Virtualizzazione VirtualBox su Host Windows

Accesso Remoto: Che cos'è Q uali programmi si utilizzano Come si effettua (teoria) Q uando è utile

SIMULAZIONE PROVA SCRITTA ESAME DI STATO. PER LA DISCIPLINA di SISTEMI

Premessa Le indicazioni seguenti sono parzialmente tratte da Wikipedia ( e da un tutorial di Pierlauro Sciarelli su comefare.

Architettura di un sistema operativo

I sistemi virtuali nella PA. Il caso della Biblioteca del Consiglio Regionale della Puglia

IT Cloud Service. Semplice - accessibile - sicuro - economico

Database. Si ringrazia Marco Bertini per le slides

PORTALE CLIENTI Manuale utente

C Cloud computing Cloud storage. Prof. Maurizio Naldi

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

Hardware delle reti LAN

03. Il Modello Gestionale per Processi

Note di rilascio. Aggiornamento disponibile tramite Live Update a partire dal. Il supporto per Windows XP e Office 2003 è terminato

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Progettaz. e sviluppo Data Base

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

facilitated contacts makes work easier

LE POSSIBILITA' DI ACCESSO DA REMOTO ALLE RETI DI CALCOLATORI

Guida alla registrazione on-line di un DataLogger

Virtualizzazione e Macchine Virtuali

WorkFLow (Gestione del flusso pratiche)

1) GESTIONE DELLE POSTAZIONI REMOTE

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS

Introduzione al sistema operativo Il file system: file, directory,...

Creare una Rete Locale Lezione n. 1

Linux nel calcolo distribuito

Il Sistema Operativo

Procedura per la configurazione in rete di DMS.

Documentazione illustrativa

The Onion PC. Virtualizzazione strato dopo strato

Manuale Utente Albo Pretorio GA

e-dva - eni-depth Velocity Analysis

Concetti di base di ingegneria del software

Comprendere il Cloud Computing. Maggio, 2013

TERM TALK. software per la raccolta dati

Il tutto a meno, e spesso a molto meno, del costo di un caffé al giorno

Approfondimento: Migrazione dei database e backup della posta

Dipartimento di Scienze Applicate

SERVER E VIRTUALIZZAZIONE. Windows Server Guida alle edizioni

InitZero s.r.l. Via P. Calamandrei, Arezzo

PROTOS GESTIONE DELLA CORRISPONDENZA AZIENDALE IN AMBIENTE INTRANET. Open System s.r.l.

Una delle cose che si apprezza maggiormente del prodotto è proprio la facilità di gestione e la pulizia dell interfaccia.

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

ANALISI DELLE TECNOLOGIE INTEL-VT E AMD-V A SUPPORTO DELLA VIRTUALIZZAZIONE DELL'HARDWARE

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).

lem logic enterprise manager

Firewall applicativo per la protezione di portali intranet/extranet

Finalità della soluzione Schema generale e modalità d integrazione Gestione centralizzata in TeamPortal... 6

Verifica scritta di Sistemi e Reti Classe 5Di

Automazione Industriale (scheduling+mms) scheduling+mms.

Gestione catalogo e ordini

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Progetto Virtualizzazione

INNOVAZIONE XNOTTA PER PORTALI TURISTICI

Online Help StruxureWare Data Center Expert

Il controllo della visualizzazione

Cross Software ltd - Prosyt srl. Maximum extent of technology Il gestionale più avanzato sul mercato. Pag. 1

PROCEDURE DI FIRMA PER I PIP PRESENTATI NEI BANDI APPRENDISTATO

uadro Soluzioni software per L archiviazione elettronica dei documenti Gestione Aziendale Fa quadrato attorno alla tua azienda

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Base di dati e sistemi informativi

Virtualization. Strutturare per semplificare la gestione. ICT Information & Communication Technology

Sistemi Operativi. Conclusioni e nuove frontiere

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

Sicurezza e rispetto della privacy, finalmente non in conflitto.

PRESENTAZIONE. Chi è B-Bright

ICARO Terminal Server per Aprile

SPRING SQ COMUNICAZIONE OPERAZIONI IVA NON INFERIORI A 3000 EURO PER L ANNO 2011

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Software per Helpdesk

Nota Tecnica UBIQUITY 5 TN0019. Il documento descrive le novità introdotte con la versione 5 della piattaforma software ASEM Ubiquity.

Power-Studio è un semplice, veloce potente ed intuitivo applicativo software di monitoraggio e supervisione energetica che consente di realizzare:

CLOUD AWS. #cloudaws. Community - Cloud AWS su Google+ Amazon Web Services. Servizio Amazon Storage Gateway

Collegamento remoto vending machines by do-dots

IL CENTRALINO VoIP. Schema progetto: Work-flow. Hydra Control

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

PROGETTO PON/FESR

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Transcript:

D3.1 Documento di analisi della visualizzazione 3D in ambiente Cloud e relative problematiche Il Cloud Computing La visualizzazione nella Cloud Problematiche Virtualizzazione della GPU Front end Virtualization Back end Virtualization NICE DCV DCV in Native Display Mode DCV in Display Isolation Mode DCV con External 3D Rendering Soluzione proposta Il Cloud Computing Il Cloud Computing è caratterizzato da un elevata dinamicità rispetto all utilizzo dell hardware, dello storage e delle altre risorse computazionali. L ambiente è virtualizzato e le risorse vengono offerte agli utenti sotto forma di servizio esposto su Internet. Quando la visualizzazione di un modello 3D viene fatta su un computer desktop o su un dispositivo mobile, le performance sono limitate, viceversa se la visualizzazione 3D viene effettuata in macchine con hardware grafico dedicato le performance sono sicuramente soddisfacenti. Un trasferimento efficiente dei dati, utilizzando rappresentazioni compatte di modelli e risultati, così come un completo utilizzo dell hardware, sono elementi chiave della visualizzazione remota 3D in ambito Cloud. Il tema di questo progetto si focalizza sull ambito 3D e riveste quindi molta importanza la gestione efficiente dell hardware grafico, la condivisione in ambito Cloud tra più macchine virtuali, le performance, l affidabilità e l isolamento. L industria utilizza correntemente molteplici rappresentazioni delle stesse realtà in fase di simulazione, modellazione e visualizzazione. La conversione tra queste diverse rappresentazioni riduce la qualità e introduce dei colli di bottiglia nel flusso dei dati.

Scopo di questo progetto è risolvere il problema della visualizzazione interattiva in alta qualità, sfruttando la potenza computazionale delle più efficienti GPU. La visualizzazione nella Cloud Lo spostamento della visualizzazione dei risultati delle simulazioni nella Cloud ha un importante effetto positivo, in particolare per utenti di tipo industriale che lavorano in infrastrutture con elevati standard di sicurezza. Poichè il rendering complesso viene effettuato sulle GPU collocate nella Cloud, un semplice visualizzatore lato client può essere utilizzato per accedere alla rappresentazione dei risultati, senza dover spostare i dati dal datacenter. La visualizzazione con rendering 3D in ambiente Cloud permette l esecuzione di applicazioni complesse consentendo all utente remoto di interagire con l applicazione, come se stesse lavorando sulla propria macchina locale, consentendogli inoltre di poter condividere con altri utenti remoti i risultati ottenuti dal proprio lavoro. Questo tipo di soluzione permette l utilizzo interattivo da remoto di applicativi 3D anche in modalità cooperativa tra utenti diversi, favorendo la creazione di ambienti collaborativi nei quali è possibile condividere risultati, documenti ed informazioni senza dover spostare i dati, sempre più voluminosi in termini di dimensioni, dal sito di supercalcolo in cui sono stati memorizzati. Problematiche Le principali problematiche per questo tipo di soluzione sono: Condivisione delle risorse hardware delle schede video di fascia alta tra una molteplicità di utenti e diversi sistemi operativi. Ottimizzazione del bilanciamento tra banda di connessione utilizzata per la trasmissione delle immagini 3D e frame rate delle immagini, parametro che fornisce una indicazione sulla percezione di interattività con l applicazione per l utente che utilizza l applicazione stessa. Queste prime due problematiche hanno come comune denominatore la performance del sistema: occorre garantire la condivisione delle risorse applicative verso un numero potenzialmente alto di utenti: se l infrastruttura applicativa non è correttamente progettata, sia fisicamente sia applicativamente, si possono verificare rallentamenti, se non anche l interruzione del servizio, che vanno a colpire al cuore la continuità operativa. L assicurazione della qualità del servizio in termini di efficienza non può prescindere dal dimensionamento delle dotazioni infrastrutturali fisiche o virtualizzate. Altre problematiche presenti nella visualizzazione in ambiente cloud sono: Permettere la cooperazione e visualizzazione tra utenti o gruppi di utenti in modo semplice e trasparente per gli stessi utenti.

Garantire un ROI (Return On Investment) adeguato. Realizzare una cloud e nello specifico una cloud per la visualizzazione 3D non può prescindere dalla spesa per l infrastruttura. Garantire adeguati standard di sicurezza prestando massima attenzione agli accessi in termini di sicurezza e affidabilità. Virtualizzazione della GPU Esistono vari approcci alla virtualizzazione della GPU e possono essere utilizzati alcuni importanti criteri per valutarli: le performance, l affidabilità, la possibilità di condividere l hardware, l interposizione e l isolamento. I primi due si focalizzano sul minimizzare i costi della virtualizzazione: gli utenti desiderano performance comparabili e un accesso completo all hardware fisico. Gli ultimi tre enfatizzano il valore aggiunto della virtualizzazione: virtualizzare vuol dire fondamentalmente abilitare più istanze virtuali di un entità fisica, utilizzandone una sua astrazione e garantendo in questo modo l isolamento, una gestione migliore delle risorse, una portabilità a livello di macchina virtuale e altre caratteristiche legate alla separazione tra l hardware virtuale e quello fisico. Ci sono casi d uso differenti: per l utilizzo di applicazioni non 3D, come word processors o simili, in cui è vantaggioso usare tecnologie che permettono la condivisione delle risorse; per un utente che necessita di un software CAD, o di una applicazione 3D, come nel nostro caso, dove è necessario focalizzarsi maggiormente alle performance e all affidabilità. Queste caratteristiche sono spesso in opposizione tra loro (ad esempio le performance vanno alle spese dell interposizione) e descriveremo nel seguito un analisi delle possibilità. Ad alto livello possiamo raggruppare le tecnologie in due categorie: front end applicativo) e back end (a livello hardware). (a livello

Figura 1. Tassonomia della virtualizzazione GPU Front end Virtualization La virtualizzazione a livello applicativo introduce uno strato di virtualizzazione ad alto livello nello stack. Questo approccio non si basa su uno specifico modello di GPU. L'accesso alla GPU è interamente mediato attraverso le API fornite dal vendor stesso e l interazione dell utente è al solo livello software. Le GPU attuali consentono alle applicazioni molti "contesti" indipendenti ed in questo modo vi è una facile condivisione delle risorse. Tuttavia, se ci si spinge troppo verso l interposizione e quindi il livello di astrazione è troppo elevato vi è una perdita nelle performance. Le tecniche di front end si muovono tra due estremi: la remotizzazione delle API, nella quale le chiamate alle API grafiche vengono inviate dal sistema operativo virtuale verso lo stack grafico esterno tramite chiamate a procedure remote e l emulazione dell hardware grafico, nel quale una GPU virtuale viene emulata e vengono sintetizzate le operazioni grafiche in risposta alle richieste dei driver virtuali.

Figura 2. Remotizzazione delle API Figura 3. Emulazione dell Hardware

Questi due estremi hanno seri svantaggi che possono essere superati da soluzioni intermedie. La pura remotizzazione delle API è semplice da implementare, ma sacrifica completamente l interposizione e implica il dover intercettare e reindirizzare correttamente un numero molto ampio di chiamate grafiche. La pura emulazione dei driver invece eccelle per quanto riguarda l interposizione e per quanto riguarda l interfaccia, ma è molto complicata e non ben documentata. Back end Virtualization Nelle tecniche di back end virtualization i driver grafici si trovano all interno della macchina virtuale e lo strato di virtualizzazione si trova vicino all hardware GPU. Queste tecniche hanno come vantaggi le alte performance e l affidabilità dei risultati, mentre la condivisione delle risorse e specialmente l interposizione sono delle grosse sfide. Poichè la VM interagisce direttamente con l hardware, il suo stato di esecuzione è vincolato al modello e al vendor della GPU stessa. Comunque l esposizione dell hardware nativo all interno della VM è una soluzione eccellente per l affidabilità, l utente avrà infatti a disposizione l intero insieme delle caratteristiche hardware. La tecnica più ovvia di virtualizzazione di back end è quella nota come fixed pass through : ovvero l associazione permanente di una VM con accesso esclusivo ad una GPU fisica. Dei chipset recenti, come VT d di Intel, permettono il pass through in maniera semplice, senza dover avere speciali conoscenze relative alla programmazione delle GPU o alle relative interfacce. Comunque il fixed pass through non è una soluzione generale. Si rinuncia completamente alla condivisione delle risorse è questa non è una soluzione fattibile.

Figura 4. Pass through permanente Un estensione del fixed pass through è il mediated pass through. Come già menzionato, le GPU supportano già dei contesti multipli e indipendenti, e il mediated pass through si occupa di dedicare un contesto, o una serie di contesti, ad una VM, anzichè l intera GPU. Questo permette la condivisione della risorsa hardware, ma ha dei costi aggiuntivi: l hardware della GPU deve supportare questa modalità di condivisione dei contesti, in modo tale che questi possano essere mappati ed allocati a differenti macchine virtuali, con basso overhead. Inoltre ogni contesto deve apparire come un dispositivo logico completo e i driver della VM devono essere in grado di gestirlo. Questa tecnica deficita sicuramente per quanto riguarda l interposizione, a parte l isolamento di base. Strategie utilizzanti paravirtualizzazione o standardizzazione di un insieme di caratteristiche hardware potrebbero migliorare questa limitazione. Esistono altre tecniche in fase di sviluppo come NVIDIA GRID VGX che permette la condivisione delle risorse con le macchine virtuali tramite caratteristiche a livello hardware.

Figura 5. Pass through mediato NICE DCV Il visualizzatore remoto NICE DCV permette l utilizzo in tre modalità: DCV in Native Display mode DCV in Display Isolation mode DCV con External 3D Rendering DCV in Native Display Mode La modalità Native Display viene utilizzata nel caso di connessione singola o in una configurazione dove più endstations condividono la stessa sessione grafica. Questa modalità è utilizzabile su macchina fisica Windows con scheda grafica. L Application host invia immagini compresse alle endstations DCV connesse.

Figura 6. DCV in Native Display Mode DCV in Display Isolation Mode La modalità Display Isolation fornisce un desktop virtuale sull Application host. In questa modalità è possibile creare più desktop virtuali X11 nell application host per essere visualizzati remotamente. Con l endstation è possibile eseguire un applicazione nel desktop remoto utilizzando l accelerazione hardware per il rendering 3D. Tutte le sessioni virtuali restano separate e indipendenti le une dalle altre. Questa modalità è utilizzabile ad esempio nel caso di macchina Linux collegata ad una scheda grafica, nella quale più utenti differenti possono collegarsi contemporaneamente a sessioni differenti condividendo la stessa scheda. Figura 7. DCV in Display Isolation Mode

DCV con External 3D Rendering Un Application Host DCV può essere configurato per delegare il rendering della parte 3D ad un rendering host separato. In questo caso le applicazioni OpenGL verranno eseguite in un application host che non necessita di accelerazione 3D hardware e il rendering OpenGL verrà delegato al rendering host equipaggiato con uno o più acceleratori 3D hardware. Questa configurazione permette alle macchine virtuali di fungere da application host anche se l hardware virtuale emulato dall hypervisor non permette l accelerazione OpenGL. Questa modalità è utile per gestire una sorta di multi utenza Windows. Per limitazioni date dal sistema operativo stesso, Windows permette l accesso alla macchina di un solo utente per volta. Con questa modalità l hardware grafico verrà condiviso con più macchine virtuali. Figura 8. DCV con External 3D Rendering Per ulteriori informazioni riguardo le modalità di utilizzo di NICE DCV riferirsi alla guida: http://www.nice software.com/storage/nice dcv/.2012/docs/nice dcv guide 2012.0 4557.pdf Soluzione proposta Tenendo conto delle problematiche discusse e a seguito di un analisi delle caratteristiche tra i principali software di remotizzazione utilizzabili per la visualizzazione 3D in ambiente Cloud, si è scelto di sviluppare il software NICE DCV ed il portale EnginFrame. Oltre a superare le problematiche esposte per la visualizzazione 3D in ambiente Cloud, gli sforzi nello sviluppo di tale soluzione saranno mirati a permettere l avvio di sessioni di visualizzazione multiple sullo stesso nodo grafico supportare la virtualizzazione, tramite cui le macchine virtuali possono venir dimensionate e configurate in base ai requisiti delle applicazioni o dei modelli grafici che dono essere elaborati.

Dal punto di vista delle tecniche di virtualizzazione dell hardware 3D ci si focalizzerà su un approccio misto. Verrà utilizzato il pass through per esportare l hardware fisico ad un primo livello di virtualizzazione, a livello di Cloud, in una macchina virtuale Linux. Questa macchina virtuale verrà utilizzata per condividere delle sessioni grafiche 3D su Linux, condividendo quindi la risorsa hardware tramite pass through verrà garantito quindi un ottimo livello di performance e affidabilità e grazie alla possibilità data dal sistema operativo Linux nella gestione delle utenze e dei display X e alla modalità Display Isolation fornita da DCV verrà garantita anche un buon livello di isolamento e di condivisione della risorsa hardware. Inoltre la stessa macchina virtuale verrà utilizzata come Rendering server esterno, utilizzando quindi una modalità 3D External Rendering di DCV che permette una virtualizzazione della GPU a livello delle API. Le macchine virtuali Windows della Cloud non avranno quindi a disposizione un hardware fisico, ma le chiamate OpenGL verranno intercettate e dirette verso la macchina Linux che fungerà da rendering server. Questo tipo di soluzione limita le performance e l affidabilità ma garantisce sicuramente un alto livello di isolamento, interposizione e condivisione delle risorse. Con questa soluzione avremo quindi modo di approcciare due differenti tipi di virtualizzazione della GPU, creando un ambiente complesso che ci permetterà quindi di valutare un alto numero di casistiche. La soluzione proposta verrà valutata sulla base delle difficoltà implementative e delle problematiche tecniche che andremo a incontrare nello sviluppo del progetto.

NICE DCV + EnginFrame EO D Citrix XenApp Citrix XenDesktop Microsoft RemoteFX HP RGS Turbo VNC Linux: OpenGL X X X X Linux: OpenGL 3.x/4.x X X Linux: sharing GPU X X X Windows: OpenGL Windows: DirectX Windows: GPU sharing X X X 1.x X X X X X X X X X Session Broker X Windows only Windows only Collaboration X X X GPU applicance Windows only Tabella 1. Confronto visualizzatori remoti