2 puntos por GN⁺ 2024-06-14 | 1 comentarios | Compartir por WhatsApp
  • La CEO de AMD, Lisa Su, participó en el desarrollo del procesador Cell para la PS3 durante su etapa en IBM, y después continuó una trayectoria ligada al hardware de PlayStation también en AMD con PlayStation 4 y 5
  • Su, que en 2001 era directora de productos emergentes en IBM, explicó que IBM, Sony y Toshiba imaginaron desde una hoja en blanco “el procesador que se necesitaría cinco años después” y se enfocaron de forma extrema en la paralelización
  • Cell fue un diseño ambicioso para su época, pero la PS3 era difícil de programar y en algunos casos el rendimiento de los juegos multiplataforma no cumplía con lo esperado
  • Después de que los desarrolladores first-party de Sony dominaron el hardware, los resultados visuales de sus exclusivos crecieron mucho, pero la transición al HD y la presión multiplataforma aumentaron la carga de diferenciación de Cell
  • A partir de la octava generación de consolas, PlayStation y Xbox pasaron a CPU y GPU x86 basadas en AMD, y AMD se consolidó como proveedor clave de hardware para las dos grandes plataformas de consolas

La conexión entre Lisa Su y el hardware de PlayStation

  • Justo después de Computex 2024, la CEO de AMD, Lisa Su, habló en una entrevista con Stratechery sobre cómo ha resuelto problemas difíciles a lo largo de su carrera, y mencionó su etapa en IBM y su experiencia relacionada con PlayStation
  • Su dijo que ha trabajado durante mucho tiempo en PlayStation a través de varias empresas, poniendo como ejemplo “PlayStation 3, 4, 5”
  • El procesador Cell de la PS3, basado en IBM PowerPC, era conocido por su estructura difícil de programar, pero el hecho de que Su estuviera involucrada no era algo ampliamente conocido antes de esta entrevista

La concepción de Cell por IBM, Sony y Toshiba en 2001

  • Su, que en 2001 era directora de productos emergentes en IBM, explicó el momento en que IBM, Sony y Toshiba estaban imaginando la arquitectura de procesadores de próxima generación
  • Su dijo que en ese momento el equipo “empezó desde una hoja en blanco e imaginó qué tipo de procesador haría falta cinco años después”
  • Las tres compañías decidieron crear una CPU con un fuerte enfoque en la paralelización
  • En el contexto de la época, este enfoque fue una apuesta adelantada
    • SMT apareció en 2002
    • Las primeras CPU multinúcleo de consumo de AMD e Intel no llegaron sino hasta 2005
    • IBM lanzó en 2001 su primer multinúcleo para estaciones de trabajo y servidores, y ese mismo año ya estaba planeando el procesador Cell de la PS3

La dificultad de desarrollo de la PS3 y sus logros en la etapa final

  • La PS3 fue vista como una de las consolas menos exitosas de Sony, y recibió críticas por quedar por detrás del Wii de Nintendo, más barato y orientado al público casual, y de la Xbox 360 de Microsoft, menos potente pero más fácil de manejar
  • Debido a la complejidad de la arquitectura, los juegos multiplataforma en PS3 no siempre ofrecían el rendimiento esperado
  • A medida que los desarrolladores, en especial los first-party de Sony, dominaron el hardware, hacia el final de la generación los exclusivos de Sony pasaron a ser considerados juegos de consola visualmente sobresalientes
    • Se menciona como ejemplo Uncharted 3
  • Su evaluó que Cell era muy ambicioso para su época y que destacaba por su forma de extraer paralelismo
  • También dijo que, desde una perspectiva de negocio, Cell fue exitoso, aunque añadió que una evaluación histórica podría dar un ranking distinto

Las necesidades de los desarrolladores cambiaron tras la transición al HD

  • Según Su, la era de las consolas pasó por varias etapas, y después de la transición al HD el costo de producir assets aumentó mucho
  • Los desarrolladores tuvieron un incentivo cada vez mayor para dar soporte a varios procesadores, y al mismo tiempo empezaron a surgir los motores de juego
  • En ese contexto, los desarrolladores pasaron a querer que sus juegos simplemente corrieran en Cell, en lugar de diferenciarse aparte en Cell
  • La estructura única de Cell era técnicamente ambiciosa, pero terminó siendo una carga en el flujo de desarrollo multiplataforma y en la producción basada en motores

