Cell: potenza per tutti.
Non volendo entrare troppo nei meri dettagli tecnici che stanno alla base della tecnologia Cell, ci limiteremo a descrivervene le premesse e gli obiettivi di progettazione cercando di concentrarci sul cosa e non tanto sul come. La tecnologia Cell è frutto di una joint-venture tra Sony, Toshiba ed IBM ed è la risposta ad esigenze di due mondi molto differenti tra loro: da una parte il mondo dei grandi Server legato a problematiche di performances ed alta affidabilità e , dall’altro quello del mercato dell’elettronica di consumo dove invece la priorità è quella dei prezzi e della facile industrializzazione per la produzione in serie. Cell promette quindi di unire il meglio di questi due mondi offrendocene un’unione perfetta, in grado di rivoluzionare il concetto del computing in virtù di una filosofia di progettazione che vuole garantire flessibilità, controllo dei costi e potenza di calcolo teoricamente illimitata. Ispirandosi a nozioni come quella del grid computing, i processori Cell sono infatti stati pensati per lavorare in gruppo tra loro in maniera dinamica e parallela consentendogli, in modo del tutto trasparente, di funzionare come un’unica entità elaborativa. Ovviamente, più sono i processori Cell coinvolti nella gestione del processo, più potente risulterà essere il “processore virtuale” risultante.
Immaginatevi un mondo dove il potere computazionale viene inteso ed utilizzato allo stesso modo dell’energia elettrica. Così come oggi non ha senso avere in ogni casa un generatore di corrente elettrica per far funzionare tutti gli elettrodomestici di casa, la vision degli ingegneri di IBM, Toshiba e Sony è quella di un mondo futuribile, per non dire utopico, dove una volta comprato il proprio dispositivo “Powered by Cell” sarà possibile accedere ad un fornitore di “Potenza elaborativa” in grado di offrirvi la potenza computazionale necessaria per eseguire l’applicazione voluta. Senza bisogno di aggiornare il proprio sistema, senza la necessità di dovere cambiare console.
Cell è uno standard, PlayStation 3 sarà la prima implementazione a seguirne tutte le specifiche, seguita poi nel corso del 2006 da televisori ad Alta Definizione e altra apparati elettronici del genere.
Entrando più nello specifico, un processore Cell non è niente altro che un normale processore di controllo di tipo PowerPC chiamato PPE (PowerPC Processor Element) direttamente connesso ad altri otto processori altamente specializzati, chiamati SPE (“Synergistic Processor Element”), in grado di lavorare in modo parallelo l’uno rispetto all’altro e di essere configurati in base alle specifiche necessità del programmatore.
Riassumendo, se gli SPE possono essere intesi come i vari elementi di un’orchestra, il PPE ne rappresenta il direttore, il coordinatore delle diverse attività. Tutto questo è in grado di garantire una piattaforma di sviluppo potente, flessibile ed in grado di essere plasmata dagli sviluppatori a proprio piacimento - seppure in maniera non esattamente semplice - a seconda delle specifiche necessità del momento.
Parola d'ordine: semplicità e cooperazione
Ma adesso è il momento di tornare con i piedi per terra e capire come Sony stia pensando di utilizzare la tecnologia Cell all’interno della proprio PlayStation 3. Dopo le numerose critiche nei confronti dell’estrema difficoltà di programmazione dell’Emotion Engine, questa volta Sony sembra essersi messa ai ripari seguendo un approccio che prevede, nell’ordine, l’utilizzo di API familiari a tutti i programmatori, un Sistema Operativo che prevede tutte le più diffuse (e richieste) funzionalità di base, un grande numero di tool e librerie d’alta qualità e l’incoraggiamento dello sviluppo di Middleware e Framework si sviluppo terze parti. Sempre secondo i portavoce di Sony, questa strategia porterà ad un inedita flessibilità dei flussi di gestione delle risorse e potrebbe anche incoraggiare la collaborazione tra sviluppatori diversi, per lo scambio di tecnologie con un evidente risparmio sui costi di produzione.
Proprio in quest’ottica deve essere inteso la nascita di un nuovo standard aperto, chiamato Collada, che non si rivela altro che la definizione di un formato di interscambio dei dati tra diverse applicazioni di tipo grafico e non. Grazie a questo nuovo standard, tutte le diverse applicazioni utilizzate nel corso del progetto di sviluppo potranno comunicare tra loro in maniera veloce e trasparente con ovvi benefici sui tempi ed i costi di sviluppo.
Dal punto di vista del sottosistema grafico, Sony ha annunciato di voler promuovere lo standard OpenGL / ES come vero e proprio punto di riferimento nell’ambito delle applicazioni tridimensionali in tempo reale, lo standard OpenGL “puro”, infatti, non essendo pensato specificatamente per applicazioni “real time” si rivela spesso inutilmente pesante.
Per quanto riguarda invece il linguaggio di shading, per la programmazione degli effetti grafici, ovviamente è stato implementato il Cg introdotto da Nvidia.
Aspettando maggio
Al di là dei tecnicismi e di tutte le promesse che poi si dovrà verificare se potranno effettivamente essere mantenute o meno, bisogna comunque dare atto a Sony di aver fatto tesoro di tutte le critiche mosse dagli sviluppatori nei confronti dell’architettura della PS2 grazie ad un approccio volto a cercare di diminuire costi e tempi di sviluppo.
Nei piani del gigante dell’intrattenimento Giapponese, questa strategia dovrebbe garantire un ampio supporto da parte delle case di sviluppo. Il tempo ci dirà se, e quanto, questa strategia potrò rivelarsi vincente.
Per il momento non ci rimane che aspettare Maggio, dove l'E3 di Los Angeles ci mostrerà i primi passi di questa innovativa piattaforma e ci dirà quanto davvero sarà una rivoluzione alla portata di tutti.
Mark DeLoura (Manager delle Relazioni con gli sviluppatori) e Dominic Mallinson (Direttore Ricerca e sviluppo) di Sony Computer Entertainment, hanno aperto la terza giornata del GDC 2005 con la presentazione della prima implementazione reale della tecnologia Cell, nella ormai prossima PlayStation 3.
Lontano dai clamori e dai lustrini che solo poche ore dopo avrebbero animato la keynote di J. Allard, la conferenza Sony si è dimostrata piuttosto avara di guizzi e nuove informazioni. Ciò nonostante, gli speaker hanno evidenziato più volte la volontà da parte di Sony di voler offrire a tutti gli sviluppatori una piattaforma potente ed affidabile cercando tuttavia di non penalizzarne, per quanto possibile, la semplicità di programmazione e la flessibilità d’utilizzo.
Ma andiamo per ordine e cerchiamo di riassumere i punti salienti della dimostrazione.