Condividi su:

PlayStation 5 e l’accesso ai dati: un cambio architetturale?

Uno sguardo ad un particolare dell’architettura della nuova console Sony che potrebbe avere ripercussioni anche nel mondo dei Personal Computer

Il 18 marzo 2020 Mark Cerny, Lead System Architect di Sony, fece una presentazione tecnica sull’architettura hardware della futura console PlayStation 5 (PS5).

Questa presentazione non fu molto apprezzata da parte del pubblico, dato che non mostrò ciò che agli appassionati premeva vedere di più: i giochi e il design della console. Inoltre, si rivelò eccessivamente tecnica e inadatta al pubblico generalista.

Essa però conteneva moltissimi dettagli sull’architettura di PS5 e sulle sue caratteristiche: potenza di processore (CPU) e scheda video (GPU), supporto a 8k e 120 FPS, gestione dell’illuminazione (raytracing) hardware, suono ambientale, gestione termica e così via.

In questo articolo ci concentreremo però su un aspetto specifico, a mio avviso cruciale: il trasferimento dati. Qualche tempo dopo quella presentazione, qualcuno disse: “Sono riusciti a far diventare sexy gli SSD”. Che significa? Andiamo per gradi.

I tecnici di Sony, parlando anche con le grandi case di videogames, decisero di implementare un controller customizzato per il trasferimento dati del disco a stato solido (SSD): una console non è “costretta” a seguire un’architettura hardware identica a quella PC (e, in effetti, poche console lo hanno fatto: quelle più simili ai PC sono solo quelle della generazione attuale, Xbox One e PS4).

L’SSD custom di PS5

Questo ha permesso di incrementare le linee di comunicazione interne all’SSD (che quindi non è un normale SSD, già di per se molto più veloce dei dischi meccanici attuali) e di sfruttare la nuovissima interfaccia PCIe 4.0, oltre che di implementare in HW tutta una serie di ottimizzazioni (SoC integrato, coprocessori di I/O, scrubber della cache video, …).

Gli elementi di I/O custom del System-on-Chip (SoC) di PS5

La vera novità però è un’altra: quella di permettere che i dati transitino direttamente tra l’archivio dati (l’SSD) e l’usufruitore, che sia la CPU o la GPU. Nell’architettura PC tradizionale invece, per trasferire i dati tra disco e GPU, occorre passare dalla RAM.

Come se non bastasse, è stato implementato anche un layer di decompressione in harware (Kraken decompressor).

In termini numerici, PS5 è in grado di trasferire 5.5 GB di dati compressi al secondo e decomprimerli mentre vengono trasferiti. Nel caso migliore si parla di 22 GB/s di dati grezzi. Per fare un paragone, un buon SSD per PC ha prestazioni di circa 3.5 GB/s.

Un trasferimento dati estremamente veloce implica sì tempi di caricamento ridotti (di due ordini di grandezza rispetto all’hardware attuale, sostengono i tecnici Sony), ma non è tutto! La richiesta di un dato ora può essere soddisfatta direttamente nel ciclo di rendering attuale, o alla peggio nel successivo: ad un frame rate di 60 FPS (lo standard per i futuri giochi) stiamo parlando di 16 ms di latenza massima.

Quest’ultima affermazione, sulla carta interessante, non ha lasciato il segno più di tanto… finché qualcuno non ha dato una diretta dimostrazione delle implicazioni che delle simili prestazioni comportino veramente.

Il 13 maggio 2020 Epic Games, conosciuta principalmente per il videogioco Fortnite e per essere il creatore del motore grafico Unreal Engine, ha mostrato il nuovo Unreal Engine 5 girare su HW PS5.

Le innovazioni tecnologiche e grafiche sono numerose, ma quella che ci interessa relativamente al discorso I/O è la tecnologia chiamata Nanite.

Epic ha riscritto il sottosistema di I/O del suo software per adattarlo all’hardware PS5 e per sfruttare la maggior larghezza di banda e le latenze ridotte. Il risultato ha sbalordito gran parte degli “addetti ai lavori”, perché il concetto stesso di streaming degli asset è stato portato ad un nuovo livello.

