delete

Contattaci

back to resources

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

data
22/6/2020
data progetto
autore
Christian Bar
cliente
partnership
url
No items found.

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 pre-renderizzati (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.

Articolo a cura di Christian Bar, Orbyta Tech VR/AR Specialist

Risultati

resources

L'ascesa del Prompt Designer: trasformare il design nell'era dell'AI generativa

L'ascesa del Prompt Designer: trasformare il design nell'era dell'AI generativa

Prompt

Design

AI Generativa

AI Designer

Le nuove linee guida per la sicurezza delle password aziendali

Le nuove linee guida per la sicurezza delle password aziendali

Password aziendali

Linee guida Garante Privacy

Garante Privacy

GDPR

6 motivi per scegliere Flutter nel 2024

6 motivi per scegliere Flutter nel 2024

App Development

Google

React Native

AI, sistemi esperti e rappresentazione della conoscenza

AI, sistemi esperti e rappresentazione della conoscenza

Sistemi esperti

Rappresentazione della conoscenza

Tradurre la Lingua Italiana dei Segni - il Progetto LIS2Speech

Tradurre la Lingua Italiana dei Segni - il Progetto LIS2Speech

LIS2SPEECH

Traduzione LIS

User Experience Design tra accessibilità e inclusività

User Experience Design tra accessibilità e inclusività

User Experience

Accessibilità

Inclusività

Assitech.Net entra nella galassia Orbyta Technologies

Assitech.Net entra nella galassia Orbyta Technologies

Orbyta Technologies

Orbyta Group

Acquisizione

News

Programmazione Funzionale Java

Programmazione Funzionale Java

Functional Programming

Java

Software Development

Reactive Programming: parallelizzare con Project Reactor

Reactive Programming: parallelizzare con Project Reactor

Programmazione Reattiva

Reactive Programming

Project Reactor

Piattaforme E-commerce Wholesale per il settore B2B

Piattaforme E-commerce Wholesale per il settore B2B

Wholesale

B2B

Antipattern nello sviluppo software: altri errori da evitare

Antipattern nello sviluppo software: altri errori da evitare

Software Development

Antipattern nello sviluppo software: definizione, ambiti di applicazione ed esempi

Antipattern nello sviluppo software: definizione, ambiti di applicazione ed esempi

Software Development

App tattiche di supporto alla gestione dei progetti reiterativi

App tattiche di supporto alla gestione dei progetti reiterativi

App Development

Power Platform

Low Code

DevOps

Introduzione a Power Pages, il servizio Microsoft per siti web low-code

Introduzione a Power Pages, il servizio Microsoft per siti web low-code

Microsoft

Low-code

Power Platform

Introduzione a Jupyter e Seaborn per Data Analysis e Visualization

Introduzione a Jupyter e Seaborn per Data Analysis e Visualization

Jupiter

Python

Data Analysis

Data Visualization

Come utilizzare Matplotlib per la Data Visualization in Python

Come utilizzare Matplotlib per la Data Visualization in Python

Python

Data Visualization

Data Science

Data Analysis

Introduzione alla libreria Dash per Python

Introduzione alla libreria Dash per Python

Python

Data Science

Data Visualization

Data Analysis

Prime Video passa al monolite: ma allora serverless è inutile? 

Prime Video passa al monolite: ma allora serverless è inutile? 

Tableau per la Business Intelligence: introduzione, tutorial e confronto

Tableau per la Business Intelligence: introduzione, tutorial e confronto

Introduzione a Qlik Sense, piattaforma di Business Intelligence avanzata

Introduzione a Qlik Sense, piattaforma di Business Intelligence avanzata

Applicazioni Cloud Native: definizione, vantaggi e tecnologie

Applicazioni Cloud Native: definizione, vantaggi e tecnologie

Power Apps Tutorial – Case Study: come costruire una business app da zero

Power Apps Tutorial – Case Study: come costruire una business app da zero

Il futuro del gaming tra F2P, GaaS, Crypto e Play to Earn

Il futuro del gaming tra F2P, GaaS, Crypto e Play to Earn

Power Apps Basics: interfacce, implementazione & vantaggi

Power Apps Basics: interfacce, implementazione & vantaggi

Strumenti di Business Intelligence: QlikSense & Power BI a confronto

Strumenti di Business Intelligence: QlikSense & Power BI a confronto

Introduzione a Serverless: non solo Lambda Function

Introduzione a Serverless: non solo Lambda Function

Metaverso: siamo pronti a cogliere l’opportunità?

Metaverso: siamo pronti a cogliere l’opportunità?

Recap Flutter Forward 2023: le 7 novità più interessanti

Recap Flutter Forward 2023: le 7 novità più interessanti

Let's Redux React to a Game

Let's Redux React to a Game

Introduzione a PowerShell

Introduzione a PowerShell

Pago con carta: i trend dei pagamenti digitali e il futuro delle carte di credito

Pago con carta: i trend dei pagamenti digitali e il futuro delle carte di credito

NFT World: il fenomeno NFT tra metaverso, business e GameFi

NFT World: il fenomeno NFT tra metaverso, business e GameFi

Quick Escape Room

Quick Escape Room

Orbyta Invaders Ignition

Orbyta Invaders Ignition

Il lancio della nuova Identity di Orbyta parte dal Metaverso!

Il lancio della nuova Identity di Orbyta parte dal Metaverso!

development

design

metaverse

brand identity

Database a grafo in SQL Server

Database a grafo in SQL Server

Data Science Job Roles: i 4 ruoli più richiesti nel settore

Data Science Job Roles: i 4 ruoli più richiesti nel settore

Teoria dei giochi: Propagazione delle strategie

Teoria dei giochi: Propagazione delle strategie

The chosen one: .NET 5

The chosen one: .NET 5

Network Science e Social Network Analysis

Network Science e Social Network Analysis

Isolation levels on SSMS

Isolation levels on SSMS

Teoria dei Grafi

Teoria dei Grafi

Creare un podcast in automatico a partire da audio vocali e musica

Creare un podcast in automatico a partire da audio vocali e musica

Teoria dei Giochi

Teoria dei Giochi

Recommender systems: principali metodologie degli algoritmi di suggerimento

Recommender systems: principali metodologie degli algoritmi di suggerimento

Introduction to Quantum Computing and Qiskit

Introduction to Quantum Computing and Qiskit

System Versioned Tables

System Versioned Tables

Vim o non Vim

Vim o non Vim

I vantaggi di un Message Broker

I vantaggi di un Message Broker

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

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

Protezione dei Web Services

Protezione dei Web Services

need more info?

contattaci