Analisi cloud computing: Xbox One tra promesse e realtà

Analisi dettagliata del cloud che propone una valutazione oggettiva delle reali potenzialità del progetto avviato da Microsoft su Xbox One

300.000 server dedicati per una potenza di calcolo complessiva pari a 5 Teraflops: questi i numeri snocciolati all’E3 2013 da Marc Whitten, chief product officer di Microsoft, per presentare le potenzialità latenti della nuova Xbox One e illustrare i vantaggi del Cloud gaming. Era il mese di maggio e ben poco ancora si sapeva sulle specifiche tecniche delle nuove console next-gen, salvo che con ogni probabilità PlayStation 4 sarebbe arrivata sul mercato con un’architettura completamente PC friendly e 8GB di RAM GDDR5 destinati a fare la differenza.

Per Xbox One la situazione non era delle più rosee: dopo il dietrofront sull’obbligo di convalida online dei giochi e la lunga intervista rilasciata dagli ingegneri di Redmond per giustificare la scelta delle memorie DDR3, che aveva suscitato più di qualche perplessità tra la stampa specializzata, per Microsoft era maturato l’obbligo di ristabilire l’immagine della sua nuova console agli occhi dei videogiocatori. Le dichiarazioni di Whitten nascevano in un contesto di forte incertezza e avevano il preciso scopo di indurre l’opinione pubblica a rivalutare le potenzialità dell’hardware di Xbox One attraverso il Cloud Computing, presentato come panacea di tutti i mali.

Negli ultimi mesi sul Cloud molto si è detto e altrettanto si è scritto: sul web sono comparse opinioni contrastanti e ad oggi non è facile dare il giusto peso alle parole di Whitten per poter valutare in modo oggettivo il reale impatto che le scelte di Microsoft avranno sul gaming next-gen. In questo articolo cercheremo di fare chiarezza sul tema scottante del Cloud computing e vi spiegheremo perchè, al di là delle dichiarazioni di circostanza legate al marketing, i tempi non sono ancora maturi affinché i proclami di Microsoft possano trovare conferma nel mondo reale del gaming.




CHE COS’È IL CLOUD GAMING


Di Cloud computing si parla già da diversi anni e la tecnologia è stata sperimentata con successo in diversi campi, guadagnandosi ampi consensi in particolar modo nel mondo accademico. Il Cloud nasce originariamente come soluzione alla limitata capacità di calcolo dei moderni sistemi informatici, soprattutto in relazione ad algoritmi complessi che richiedono di processare enormi quantità di dati in breve tempo. L’idea è quella di distribuire i calcoli tra diversi client che cooperano all’interno di un’infrastruttura di rete, per aumentare così la potenza di elaborazione complessiva del sistema; in questo contesto i vantaggi dell’approccio de-localizzato del Cloud computing sono evidenti, soprattutto nel momento in cui vi è la necessità di trattare modelli matematici complessi che richiedono l’utilizzo di procedure algoritmiche il cui tempo di esecuzione cresce in modo esponenziale all’aumentare delle dimensioni dell’input.

Una volta consolidatasi, la tecnologia di Cloud computing è stata applicata in contesti molto differenti da quello di origine. Negli ultimi anni, in particolare, è approdata anche nel mondo del gaming: inizialmente il principio del Cloud è stato sfruttato per immagazzinare dati locali relativi a progressi di gioco, salvataggi e registrazione/streaming di video; oggi le frontiere della tecnologia si sono espanse ulteriormente e l’idea è quella di sfruttare l’elaborazione remota anche per processare informazioni relative alla gestione in real-time dei dati di gioco (streaming texture, effetti di post-processing, routine di intelligenza artificiale, etc..).

L’approccio adottato da Microsoft segue proprio questa filosofia: l’intenzione dei progettisti di Xbox One è quella di fornire un’infrastruttura di calcolo che sia in grado, grazie ai 300.000 server dedicati, di alleggerire il carico di lavoro imposto dai videogiochi alla console, per poter così aumentare sia le prestazioni della piattaforma che le potenzialità degli engine grafici sviluppati dalle software house. In teoria, il Cloud gaming potrebbe consentire agli sviluppatori di progettare titoli ambientati in mondi più vasti e dettagliati, caratterizzati da routine di IA molto più complesse di quelle attualmente in circolazione e da effetti di illuminazione globale migliori; in pratica, però, sussistono precise limitazioni tecniche che potrebbero frenare l’ascesa delle tecnologie di Cloud gaming ancora per diversi anni.

