bechmarks del CELL de PS3

・Dhrystone v2.1
PS3 Cell 3.2GHz: 1879.630
PowerPC G4 1.25GHz: 2202.600
PentiumIII 866MHz: 1124.311
Pentium4 2.0AGHz: 1694.717
Pentium4 3.2GHz: 3258.068

・Linpack 100x100 Benchmark In C/C++ (Rolled Double Precision)
PS3 Cell 3.2GHz: 315.71
PentiumIII 866MHz: 313.05
Pentium4 2.0AGHz: 683.91
Pentium4 3.2GHz: 770.66
Athlon64 X2 4400+ (2.2GHz): 781.58

・Linpack 100x100 Benchmark In C/C++ (Rolled Single Precision)
PS3 Cell 3.2GHz: 312.64
PentiumIII 866MHz: 198.7
Pentium4 2.0AGHz: 82.57
Pentium4 3.2GHz: 276.14
Athlon64 X2 4400+ (2.2GHz): 538.05


http://www.beyond3d.com/forum/showthread.php?t=36058

Como me imagino que algun troll saltara de alegria y se esta relamiendo en su cueva viendo los numeros puntualizo ciertas cosas:

1º Solo se trata del PPE del Cell.
2º Segun los foreros del hilo que del que pongo el enlace son numeros mejores de lo esperado para un procesador in order.

Y aqui paro de comentar porque del tema ni plim. :P
Hebp está baneado por "Se nos acabó la paciencia contigo"
takeda escribió:

Como me imagino que algun troll saltara de alegria y se esta relamiendo en su cueva viendo los numeros puntualizo ciertas cosas:

1º Solo se trata del PPE del Cell.
2º Segun los foreros del hilo que del que pongo el enlace son numeros mejores de lo esperado para un procesador in order.

Y aqui paro de comentar porque del tema ni plim. :P


Nada mas viendo quien es autor del hilo se sabe que debe de haber una explicacion a esos números "tan bajos"

Pd: Por eso no he salido de la cueva. XD
Pd2:Que alguien lo explique.
Hebp escribió:Nada mas viendo quien es autor del hilo se sabe que debe de haber una explicacion a esos números "tan bajos"


Hebp escribió:No seas borde


[looco]

Continuemos con el hilo, a ver si aparecen los entendidos.
Hebp está baneado por "Se nos acabó la paciencia contigo"
takeda escribió:
NO has salido? pues parece que si. :-|


No me seas borde.
a ver que pasa cuando esten todos los SPE en proceso.

¿Cuantas veces se supone que era mas potente el cell que un p4 100 o 1000??? es que no encuentro el enlace del KK
En realidad estas cifras son bastante buenas, porque a mi entender, solo miden el PPE del Cell.
Dicho en otras palabras, es solo el resultado de la parte central del Cell, a parte, habria que sumar la potencia de sus 7 unidades independientes.

no?
Adama escribió:a ver que pasa cuando esten todos los SPE en proceso.

¿Cuantas veces se supone que era mas potente el cell que un p4 100 o 1000??? es que no encuentro el enlace del KK


si lo ha dicho KK no te lo creas [bye]
Precisamente al ser una CPU in order lo suyo es que el benchmark este compilado
para esa CPU especificamente (un compilador optimizado reordena el codigo
haciendo que casi no haya diferencia entre en orden o sin orden)

Se sabe algo de eso (por que por lo visto los benchmarks vienen de una
página en Japones)
aver si viene Zheo o Deathkiller i nos meten un buen recital [tadoramo]