El cambio de posición de los fabricantes de consolas y de AMD

  • Durante la séptima generación de consolas de casa —PlayStation 3, Xbox 360 y Nintendo Wii/Wii U— los tres fabricantes usaban arquitectura de CPU PowerPC
  • En ese momento, AMD suministraba chips gráficos a Nintendo y Xbox
  • A partir de la octava generación de consolas, las decisiones de hardware cambiaron
    • PlayStation 4 y Xbox One cambiaron a una arquitectura de CPU y GPU x86 basada en AMD
    • Nintendo Switch pasó a un diseño SoC basado en Nvidia con núcleos de CPU Arm
  • Su estuvo involucrada en la PS3 desde IBM como directora de producto e ingeniera, y en 2012 se convirtió en vicepresidenta sénior de AMD, y en 2014 en CEO de AMD
  • AMD ha suministrado el hardware principal de consola para PlayStation y Xbox durante dos generaciones consecutivas, y se proyecta que seguirá haciéndolo en la próxima

1 comentarios

 
GN⁺ 2024-06-14
Comentarios de Hacker News
  • En una clase de programación heterogénea implementamos cosas como un codificador básico parecido a MPEG en la PS3
    Fue una experiencia interesante, pero lo que recuerdo ahora es que para lograr un rendimiento decente había que aprovechar con cuidado la unidad vectorial del SPE, y que la sincronización entre SPE y PPE era bastante molesta
    Cada tarea incluía benchmarks, así que en clase se podía comparar el rendimiento, y la diferencia entre quienes dedicaban tiempo a optimizar y quienes solo hacían una implementación básica era enorme

    • De verdad me habría encantado tomar esa clase
      Como ya había llevado una clase de SO en la que se construía un sistema operativo desde cero, se veía como el siguiente paso
      La clase de SO valía 20 créditos, pero la de programación heterogénea solo 10, y mucha gente decía que la carga real de trabajo era muchísimo mayor de lo que sugerían esos 10 créditos, así que como también tenía que llevar otras materias y avanzar con la tesis, al final no me quedó otra que dejarla pasar
      La clase de SO está aquí: https://www.uio.no/studier/emner/matnat/ifi/IN4000/index-eng...
    • De verdad me da curiosidad cómo consiguieron organizar un programa o clase que usara PS3 para desarrolladores o con jailbreak como material de práctica
      También me pregunto si era una clase que trataba directamente de desarrollo de juegos/consolas
    • Lo de que la sincronización entre SPE y PPE era molesta es exactamente el tipo de área donde el soporte de bibliotecas y del sistema operativo es indispensable
      La experiencia de desarrollo la viven directamente los desarrolladores, así que no es tan difícil hacerla bien, y cuando se hace bien el beneficio es grande
      Hoy veo una situación parecida con las GPU, donde hay que mover datos, configurar pipelines y prestar atención a las particularidades de cada GPU
    • Suena como una clase realmente divertida
      Me pregunto si todavía la ofrecen
  • No sabía que Lisa Su había participado en el diseño de Cell, y está bastante genial
    En cierto sentido, la arquitectura Cell estaba muy adelantada a su época y, vista de otra forma, la configuración PPE/SPE se parece a algo como Grace/Hopper de hoy, donde un núcleo grande para control de flujo dirige a muchos núcleos vectoriales más pequeños
    Pero también era tan distinta a todo lo demás que el diseño de juegos y los ports eran un dolor de cabeza enorme

    • Cell era un diseño adelantado a su época cuando empezó a tomar forma a mediados de los 2000, y en ese momento el CPU de consumo más potente era el Pentium 3
      Pero para cuando salió al mercado en 2005, x86_64 ya se había consolidado claramente como el rey del rendimiento en CPU, ARM lideraba el segmento móvil de bajo consumo, y la competencia en GPU estaba en manos de ATI y Nvidia
      Como resultado, Cell terminó siendo algo caro, que hacía un poco de todo pero no era el mejor en nada, además de difícil de programar, y el mercado nuevo no necesitaba algo así
      Parece que ni Sony ni nadie más esperaba que la industria de CPU y GPU de consumo avanzara tan rápido en ese periodo, y si lo hubieran sabido probablemente no habrían gastado cientos de millones de dólares en crear una arquitectura completamente nueva
      Intel también cometió un error parecido por esa época al intentar reinventar la industria con Itanium, y viéndolo en retrospectiva resulta obvio
      El avance tecnológico en esos años fue realmente salvaje
      Comprabas un CPU nuevo y dos años después los CPU de 64 bits ya eran lo normal; te comprabas un CPU de 64 bits para verte cool y al poco tiempo lo que se puso de moda fueron los CPU de doble núcleo
  • Dato curioso: Lisa Su y Jensen Huang son parientes: https://www.tomshardware.com/news/jensen-huang-and-lisa-su-f...

    • Si China tomara control de Taiwán, Estados Unidos de verdad estaría en serios problemas
      De hecho, la cadena de suministro de chips semiconductores está tan dispersa que una guerra que interrumpiera de forma significativa el comercio internacional podría derrumbar toda la industria
      Hay demasiados proveedores clave dentro de la cadena de suministro de semiconductores que son una sola empresa o algo muy cercano a un oligopolio de un solo país
    • Pregunta al margen: me pregunto si en Taiwán existe algún servicio para verificar si la persona con la que sales es pariente tuyo
      El contexto está aquí: https://news.ycombinator.com/item?id=5561505
  • Me encantaba mucho trabajar con Cell
    Recuerdo haber escrito código para SPU por primera vez en la época en que el kit de desarrollo de PS3 era una enorme caja de acero inoxidable
    Más adelante implementé en la SPU una física predictiva para optimizar la línea de carrera en Midnight Club, y fue divertidísimo
    Algo curioso era que el tamaño de bits intermedio de la unidad de punto flotante era distinto al de la PPU, así que para obtener resultados deterministas había que programar el scheduler para que los hilos siempre se asignaran de forma determinista a la PPU o a la SPU
    Eso era indispensable en juegos en red donde la simulación tenía que ser idéntica bit por bit entre jugadores

    • Para alguien a quien le gusta la parte de sistemas, trabajar con Cell era bastante difícil pero muy gratificante
      Fue hace mucho tiempo, pero todavía recuerdo muchos de los desafíos
      El SPE no tenía acceso de memoria compartida a la RAM, así que el desarrollador tenía que resolver por sí mismo la transferencia de datos, y cada SPE tenía 256 KB de RAM
      Para la época, estas unidades eran tan rápidas procesando datos que se los acababan en un instante, así que hacíamos doble buffering de la RAM para usar unos 100 KB para datos y otros 100 KB al mismo tiempo como buffer de lectura del motor DMA
      La parte más complicada era meter y sacar los datos
      Había 6 SPE disponibles y 2 estaban reservados para el SO, y para mantenerlos a todos ocupados había que usar el motor DMA casi de manera óptima
      El acceso a memoria era lento, así que después de emitir un DMA pasaban más de 1000 ciclos antes de que los datos empezaran a llegar
      En ese entonces C++ era lo dominante y se usaban varios patrones de C++, pero las limitaciones de tamaño de instrucción eran tan grandes que el código que corría en la SPU se escribía a mano y no encajaba con el resto del motor
      Al final terminaba siendo como pegar dos bases de código distintas con cinta adhesiva
      Extraño la ingeniosidad que eso exigía, pero no su complejidad
      Las consolas de hoy se han simplificado mucho porque básicamente son PC con herramientas de desarrollo estilo PC
      Aun así, por mucho que uno se queje de la PS3, al menos no era la PS2
  • El artículo dice que la PS3 fue una de las consolas menos exitosas de Sony y que perdió ampliamente la competencia generacional frente a la Nintendo Wii, más barata y amigable para el público casual, y a la Xbox 360, menos potente pero más fácil de desarrollar
    Pero en Europa, da la impresión de que Xbox nunca terminó de asentarse en la UE y que la PS3 fue bastante popular, especialmente junto con Call of Duty
    La Wii también fue enormemente popular en ese momento, pero el público comprador de PS3 y Wii era distinto
    La Wii era más adecuada para juegos casuales en familia, mientras que la PS3 era para jugadores más serios que jugaban títulos más hardcore como COD, FIFA y PES, y para los verdaderamente hardcore, por supuesto, estaba la PC

    • Puede ser, pero en términos generales la PS3 fue la perdedora en esa época, y recién hacia el final de esa generación logró superar por poco a la Xbox 360 a nivel mundial, después de años de varias rebajas de precio y de construir un catálogo sólido
      Considerando el dominio aplastante de la PSX y la PS2, claramente no fue el resultado que Sony esperaba
      No fue tan dramático como Nintendo perdiendo mercado al pasar de SNES a N64, pero probablemente dentro de Sony hubo muchas discusiones parecidas
      En la generación anterior, Xbox había sido la consola de tercer lugar, muy rezagada, así que para Microsoft probablemente se consideró un gran éxito haber perdido por poco frente a Sony en el último momento
      Especialmente después del desastre del RROD, y sin ese problema es muy probable que Microsoft hubiera superado a Sony en ventas
    • Puede que la PS3 haya estado por detrás de la Xbox 360 en ventas globales durante la mayor parte de su vida útil y que eso haya sido decepcionante para Sony después del dominio de la PS2
      Pero es difícil decir que “perdió de forma aplastante” contra la Xbox 360, y aunque tomó tiempo, al final vendió más
      Da la impresión de que la expresión del entrevistador fue innecesariamente tajante
      También parece subestimarse qué tan potente era la Xbox 360
      Es cierto que su CPU era bastante más pequeña que Cell, unas 150 millones de transistores frente a alrededor de 250 millones de Cell, pero no era una diferencia de múltiples veces como sugieren algunos artículos
      De hecho, podría decirse que la GPU de Xbox estaba bastante más adelantada
      Tenía un tamaño similar o incluso algo mayor, y usaba una arquitectura de shaders unificados que luego pasaría a dominar las GPU
      Gracias a su estructura más flexible, también podía encargarse de tareas generales de GPU que en PS3 probablemente habrían recaído en los SPU de Cell
      Eso sí, esos primeros modelos de GPU de propósito general también eran difíciles de programar, igual que los SPU de Cell
      Así que, más que decir que una era simple y fácil y la otra absurdamente compleja y avanzada, lo más correcto es ver que una tenía elementos experimentales en el die del CPU/Cell y la otra en el die de la GPU
      Las técnicas usadas en GPU siguieron evolucionando y terminaron reemplazando buena parte de la tecnología estilo Cell
    • En el Reino Unido, la Xbox 360 definitivamente era mucho más popular
    • Si estuviste en esa época, era imposible no conocer el meme de nogaems
  • Lo más lamentable de la PS3 es que, por la falta de compatibilidad hacia adelante, grandes juegos como MGS4 y Demon’s Souls quedaron atados a esa plataforma
    En cambio, del lado de Xbox hay 633 juegos de Xbox 360 que puedes jugar en una Xbox nueva con solo meter el disco
    Parte de eso seguramente se debe a diferencias en el enfoque empresarial de cada compañía, pero por lo que he leído, también pesa mucho la arquitectura singular y confusa de la PS3
    https://en.m.wikipedia.org/wiki/List_of_backward-compatible_...

    • A pesar de su arquitectura exótica, la PS3 se emula bastante bien incluso en máquinas más “convencionales”
      Gracias al excelente emulador RPCS3, me sorprendió poder jugar realmente títulos de PS3 en una laptop vieja y que ni siquiera era tope de gama
      La PS5 es muchísimo más potente que mi laptop, así que en teoría SONY podría ofrecer esos juegos de PS3 mediante emulación
    • Por culpa de la PlayStation 3 seguí teniendo un reproductor de DVD/Blu-ray aparte y nunca entré al ecosistema PlayStation
      Había algunos juegos de PS3 que me interesaban y, si hubieran funcionado en PS4, habría comprado una PS4 y probablemente también una PS5
    • Xbox canceló el desarrollo del emulador
  • Los chips gráficos de la Xbox 360 y la Wii fueron desarrollados por ATI
    AMD compró ATI unos meses antes del lanzamiento de la Wii, pero decir que AMD hizo ese chip se siente un poco revisionista

    • Incluso decir que lo desarrolló ATI es un poco más complejo
      En realidad, quien lo diseñó fue ArtX, formada principalmente por exingenieros de SGI que también habían trabajado en la N64, y después ATI compró ArtX
  • Hay una excelente entrada de blog sobre la arquitectura de la PS3: https://www.copetti.org/writings/consoles/playstation-3/
    Da una muy buena visión general del procesador Cell, y si quieres profundizar más, también están los materiales enlazados

    • Este sitio web es realmente excelente
      Está lleno de detalles sobre consolas y la combinación de texto, imágenes e incluso modelos 3D queda muy bien
  • Entiendo empezar con una pregunta sobre lo de “infame” en el artículo, pero eso lleva a un problema más profundo que me viene molestando desde hace años
    Las consolas de videojuegos de hoy son básicamente PCs optimizadas
    Son prácticamente muy distintas de las consolas de 1.ª, 2.ª y 3.ª generación, que tenían hardware único y exclusivas atractivas
    Puede que Cell haya sido difícil de programar bien, pero el solo hecho de preocuparse por si los desarrolladores podían ser flojos con los ports me parece que muestra muy bien el estado actual de las consolas
    La idea es que el consumidor tonto va a comprar cualquier cosa de todos modos
    Gracias al hardware relativamente único de las primeras generaciones, los juegos realmente tenían que optimizarse y ajustarse al hardware
    No había ports flojos, y las exclusivas tenían que ser buenas o al menos mostrar de lo que la consola era capaz
    ¿Entonces por eso Cell es infame? Cell incluso llegó a ser noticia por poder usarse en clústeres
    Mi interpretación es distinta
    Cell es un remanente de una época en la que las consolas todavía valían la pena de dedicarles tiempo
    [1]https://en.wikipedia.org/wiki/PlayStation_3_cluster

    • La respuesta está en el artículo
      No se trata de flojera en los ports, sino de que el presupuesto de assets del juego se ha vuelto tan grande que hacer juegos es excesivamente caro
      Si una empresa normal quiere recuperar la inversión, en la práctica tiene que lanzar en varios sistemas
      Cada vez que mejoran los gráficos, el problema empeora
      Hay más modelos, texturas, detalles y todo cuesta dinero
      A menos que sea un megahit del tamaño de Zelda o Last of Us, puede que no recuperes los costos con una sola plataforma
      E incluso si pudieras, no hay razón para no sacarlo también en otras plataformas y ganar más
      Hay una razón por la que las exclusivas casi solo salen de estudios first-party
    • Extraño el hardware exótico y, personalmente, el N64 sigue siendo mi consola favorita de todos los tiempos, pero al final lo que la gente quiere son grandes juegos y el hardware no es más que un medio para un fin
      Creo que el problema más grande de las consolas de la generación actual, especialmente PS5 y Xbox, es la homogeneización y el estancamiento de los dispositivos de entrada
      Históricamente, las consolas miraban hacia adelante al permitir nuevas formas de jugar a través del control
      Si dejamos fuera los accesorios opcionales y vemos solo las capacidades incluidas de base, N64 ofrecía control analógico, 4 puertos para controles y puerto de expansión del control; PS1, control analógico dual; PS2, botones sensibles a la presión y vibración integrada; Wii, controles por movimiento; Wii U, pantalla en el gamepad; PS4, touchpad; Switch, controles separables y compartibles; y XB1, Kinect
      Eso no significa que todas las nuevas formas de entrada hayan sido exitosas, pero hasta la época de PS3/360 las consolas ofrecían algo nuevo en la manera de experimentar los juegos
      Ahora eso casi se detuvo, y el único que sigue introduciendo de forma constante nuevas maneras de jugar que no se pueden reproducir fácilmente en PC es Nintendo
      Hoy conectas un control de PS5/Xbox a una PC y obtienes una experiencia igual o mejor que comprar la consola dedicada, así que disminuye la razón para comprar una consola
    • No sé cómo estés contando las generaciones, pero la 2.ª generación fue Atari 2600 y sus contemporáneas, y la 3.ª fue NES y Master System
      Las consolas tuvieron hardware único hasta la 7.ª generación, la de PS3 y Xbox 360
    • Creo que la fama de “infame” viene de la combinación entre el marketing exagerado de Sony alrededor de la arquitectura, en plan “supercomputadora en un chip”, y la dificultad real de programarla
      Se parece a la exageración alrededor del Emotion Engine de PS2
      El gran problema era que los SPE no tenían forma de acceder a la memoria principal, así que había que copiar los datos de la RAM a la memoria local de cada SPE
    • Llamar flojos a los desarrolladores es señal de no entender en absoluto la gestión de proyectos
  • Como este es un artículo de comentario sobre la entrevista, probablemente puedas interpretarlo mucho mejor si ves la entrevista original directamente
    Hay más detalles que me parecieron interesantes en la entrevista original
    https://stratechery.com/2024/an-interview-with-amd-ceo-lisa-...