Il problema è di primaria importanza per i futuri sviluppi della next-gen e merita un ulteriore approfondimento: nel proseguo dell’articolo tratteremo dapprima i dettagli tecnici del progetto Cloud di Microsoft, esplicitandone le potenzialità teoriche, dopodiché tratteremo in modo sintetico i principali limiti tecnici che un tale approccio potrebbe incontrare lungo il suo complicato percorso di crescita.




COME FUNZIONA “LIVE CLOUD”


Il Cloud gaming di Xbox One si appoggia ad una delle infrastrutture di calcolo distribuito più ampie ed efficienti nel mondo business: figlia del progetto Azure, avviato nel 2010, la rete di server dedicati creata da Microsoft può contare sull’apporto di circa 300.000 unità di elaborazione fittamente interconnesse, strutturate sul modello “Platform as a Service” (PaaS). La potenza di elaborazione complessiva garantita dalla piattaforma è difficile da calcolare, ma prestando fede alle parole di Marc Whitten assumeremo che, limitatamente all’apporto assicurato per il Cloud gaming, sia quantificabile in media nell’ordine dei 5 Teraflops. Per farsi un’idea delle cifre di cui stiamo parlando basti considerare che l’attuale scheda grafica top di gamma di nVidia, la GeForce Titan, si ferma a “soli” 4,5 Teraflops.

Come verrà sfruttata questa potenza di calcolo durante l’esecuzione dei videogiochi? Per capirlo, occorre avere ben chiara la struttura complessiva di un engine grafico. Tipicamente (e in sintesi), un engine è costituito da alcuni elementi fondamentali:


Fisica di gioco (ambientale, locale, in real-time)

Setup e ottimizzazione dei triangoli renderizzati

Tessellation

Texturing

Shading

Operazioni di rendering

Calcoli relativi all’illuminazione dinamica/globale

Effetti di post-processing

Calcoli di AI in tempo reale

Routine di AI globali


Per poter renderizzare una scena in tempi accettabili e senza lag, molti di questi elementi devono essere trattati in tempo reale da CPU e GPU integrate nella console.

Facciamo un esempio pratico: stiamo giocando ad un FPS e colpiamo un nemico con una raffica di mitra. La CPU calcola in tempo reale la reazione e lo status del nemico, il comportamento degli npc circostanti, l’effetto dell’impatto generato dai proiettili e altri elementi secondari; la GPU, nel frattempo, si occupa di renderizzare gli effetti particellari, l’illuminazione generata dallo sparo, la variazione dinamica delle ombre, la trasformazione delle texture (sangue, etc..) e così via. Le informazioni da processare viaggiano sul bus di sistema ad una velocità molto elevata, perchè supponento un framerate di 30 FPS, CPU e GPU devono accedere ai dati ed elaborare il frame in un tempo non superiore ai 33 millisecondi; in caso contrario, la console non riuscirà a restituire l’output richiesto e si verificherà un lag.

Questi elementi “sensibili” non possono essere trattati via Cloud, perchè il tempo necessario per il transito delle informazioni da client a server (andata e ritorno) sarebbe molto superiore ai 33 millisecondi teorici richiesti. Esistono però alcuni dati che non necessitano di essere calcolati in real-time. Pensiamo ad esempio all’IA globale o al Time of Day, che non sono direttamente legate al rendering dei frame: in un mondo di gioco ampio e strutturato ci sono routine che vengono calcolate dalla CPU al caricamento del livello, o la cui elaborazione (nel caso di caricamenti in streaming) anticipa abbondantemente il momento in cui verranno utilizzate. In questo caso il Cloud computing può rivelarsi molto utile, perchè consente a CPU e GPU di demandare una consistente mole di calcoli – soprattutto quelli che avvengono in background – a un server remoto.

Un altro esempio è quello del texturing: grazie alla tecnica di piastrellizzazione implementa nelle API per sfruttare la ESRAM di Xbox One, che consente di comprimere in soli 32MB di spazio informazioni relative a 6GB di texture, una piccola parte dei dati richiesti dalla GPU per “ricoprire” i modelli tridimensionali può essere inviata tramite Cloud per un’elaborazione remota. Vale un discorso simile anche per i dati richiesti dalla CPU: grazie all’algoritmo LZ, le informazioni possono essere compresse sfruttando uno degli otto core del processore, inviate tramite Cloud per essere processate in remoto e successivamente decompresse. Il decoding dei dati, nel caso specifico di Xbox One, avviene a circa 200 MB/sec, il che lascia una finestra piuttosto ampia per scongiurare l’avvento di lag imprevisti.