ala vez espero que los albertos no vea el post [mad]
xD
No se de que os quejáis, es completamente normal, el Cell de IBM es 1 procesador Power 970 (básicamente lo mismo que lleva dentro un PowerPC G5) con un añadido de 7 unidades operativas extra (en el mejor de los casos, ya que saldrán a la venta PS3 con 1 unidad spe desactivada como máximo) que funcionan como coprocesadores, de modo que, instalando linux (como es el caso), tenemos 1 único procesador; para poder sumar la potencia de cálculo de las unidades SPE es necesario programar específicamente para estas unidades, de momento una distro cualquiera de linux no da soporte a las unidades SPE, sólo posible a través de las API de IBM disponibles para su programación. De hecho esta CPU no es un procesador de propósito general como lo es un PowerPC Gx, por su configuracion especifica de cachés, buses y memoria, por lo que en aplicaciones de propósito general, su rendimiento será algo decepcionante, no así para las aplicaciones que ha sido diseñada, cálculo masivo en coma flotante, cálculo con matrices, etc. Al ser un procesador RISC (tanto el núcleo Power 970, como las unidades SPE), las optimizaciones no las realiza el procesador en tiempo real, sino que las aplica previamente el compilador, esto pasa con todos los procesadores RISC (IBM Power, Sun Sparc, MIPS, etc), no así con los CISC (x86 ...), y sí, linux dispone de distribuciones especialmente compiladas para PowerPC G5, o lo que es lo mismo Power 970 o lo que es lo mismo, la unidad PPE del IBM Cell.
rage21 escribió:ala vez espero que los albertos no vea el post [mad]
xD
LOL, te has olvidado de CeG!

[bye]

OffTopic: Segun lo que observo es que los PowerPC, siempre han sido un poco superiores a los pentium en referente a la relacion GHz/potencia
SwapNewbie escribió: LOL, te has olvidado de CeG!


CeG ya no está entre nosotros [angelito]

Aunque no faltará el trollcete que posteará esto en multi con el fin de que "todo el foro por igual esté informado y pueda opinar de forma imparcial"
Valentus escribió:CeG ya no está entre nosotros [angelito]

Ya lo han baneado?? Que pena no me lo esperaba [sonrisa]

Ya decia yo que estaba muy tranquilo este foro estos días...

Respecto a la noticia como tu dices ideal para trollear, porque práctica no lo es nada, sin los SPE es imposible evaluar la potencia del Cell de PS3.
ninu está baneado por "troll"
a mi me gustaria saber realmente que parte de la carga de un juego la realiza el PPE y que parte la realizan (o pueden realizar en un futuro cuando la programacion multihilo este un poco mas avanzada) los SPE.

Tanto en porcentaje de 'carga', como en los tipos de codigo que ejecutaria el PPE (por no ser 'porteables' a los SPE )
takeda escribió:
Como me imagino que algun troll saltara de alegria y se esta relamiendo en su cueva viendo los numeros puntualizo ciertas cosas:


No hay que ser un troll para que no te convenza cell, y por otro lado cuando salgan apps especificas para cell arrasará eso si, pero como procesador de un uso mas general, desde mi punto de vista no es la opcion apropiada.
ya deberian dejar esto, los procesadores que llevan todas las consolas del mercado son el reflejo (osea una mierda) de los que verdaderamente montan los pc's, en cuestion de meses se quedan desfasados. a todos le han vendido la imagen del super cell que lo puede todo y no es mas que un pentium o un athlon pero para entretenimiento y para que sony se haga la platica. para quien siga creyendo que el que compre una ps3 va a tener el computador mas poderoso que deje de soñar porque es simplemente un juguete. [jaja] [jaja] [jaja]
ninu está baneado por "troll"
lyndros escribió:
No hay que ser un troll para que no te convenza cell, y por otro lado cuando salgan apps especificas para cell arrasará eso si, pero como procesador de un uso mas general, desde mi punto de vista no es la opcion apropiada.


el problema no es tanto si convence o deja de convencer cell, sino que el convencimiento suele ir ligado a las tendencias (tambien conocidas como fanboyismo o consolehater), y probablemente takeda se referia a 'esos'
lyndros escribió:
No hay que ser un troll para que no te convenza cell, y por otro lado cuando salgan apps especificas para cell arrasará eso si, pero como procesador de un uso mas general, desde mi punto de vista no es la opcion apropiada.


Pero es que las operaciones de ``uso general´´ que maneja el Cell se centran en el ámbito multimedia y de cálculo científico que oh, casualidad, son las que tienen más auge actualmente.

A mí una vez en IRC me explicaron a fondo cómo iba el rollo del Cell, y si bien no entendí más de la mitad quedé bastante impresionado. :p
pecoso escribió:No se de que os quejáis, es completamente normal, el Cell de IBM es 1 procesador Power 970 (básicamente lo mismo que lleva dentro un PowerPC G5)

Pues va a ser que no, para empezar porque el PPU es in order, y el G5 no, y además por que los DIEs de los micros (parte PPU del cell versus G5) no concuerdan.

