Comentario sobre un hipotético CBEA en PS4

Comentario #1:

Pues sin ser un experto me resulta muy chocante el resultado de CELL. Entiendo que al final habia otros problemas pero con estos numeros parecía que se iba por el buen camino no? O sea, un CELL con una grafica actual daria unas cifras muy buenas. Aunque entiendo que como bien dices no todo se reduce a estas.

En realidad no, los SPE del CBEA eran más bien chips de apoyo que únicamente podían ejecutar lo que había en sus memorias locales y sobre si iba o no en un buen camino, a nivel doméstico no dado que el sucesor natural del concepto son la serie Knight de Intel para computación de alto rendimiento y están limitados a ese mercado al no disponer de las unidades de función fija que son necesarios para gráficos, haciendo que la serie Knight de Intel no sea útil como procesador para gráficos.

La utilidad del CBEA se fue limitando con la aparición de las GPUs para la computación, inicialmente las GPUs no podían trabajar con varios contextos al mismo tiempo por lo que a nivel doméstico ambos mundos no se mezclaban pero si a nivel profesional donde las GPUs eran ya utilizadas como chips de apoyo para cierto tipo de computación, dejando al CBEA sin el único mercado potencial que tenía dado que llegado a un punto se tiro por estas en vez del CBEA.

Comentario#2:

xacto, el problema fue el costo de produccion tamaño y precio, el mismo cell con nuna gpu actual seria una pasada.. eso si actualizandola que es creo la 1º idea de sony con play4, o sea una play4 con una version mejorada de cell y una gpu actual con 8 gddr5 unificados hubieses sido un pepinazo

Desde el momento en que la GPU de PS4 soporta contexto de computación de manera simultanea con el contexto gráfico no lo creo ya que se puede utilizar el contexto de computación de la GPU para lo mismo que el CBEA por lo que colocarlo hubiese sido una redundancia en el hardware que nadie habría utilizado dado que la gran mayoría de motores multiplataforma estarían pensados para hacer uso de la computación desde la GPU y no desde un Cell 2.0.

En cuanto a lo del CBEA, no es que el chip fuese grande porque grande no era realmente sino más bien el problema fue el siguiente:

CellYields

El coste de los chips se calcula de la siguiente manera:

Coste de la oblea/número de chips buenos por oblea.

Con un 10-20% de chips buenos que salían el coste del CBEA se subió por las nubes encareciendo enormemente a PS3 y provocando que Sony tuviese perdidas enormes que acabaron con el cese a la japonesa de Kutaragi.

Comentario#3:

El problema del CELL también era programarlo … complicado.

Ademas, las GPU modernas con el Async Compute ya permiten lo que hacía el CELL, así que no merece la pena

Programar los SPE era más sencillo que las VU de PS2 e incluso que los primeros Vertex Shader por el simple hecho que puedes desarrollar en C o C++ en vez de hacerlo en ensamblador. ¿El problema? Pues el hecho que la memoria local de estos no fuese una cache y el sistema no tuviese un planificador como una GPU.

En una GPU cuando el procesador de comandos lee la lista de comandos de cosas a hacer se lo pasa al planificador que va enviando los hilos de ejecución a las diferentes unidades a medida que estás van quedando libres sin que el desarrollador tenga que gestionarlo. En el caso del CBEA no había planificador sino que el planificador se tenía que realizar a mano haciendo uso del núcleo PowerPC (la verdadera CPU del sistema) para repartir los trabajos entre los SPE, sumale a esto una falta de cache y que la memoria de los SPE se tenía que gestionar de forma manual y tienes una combinación para la sobrecomplicación en el desarrollo.

Comentario#4:

buen cuadro, siempre te leo, espero sigas con el blog

Gracias.

Comentario#5:

@Georg Cercadillo es cierto eso, pero imagino que quizás un cell con sus “local storage” teniendo mecanismos de caché y hardware dedicado (como serían los ACE en las gpu) que se encargase de gestionar y nutrir de datos a los spe, hubiese liberado bastante a los programadores facilitándoles un poco más la cosa al no tener que encargarse de gestionar los 256KB de los spe manualmente y de programar el ppe para que controle a estos y no sería visto como un bicho raro, peeeero seguramente esto hubiese significado un chip aún más grande y costoso de lo que ya era, lastima porque por todo lo que ha dicho urian y a pesar de que la idea general de algunos es que era un desastre, realmente tenía lo suyo, con las gpu de hoy quizás ya no tenga sentido, pero en 2006 es otra cosa….capaz estoy delirando demasiado ya, pero pensaba que tal vez un cell haciendo de gpu (cell + hardware dedicado para ciertas tareas gráficas) y una cpu “normal”, hubiese sido mejor para PS3.

Bueno, tu ya lo has explicado a la perfección, perdona por no citarte antes ya que estoy comentando los comentarios por orden pero voy a añadir un elemento. Lo natural en el caso de los SPE es que estos hubiesen evolucionado a la misma naturaleza que los shaders de la GPU es decir:

  • Se hubiese añadido un planificador automatizado en el chip.
  • Se hubiese cambiado la memoria local de los SPE por cache L1.

Claro que, y tal como he explicado antes, hubiese entrado en redundancia con los shaders de la GPU de cara a la computación y no se habría utilizado, es por lo que la decisión de prescindir del CBEA tiene sentido ya que en el caso de CBEA+GPU no puedes utilizar todo el potencial a cada momento, en cambio pudiendo asignar libremente la potencia según convenga y no de forma manual sino automática es algo mucho mejor que hacer uso de un nuevo CBEA cuyo concepto ha quedado anticuado.

Anuncios