A beneficiare dell’approccio Cloud gaming sarebbero soprattutto titoli open-world sul modello di Skyrim e GTA, in cui i programmatori potrebbero arricchire il mondo di gioco introducendo dettagli da elaborare in remoto (AI globale, illuminazione, streaming texture). Con una programmazione ad hoc, immaginare un mondo di gioco che evolve costantemente anche quando l’utente non sta giocando non sarebbe più un’utopia.




NON È TUTTO ORO CIÒ CHE LUCCICA


Per quanto l’approccio al Cloud gaming adottato da Microsoft potrebbe sembrare vantaggioso, esistono precisi limiti tecnici che impediscono – e impediranno per molti anni – di tradurre nella pratica tutti i benefici garantiti a livello teorico. Innanzitutto, l’affidabilità e l’efficienza del Cloud gaming non possono prescindere da qualità e velocità della connessione internet tramite cui la console comunica con i server remoti. I problemi da affrontare, nel caso specifico, sono molteplici:


– La velocità della connessione non è uniforme in tutte le nazioni, e una bandwidth media di 30 Mbps non è sufficiente a garantire un corretto funzionamento del Cloud: il problema si pone soprattutto in Italia, dove molti paesi appartengono ancora alla fascia digital-divide (640 Kbps). Nelle grandi città la situazione non è certo migliore, perchè le connessioni da 100 Mbps sono ancora troppo poco diffuse e nella maggior parte dei casi incapaci di garantire una bandwidth minima sufficiente a supportare il transito dei dati via Cloud.


– La latenza della rete è in media troppo elevata per supportare in modo adeguato il Cloud gaming.


– Per essere sfruttato a dovere, il Cloud gaming richiede che i videogiochi siano programmati ad hoc.


In aggiunta, anche se l’idea di Microsoft dovesse essere supportata dallo sviluppo di connessioni più veloci la maggior parte dei videogiochi basati su rendering in real-time (in particolare FPS e racing games) difficilmente potrà beneficiare del Cloud computing. Rimane da valutare poi l’effettiva “capienza” dei server dedicati: con più di 3,8 milioni di utenti attivi, numero destinato a crescere nel tempo, non è detto che l’infrastruttura basata su Azure sarà in grado di garantire a ciascuno i 5 Teraflops teorici di potenza in più che sono stati promessi.




CONCLUSIONI


Il concetto di Cloud computing applicato ai videogiochi è interessante e ricco di potenzialità: le prospettive sono enormi, ma valutandole in modo obiettivo è inevitabile scontrarsi con una serie di limitazioni tecniche che ad oggi impediscono all’idea di Microsoft di avere un impatto reale nel mondo del gaming, e che probabilmente influiranno anche sui futuri sviluppi del progetto. Per il momento, quindi, le dichiarazioni di Whitten suonano solo come un’abile strategia di marketing, e nulla più.


Se avete trovato utile la nostra analisi, vi invitiamo a dare un’occhiata alla precedente serie di articoli dedicata al confronto tra le specifiche hardware di Xbox One e PlayStation 4: la troverete qui.

(St.S.)

TV

Anticipazioni Una Vita: quale sarà il destino di German?

German e Manuela sono morti, eppure anticipazioni spagnole fanno sperare in un ritorno della Manzano, cosa ne sarà invece del suo amato Medico?

Gossip

L’ultima esterna di Claudio e Mario: video

Claudio e Mario “paparazzati” da una fan nell’ultima esterna insieme a Napoli. L’esterna è stata registrata tre giorni fa, i due ragazzi erano nel capoluogo campano […]

TV

Il Segreto Anticipazioni Spagnole: Francisca ha ucciso Salvador Castro

Anticipazioni provenienti dalla Spagna scagionano Soledad, non è lei ad aver ucciso Salvador Castro…

Gossip

Nove mila euro alla Arcuri per accendere un albero di Natale

Sarà Manuela Arcuri la madrina per l’accensione dell’Albero di Natale a Salerno. Un evento tradizione che da il via ai festeggiamenti pubblici organizzati nella città ogni […]

Musica

Tiziano Ferro raddoppia i concerti a Roma e Milano

Il 2017 segnerà l’atteso ritorno live di Tiziano Ferro. Dopo il grande tour negli stadi italiani e nei palazzetti europei del 2015, Tiziano torna finalmente […]

Gossip

Uomini e donne, oggi la scelta di Claudio Sona!

L’attesa è finita. Oggi, Venerdì 2 Dicembre, si concluderà il trono gay di Uomini e Donne con la scelta di Claudio.  Scelta che sarà tra […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Tag