ArGuS_X! escribió: a todos le han vendido la imagen del super cell que lo puede todo y no es mas que un pentium o un athlon pero para entretenimiento y para que sony se haga la platica. para quien siga creyendo que el que compre una ps3 va a tener el computador mas poderoso que deje de soñar porque es simplemente un juguete

Pues para ser un juguete optimizándolo bien se cruje a algunos procesadores de hoy en día.

Lo de super ordenador va porque los SPUs son básicamente unidades vectoriales.

Respecto a los benchmarks, pues según he leído el Dhrystone, más que medir el rendimiento del procesador lo hace de las librerías el compilador, etc ya ques es un benchmark sintético que depende bastante de las optimizaciones en el resultado al ejecutar el código.

Voy a leer el hilo de Beyond3D que antes no tiraba bien.

Edito: sólo optimización GCC -o3, lo que no se del GCC para cell es si optimiza para in-order.
No puedo entender como algunos prestáis atención a estos datos, teniendo como tenemos hoy día la posibilidad de visualizar videos in-game de los juegos con las mismas prestaciones con las que los ofrecería la consola.
Hay que tener ganas de discutir y de perder el tiempo.
Dudo que el cell de ps3 pueda con un amd 64 x2, y mas por la solucion barata por la que optaron con el EIB. Otra cosa es la version cara de cell, que esta bastante mejor (que no veis en una ps3 ni jartos de vino). Por otro lado si le pones a cell una serie de datos serializados, posiblemente tenga unos datos muy vistosos y muy buenos, pero como vuelvo a decir zapatero a sus zapatos.

Todo esto de cell me recuerda al super y mega famoso super emotion engine el que sadam hussein compraba para manejar cabezas nucleares... (que tiempos... xD)

Dejaos de pajas mentales, el cell de la ps3 es un procesador apañao y potente para una consola, pero para nada es lo que intentan venderos, como superordenador de la nasa y cosas así, aunque muchos se lo creen.

Por otro lado dicen que el cell de ps3 es un procesador pensado para linux, dudo que el kernel actual de YDL maneje demasiado bien las spu's, aunque en un futuro quien sabe.

si una cosa hay que tener clara, es que sony tiene un marketing acojonante.

saludos pa tos!!!!!!!
lyndros escribió:
No hay que ser un troll para que no te convenza cell, y por otro lado cuando salgan apps especificas para cell arrasará eso si, pero como procesador de un uso mas general, desde mi punto de vista no es la opcion apropiada.


Desde tú punto de vista. Ya está todo dicho [carcajad]

Realmente esto solo sirve para especular takeda XD
zheo el punto es que a ps3 no deberian llevarla al punto de supercomputadora ni defenderla como tal porque el cell que lleva ps3 no es ni la sombra de lo que el verdadero CELL (el que utilizan en la medicina o no se que mas cosas) es en realidad, incluso hoy ps3 es superada en algunos aspectos por procesadores de gama media, a lo que me refiero con juguete es algo que esta diseñado para entretenimiento y nada mas y SI esta MUY bien para ser un juguete.
Saludos
ArGuS_X! escribió:zheo el punto es que a ps3 no deberian llevarla al punto de supercomputadora ni defenderla como tal porque el cell que lleva ps3 no es ni la sombra de lo que el verdadero CELL (el que utilizan en la medicina o no se que mas cosas) es en realidad, incluso hoy ps3 es superada en algunos aspectos por procesadores de gama media, a lo que me refiero con juguete es algo que esta diseñado para entretenimiento y nada mas y SI esta MUY bien para ser un juguete.
Saludos


eso de gama medía no se yo eh? Habría que ver aquí, que consideras tú gama media, por cuanto saldría y si supera o no en prestaciones al CELL de PS3.

Está claro que el Cell de PS3 no es un superordenador, pero para mi que se merienda a cualquier procesador medio.

De todos modos el CELL no estaba orientado a trabajar con muchisimos cores interconectando equipos? (de ahí el nombre: celula)
bpSz escribió:
Desde tú punto de vista. Ya está todo dicho [carcajad]

Realmente esto solo sirve para especular takeda XD