Unreal Engine 5 su PS5: viene mostrato l’alto dettaglio grafico e l’illuminazione globale in tempo reale

Su disco ora risiede l’intera geometria da renderizzare, non semplificata, e ad ogni frame l’engine si preoccupa di prelevare da essa solo i triangoli che andranno effettivamente a comporre l’immagine su schermo.

In fase di creazione degli asset, le geometrie non devono più essere semplificate in versioni low poly e i dati non devono più essere trasferiti a runtime nella RAM. Inoltre, sempre in fase di creazione, non è più necessario creare mappe di texture per simulare in maniera fittizia i dettagli degli oggetti, dato che le geometrie, arbitrariamente complesse, possono essere direttamente utilizzate.

Visualizzazione delle geometrie della scena di Unreal Engine 5: i singoli triangoli sono talmente piccoli che l’occhio umano non riesce a distinguerli

Stando alla presentazione, è possibile avere su disco scenari composti da miliardi di triangoli (ben più che qualsiasi sistema sia in grado di riprodurre in tempo reale) e utilizzare questa base dati per renderizzare ad ogni frame, 60 volte al secondo, solo quelli effettivamente utili a riprodurre l’immagine da mostrare a schermo (nell’ordine di 10-20 milioni, equivalente alle capacità attuali di un PC di fascia alta).

Nanite sembra essere il sacro graal della computer graphics, infatti comporta vantaggi tali da stravolgere in parte il processo creativo di contenuti 3D realtime (rimasto pressoché inalterato negli ultimi 20 anni):

  • la creazione degli asset è enormemente velocizzata, dato che intere fasi di lavorazione ora possono essere evitate (semplificazioni, creazione di livelli di dettaglio – LoD, materiali e mappe);
  • gli asset per i contenuti realtime (videogiochi, serious games, …) e prerenderizzati (film, animazione, …) possono essere gli stessi, avvicinando sempre di più i due mondi;
  • in fase di visualizzazione è possibile usufruire, in tempo reale, di un livello di dettaglio delle geometrie semplicemente impensabile fino ad ora.
Unreal Engine 5 su PS5: ogni statua è composta da più di 33 milioni di triangoli

Tim Sweeney, CEO di Epic Games, ha detto: “For PC enthusiasts, the exciting thing about the PS5 architecture is that it’s an existence proof for high bandwidth SSD decompression straight to video memory. Is this enough to get Microsoft, Intel, NVIDIA, Intel, and AMD to work together and do it? We’ll see!”. Traducendo liberamente: “La parte eccitante di PS5 è che è la prova materiale del trasferimento ad alta velocità e decompressione direttamente nella memoria video. Sarà sufficiente a far sì che Microsoft, Intel, NVIDIA, Intel e AMD lavorino assieme per realizzarla (nei PC)?”.

Senza entrare nel merito della cosiddetta console war (tanto cara agli appassionati di Sony e Microsoft), vorrei precisare che si tratta solo di un tassello del puzzle che decreterà il successo di questa o quest’altra console. Posso però affermare che Sony ha effettuato delle scelte sicuramente originali in termini architetturali. Microsoft, a dirla tutta, sta seguendo un approccio non del tutto dissimile (lo chiamano DirectStorage), ma la soluzione Sony sembra avere una marcia in più.

Quello che sarà interessante vedere, piuttosto, sarà come il mondo PC reagirà a questa innovazione e come gli sviluppatori sapranno interpretarla per utilizzarla al meglio. E non parlo solo di videogiochi, ma anche del mondo professionale: al giorno d’oggi i progetti CAD possono tranquillamente raggiungere diversi TeraByte di dimensione su disco, e poterli vedere in tempo reale su di uno schermo (o perché no, in realtà virtuale o aumentata) porterebbe dei guadagni enormi in termini di efficienza ed efficacia di progettazione/testing/training.

di Christian Bar

Orbyta Tech

VR/AR Specialist

#jointherevolution