Yo determinaré cuando esta todo dicho y no tú, y sino te interesan las opiniones de los demás no se que pintas en un foro, pues están para eso para opinar.
lyndros escribió:
Yo determinaré cuando esta todo dicho y no tú, y sino te interesan las opiniones de los demás no se que pintas en un foro, pues están para eso para opinar.


Imagen

Tomate una de estas, que nadie te ha dicho nada Robert Redford [oki]
lyndros escribió:Dudo que el cell de ps3 pueda con un amd 64 x2, y mas por la solucion barata por la que optaron con el EIB. Otra cosa es la version cara de cell, que esta bastante mejor (que no veis en una ps3 ni jartos de vino). Por otro lado si le pones a cell una serie de datos serializados, posiblemente tenga unos datos muy vistosos y muy buenos, pero como vuelvo a decir zapatero a sus zapatos.


Si eres tan amable de explicarnos la diferencia entre el cell 'barato' de Ps3 y el 'caro' mas alla de la cantidad de SPE utiles...

Y la solución 'barata' del EIB es la solución factible para no disparar costes, si quieres podrian haber hecho conexiones 'punto a punto' entre todos los nucleos del Cell y que el procesador costase 2 ojos de la cara...aun asi el rendimiento del Cell no es precisamente malo imcluso comparado con procesadores de ultima generación...

No sera un superordenador, pero tampoco un 'procesador apañao' sin mas y es que a algunos leeros algo bueno relacionado con PS3 es motivo de asombro, pero bueno, segun tu el Cell no es multicore....¿verdad?

Por cierto ninu, efectivamente me refiero a ese tipo de trolleo que comentas, tendria que haber abierto el hilo con los numeros sin mas...solo para ver ciertos comentarios de 'gente que solo da su opinión'.
G. de Fronsac escribió:No puedo entender como algunos prestáis atención a estos datos, teniendo como tenemos hoy día la posibilidad de visualizar videos in-game de los juegos con las mismas prestaciones con las que los ofrecería la consola.
Hay que tener ganas de discutir y de perder el tiempo.

Simplemente porque nos atrae la arquitectura del Cell, al menos a mi.

lyndros escribió:Dudo que el cell de ps3 pueda con un amd 64 x2, y mas por la solucion barata por la que optaron con el EIB.

Solución BARATA? Me puedes explicar eso por favor, a ver si alguien ha leído algún post de por aquí y se ha quedado con una copla que no era...
En cualquier caso me encantaría saber por que el barato EIB es un lastre de rendimiento...

Otra cosa es la version cara de cell, que esta bastante mejor (que no veis en una ps3 ni jartos de vino).

Extraño lo de la versión cara, ya que de momento la ÚNICA implementación de Cell BE es la que monta PS3 (con los 8 SPUs, eso si)

Por otro lado dicen que el cell de ps3 es un procesador pensado para linux, dudo que el kernel actual de YDL maneje demasiado bien las spu's, aunque en un futuro quien sabe.

No hay procesadores pensados para SOs, eso de mano. Lo que si es cierto es que cell se diseño con la compatibilidad binaria de PPC en mente

si una cosa hay que tener clara, es que sony tiene un marketing acojonante.
Es un arma de doble filo, ya que a veces basas también los contraargumentos en el mismo márqueting.


ArGuS_X! escribió:zheo el punto es que a ps3 no deberian llevarla al punto de supercomputadora ni defenderla como tal porque el cell que lleva ps3 no es ni la sombra de lo que el verdadero CELL (el que utilizan en la medicina o no se que mas cosas) es en realidad,

Repito, a ver qué informaciones teneis, porque que yo sepa la única implementación hoy en día es la de la PS3... esos links...

incluso hoy ps3 es superada en algunos aspectos por procesadores de gama media,

En código sin optimizar si, en ciertas tareas también, el caso es que cell se come en otras tareas a los procesadores de gama alta...

a lo que me refiero con juguete es algo que esta diseñado para entretenimiento y nada mas y SI esta MUY bien para ser un juguete.
No está diseñado sólo para entretenimiento, pero si es una de las cosas que tienen en mente.
A mi la solucion del EIB me parece bastante buena.
Una conexion punto a punto para cada elemento seria inviable (medio Cell seria para el EIB), y bastante mejor que la concepcion original: un canal de 128 Bytes a compartir entre todos.

Los 4 canales de 16 bytes cada uno actuales ocupan el mismo espacio que la idea anterior (64 bytes*2 por ser un anillo).
Sin embargo, es mucho mejor idea, ya que dos transferencias concurrentes pueden ocurrir en el mismo canal si estan no se solapan: si el SPE0 quiere transmitir al SPE1 y el SPE5 al SPE6, lo pueden hacer por el mismo canal sin ningun problema.

Recuerdo a los foreros que actualmente pocos procesadores populares tienen comunicacion interior: Intel la ha puesto hace poco y Xenon ha de comunicarse mediante la cache.

Ademas, Cell me parece una aproximacion muy acertada a los procesadores del futuro:
En los sistemas actuales, el software tradicional requiere poca capacidad de proceso, se ha ido estancando con el tiempo, con lo que el PPU seria suficiente para los nuevos requerimientos.
Mientras, el software que requiere grandes tratamientos de datos en paralelo ha ido aumentando sus necesidades de forma exponencial: video, audio, multimedia, juegos, etc.

Me parece una aproximacion muy correcta a lo que debe venir en el mundo de los procesadores, enfatizar la potencia del procesador en aquello mas demandado por los usuarios.
Al igual que se anadieron las nuevas instrucciones MMX y SSE, este es el siguiente paso.
Las pruebas estan hechas con codigo no optimizado de un solo hilo. Simplemente muestran que el PPU se sobra para usar aplicaciones de proposito general que nisiquiera han sido compiladas explicitamente para el Cell. Es una prueba de el peor caso de uso del Cell. El Dhrystone es un benchmark generico que no usa operaciones en coma flotante.

Un P3 a 1GHz que es lo que yo uso en el trabajo solo va mal para ver flash tochos en la web, todas las aplicaciones ofimaticas van perfectamente.
ninu está baneado por "troll"
deathkiller escribió:Las pruebas estan hechas con codigo no optimizado de un solo hilo. Simplemente muestran que el PPU se sobra para usar aplicaciones de proposito general que nisiquiera han sido compiladas explicitamente para el Cell. Es una prueba de el peor caso de uso del Cell. El Dhrystone es un benchmark generico que no usa operaciones en coma flotante.

Un P3 a 1GHz que es lo que yo uso en el trabajo solo va mal para ver flash tochos en la web, todas las aplicaciones ofimaticas van perfectamente.


efectivamente: en el hilo de B3D lo comentan: la mayoria de aplicaciones 'normales' no necesitan de ningun pepinazo para funcionar, en cambio, muchas de las aplicaciones 'modernas' (normalmente multimedia: audio video) demandan mucha capacidad de proceso especializado, por lo que la aproximacion de una CPU como Cell parece bastante acertada con vistas al futuro. Y por supuesto con codigo optimizado, para tener un rendimiento correcto.

Cuantas veces se queda el PC 'parado/flipado' al descomprimir un archivo o comprimir video.... si esos procesos los realiza un SPE liberando el PPE para usos mas generalistas (office...) yo creo que una cpu estilo Cell es mucho mas eficiente de lo que pueda parecer en un principio.
El_senor_oscuro escribió:A mi la solucion del EIB me parece bastante buena.
Una conexion punto a punto para cada elemento seria inviable (medio Cell seria para el EIB), y bastante mejor que la concepcion original: un canal de 128 Bytes a compartir entre todos.

Los 4 canales de 16 bytes cada uno actuales ocupan el mismo espacio que la idea anterior (64 bytes*2 por ser un anillo).
Sin embargo, es mucho mejor idea, ya que dos transferencias concurrentes pueden ocurrir en el mismo canal si estan no se solapan: si el SPE0 quiere transmitir al SPE1 y el SPE5 al SPE6, lo pueden hacer por el mismo canal sin ningun problema.

Recuerdo a los foreros que actualmente pocos procesadores populares tienen comunicacion interior: Intel la ha puesto hace poco y Xenon ha de comunicarse mediante la cache.

Ademas, Cell me parece una aproximacion muy acertada a los procesadores del futuro:
En los sistemas actuales, el software tradicional requiere poca capacidad de proceso, se ha ido estancando con el tiempo, con lo que el PPU seria suficiente para los nuevos requerimientos.
Mientras, el software que requiere grandes tratamientos de datos en paralelo ha ido aumentando sus necesidades de forma exponencial: video, audio, multimedia, juegos, etc.

Me parece una aproximacion muy correcta a lo que debe venir en el mundo de los procesadores, enfatizar la potencia del procesador en aquello mas demandado por los usuarios.
Al igual que se anadieron las nuevas instrucciones MMX y SSE, este es el siguiente paso.


Gran post.
Esto me lo ha pasado deathkiller esta mañana

http://www.mc.com/literature/literature_files/Cell-Perf-Simple.pdf

Al parecer es un benchmark echo por un empresa ajena a Sony llamada Mercury. Es una presentacion de diversas pruebas de su software con codigo optimizado para el Cell BE comparandolo con otros microprocesadores del mercado.

Los resultados son bastante impresionantes, pero como el codigo que usan esta orientado a entornos profesionales, no espereis que estas cifras se plasmen facilmente en la ps3. Pero resulta interesante ver otro benchmark alternativo para comparar.
Bueno comparar este tipo de cosas no tiene demasiado sentido....

Aqui lo importante no es ver si el cell es mas potente que los 3 cores de la Xbox o de cualquier chip de PC

La cuestion es ver como de complicado es sacarle el maximo rendimiento.

segun el Sr. Carmack los desarrolladores prefieren un 20% de facilidad frente a un 20% de rendimiento.

Cuantos de lo que hablais en este foro de numeros... de cores etc etc teneis idea de lo que es la programacion multihilo???

Para poneros un ejemplo.

Imaginaros que tenemos el chip cell y tenemos que resolver 6 puzzles. tenemos todas las piezas tiradas y hay que armarlos.

El nucleo del cell sabe donde estan las piezas pero los SPU no tienen ni puta idea. El nucleo tiene que sincronizar los 6 procesos para resolver la tarea.
El problema de esto es que el cell no sincroniza nada. Es el programador el que se encarga de sincronizar los hilos de ejecución.

Si alguna vez habeis programado dos hilos de ejecucion... el clasico ping pong... que consiste en tener dos hilos.. uno escribe ping en pantalla y el otro escribe pong. la idea es sacar ping pong ping pong.
Bien para sincronizarlos logicamente un hilo escribe ping notifica al resto de hilos y se pone en espera. el otro hilo notificado escribe pong notifica y se pone en espera. Si os fijais no estamos explotando para nada la potencia pues perdemos tiempo esperando notificando etc etc.
Cuando la sincroninación pasa a ser de 3 hilos, 4 hilos, 5 hilos... la cosa se hace muy complicada para el programador y mas en la PS3 donde los SPE tienen memoria propia ultra rapida (que no es cache) bastante escasa y no tienen acceso directo a la memoria principal de manera eficiente y para colmo un SPU no puede acceder a la memoria de otro SPU.

Esto concluye en una dificultad muy elevada en la programación de alto rendimiento en la PS3 dicho por Carmack que no es precisamente conocido por desarrollos faciles (engines Quake 4 , Doom 3 etc)

Todo esta chapa os la cuento para dejeis de hacer calculos de Mhz ,cores,teraflops etc etc la play 3 nunca sera un PC y nunca superara a este en proposito general. y nunca arrankara linux mas rapido que un pentium 3. Los servidores de IBM que llevan CELL son destinados a aplicaciones medicas, servidores multimedia etc. nunca a servidores de proposito general.

Y en cuanto a la guerra de consolas esta vez sony no se lo esta montando bien. Esta claro que los desarrollos PC seran migrados a 360 con extrema facilidad y al reves...
La guerra esta servida.. pero en la calle no en el hardware.
Vorador escribió:Esto me lo ha pasado deathkiller esta mañana

http://www.mc.com/literature/literature_files/Cell-Perf-Simple.pdf

Al parecer es un benchmark hecho por un empresa ajena a Sony llamada Mercury. Es una presentación de diversas pruebas de su software con código optimizado para el Cell BE comparándolo con otros microprocesadores del mercado.

Los resultados son bastante impresionantes, pero como el código que usan esta orientado a entornos profesionales, no esperéis que estas cifras se plasmen fácilmente en la ps3. Pero resulta interesante ver otro benchmark alternativo para comparar.


De todas formas, todos los algoritmos del benchmark que usan son especialmente tratables en Cell: grandes cantidades de datos que se pueden tratar de forma vectorizada, y además, pasándose datos de un SPE a otro a una velocidad de órdago.

Realmente me ha sorprendido el rendimiento que da Cell frente a bestias como el PPC 970 2 Ghz o el P4 3.6 Ghz, aunque ya se supiera que estos algoritmos son especialmente eficientes en Cell, tales diferencias son muy significativas.

Espero que el rendimiento de Cell en PS3 se acerque a estos resultados, lo que puede cambiar ciertos aspectos de los juegos (buenas físicas, por fin)


takeda escribió:Gran post.

Gracias por el piropo :-)
El caso es que bibliotecas como las de física usen las SPU's
y la mayoría de desarrolladores usan estas bibliotecas
por lo que con que eso este programado una vez ya vale.

Por lo visto el sonido en la Ps3 la hace una SPU y si eso lo hacen las
bibliotecas de los kits pues no creo que haya mucha diferencia
con usar una tarjeta de sonido con efectos, etc...
(los SPU's pueden usar DMA's asi que no debe de haber mucha diferencia
con la de programar para un dispositivo como una tarjeta de sonido)

Cierto que programar en paralelo es más complejo que programar en una sola
hebra.
Pero la evolución del hardware actual tiende al multiproceso
más que subir de Mhz y eso también pasa en el Pc
así que a la larga surgiran herramientas para simplificar la programación
(en los roadmap de Intel aparece el Keifer con 32 cores para 2010)
y también ha mostrado chips de 80 cores, estos creo para uso especifico

PD:
El keifer de Intel tambien usa una conexión en anillo para sus cores:
por simplicidad y por que es más escalable (más facil de ampliar ...)
El benchmark de mc se centra en los puntos fuertes del Cell y demuestra de que hay ciertas cosas que puedes hacer con el Cell que con una CPU tradicional ni te lo plantearias por falta de rendimiento. Como en un ordenador normal no te las plantearias hacer un port nunca te va a resultar optimo salvo que reescribas desde 0 la aplicacón.

Sobre la sincronización aun siendo un quebradero de cabeza en general el Cell no supone mayores problemas que los habituales, de hecho en algunos casos supone ventajas. Los engine de los videojuegos estan diseñados con sincronizacion a nivel de Frame, suelen tener bastante procesos independientes ya que contienen gran cantidad de datos independientes.

En un engine tradicional donde todos los procesos se ejecutan secuencialmente cuando uno se alarga automaticamente afecta al framerate ya que uno de los procesos que se tienen que ejecutar mandar instrucciones a la GPU, esto te lleva a la necesidad de usar hilos de ejecucion software para que las tareas menos prioritarias no puedan causar perdida de framerate.

Poder aislar procesos en SPUs te permite garantizar que la velocidad a la que se resuelvan no provoque efectos en cadena descontrolados. Un ejemplo lo dieron los desarrolladores del NBA2K7, el movimiento de las camisetas de los jugadores, al estar completamente aislado quizas en algun frame una camiseta no se mueva pero lo que no pasara es que pierdas un frame por mover todas las camisetas (esto puede ser importante durante el desarrollo).
La programación concurrente basada en sincronizar hilos... es la base y la teoría, pero no quiere decir que se siga desarrollando así.

Desde optimizaciones del procesador a librerías y otras técnicas de concurrencia tanto a nivel software como hardware... que nadie piense que según vayan aumentando el número de cores vamos a seguir sincronizando hilos a mano.

Puede que ahora sea más difícil programar para PS3, pero dudo que siga siéndolo en un futuro próximo, más de lo que pueda ser programar para un PC multicore.

Sobre el post en sí... está curioso y veremos realmente hasta donde puede dar de sí el Cell, que la experiencia propia es lo mejor para catalogar. Pero mira, tenemos consola y PC totalmente funcional, 2 en 1. El que se pueda utilizar Linux de forma oficial en PS3 ha sido el factor clave para que me decida a comprarla en un tiempo. Así sustituyo mi actual ordenador y además puedo investigar cosillas curiosas con un procesador como el Cell. Espremos que no capen demasiado el acceso a toda la máquina.

¡Un saludo!
37 respuestas