AMD-CEO Lisa Su erinnert sich an das Design des berüchtigten Cell-Prozessors der PS3
(tomshardware.com)- AMD-CEO Lisa Su war während ihrer Zeit bei IBM an der Entwicklung des Cell-Prozessors für die PS3 beteiligt und setzte ihre Laufbahn später bei AMD mit Hardware für PlayStation 4 und 5 fort
- Su, die 2001 bei IBM Emerging Products Director war, sagte, IBM, Sony und Toshiba hätten den „in fünf Jahren benötigten Prozessor“ von Grund auf entworfen und sich dabei extrem auf Parallelisierung konzentriert
- Cell war für seine Zeit ein ambitioniertes Design, doch die PS3 war schwer zu programmieren, sodass die Leistung von Multiplattform-Spielen mitunter hinter den Erwartungen zurückblieb
- Nachdem Sonys First-Party-Entwickler die Hardware beherrschten, erzielten Exklusivtitel deutliche visuelle Fortschritte; der HD-Übergang und der Druck durch Multiplattform-Entwicklung erhöhten jedoch die Belastung durch Cells Sonderweg
- Ab der achten Konsolengeneration wechselten PlayStation und Xbox zu AMD-basierten x86-CPUs und -GPUs, wodurch AMD zum zentralen Hardwarelieferanten der beiden großen Konsolenplattformen wurde
Lisa Sus Verbindung zu PlayStation-Hardware
- Kurz nach der Computex 2024 sprach AMD-CEO Lisa Su in einem Stratechery-Interview über das Lösen schwieriger Probleme in ihrer Karriere und erwähnte dabei ihre Zeit bei IBM sowie Erfahrungen rund um PlayStation
- Su nannte „PlayStation 3, 4, 5“ als Beispiele und sagte, sie habe über mehrere Unternehmen hinweg lange an PlayStation gearbeitet
- Der IBM-PowerPC-basierte Cell-Prozessor der PS3 war für seine schwer programmierbare Architektur bekannt; dass Su daran beteiligt war, war vor diesem Interview jedoch nicht allgemein bekannt
Die Cell-Konzeption von IBM, Sony und Toshiba im Jahr 2001
- Su, die 2001 bei IBM Emerging Products Director war, beschrieb den Zeitpunkt, an dem IBM, Sony und Toshiba über die nächste Prozessorgeneration nachdachten
- Damals habe das Team „bei null angefangen und sich vorgestellt, welche Art von Prozessor in fünf Jahren nötig sein würde“, sagte Su
- Die drei Unternehmen beschlossen, eine CPU mit starkem Fokus auf Parallelisierung zu entwickeln
- Im damaligen Kontext war dieser Ansatz seiner Zeit voraus
- SMT erschien 2002
- Die ersten Multicore-CPUs für Verbraucher von AMD und Intel kamen erst 2005 auf den Markt
- IBM brachte 2001 den ersten Multicore-Prozessor für Workstations und Server heraus und plante im selben Jahr den Cell-Prozessor der PS3
Entwicklungsaufwand der PS3 und Erfolge in der Spätphase
- Die PS3 gilt unter Sonys Konsolen als eine der weniger erfolgreichen und wurde nach verbreiteter Einschätzung von Nintendos günstiger, casual-orientierter Wii sowie Microsofts weniger leistungsstarker, aber einfacher zu handhabender Xbox 360 übertroffen
- Wegen der Architekturkomplexität erreichten Multiplattform-Spiele auf der PS3 nicht immer die erwartete Leistung
- Als Entwickler, insbesondere Sonys First-Party-Entwickler, die Hardware beherrschten, galten Sony-Exklusivtitel in der späteren Phase der Generation als visuell herausragende Konsolenspiele
- Als Beispiel wird Uncharted 3 genannt
- Su bewertete Cell als damals sehr ambitioniert und hob den Ansatz hervor, Parallelität auszuschöpfen
- Aus Geschäftssicht sei Cell erfolgreich gewesen, sagte sie, fügte aber hinzu, dass die historische Bewertung zu einer anderen Rangfolge kommen könne
Veränderte Anforderungen der Entwickler nach dem HD-Übergang
- Laut Su durchlief die Konsolenära mehrere Phasen, und nach dem HD-Übergang stiegen die Kosten für die Asset-Erstellung stark an
- Entwickler hatten stärkere Anreize, mehrere Prozessoren zu unterstützen, und zugleich kamen Game Engines auf
- In diesem Verlauf wollten Entwickler weniger eine besondere Differenzierung auf Cell erreichen, sondern dass ihre Spiele auf Cell liefen
- Cells einzigartige Struktur war technisch ambitioniert, wurde im Umfeld von Multiplattform-Entwicklung und enginebasierter Produktion jedoch zur Belastung
Veränderte Position der Konsolenhersteller und von AMD
- In der siebten Heimkonsolengeneration mit PlayStation 3, Xbox 360 und Nintendo Wii/Wii U nutzten alle drei Konsolenhersteller PowerPC-CPU-Architekturen
- AMD lieferte damals Grafikchips an Nintendo und Xbox
- Ab der achten Konsolengeneration änderte sich die Hardwarewahl
- PlayStation 4 und Xbox One wechselten zu AMD-basierten x86-CPU/GPU-Architekturen
- Nintendo Switch wechselte zu einem Nvidia-basierten SoC-Design mit Arm-CPU-Kernen
- Su war bei IBM als Product Director und Engineer an der PS3 beteiligt, wurde 2012 Senior Vice President bei AMD und 2014 AMD-CEO
- AMD lieferte zwei Generationen in Folge die zentrale Konsolenhardware für PlayStation und Xbox und dürfte dies voraussichtlich auch in der nächsten Generation fortsetzen
1 Kommentare
Hacker-News-Kommentare
In einem Kurs zu heterogener Programmierung haben wir auf der PS3 grundlegende Dinge wie einen MPEG-ähnlichen Encoder implementiert.
Das war eine interessante Erfahrung, aber woran ich mich heute erinnere: Für ordentliche Performance musste man die Vektoreinheit der SPE sorgfältig nutzen, und die Synchronisierung zwischen SPE und PPE war ziemlich lästig.
Bei jeder Aufgabe konnte der Professor Benchmarks einbeziehen und die Performance im Kurs vergleichen; der Unterschied zwischen Studierenden, die Zeit in Optimierung steckten, und denen mit einer Basisimplementierung war enorm.
Nachdem ich bereits einen OS-Kurs besucht hatte, in dem man ein Betriebssystem von Grund auf baut, wirkte das wie der nächste Schritt.
Der OS-Kurs hatte 20 Credits, aber der Kurs zu heterogener Programmierung nur 10; da viele sagten, der tatsächliche Arbeitsaufwand liege weit über 10 Credits, musste ich ihn am Ende aufgeben, weil ich noch andere Kurse und meine Abschlussarbeit parallel stemmen musste.
Der OS-Kurs ist hier: https://www.uio.no/studier/emner/matnat/ifi/IN4000/index-eng...
Mich würde auch interessieren, ob das ein Kurs war, der sich direkt mit Spiel-/Konsolenentwicklung befasste.
Die Developer Experience trifft die Entwickler direkt, deshalb ist es nicht so schwer, sie richtig zu gestalten, und der Nutzen ist groß, wenn man es gut macht.
Bei heutigen GPUs sieht man ähnliche Situationen, in denen man Daten verschieben, Pipelines einrichten und auf die Eigenheiten einer bestimmten GPU achten muss.
Ich frage mich, ob er noch angeboten wird.
Ich wusste nicht, dass Lisa Su am Cell-Design beteiligt war; ziemlich cool.
In gewisser Hinsicht war die Cell-Architektur ihrer Zeit ziemlich voraus, und aus etwas anderer Perspektive ähnelt die PPE/SPE-Konfiguration heutigen Grace/Hopper-Systemen: Ein großer Core für Verzweigungen dirigiert viele kleinere Vektor-Cores.
Nur war sie so anders als alles andere, dass Spieldesign und Portierungen enorme Kopfschmerzen bereiteten.
Als es 2005 auf den Markt kam, hatte x86_64 jedoch klar die Krone bei der CPU-Leistung übernommen, ARM dominierte den mobilen Low-Power-Bereich, und ATI sowie Nvidia trieben den GPU-Wettbewerb an.
Dadurch wurde Cell zu einem teuren, schwer zu programmierenden Zwitter, der von allem ein bisschen konnte, aber in nichts der Beste war; für den neuen Markt brauchte niemand so etwas.
Sony oder sonst irgendwer hatte wohl nicht erwartet, dass sich die Consumer-CPU- und GPU-Branche in dieser Zeit so schnell entwickeln würde; hätten sie es gewusst, hätten sie wohl nicht Hunderte Millionen Dollar in eine komplett neue Architektur gesteckt.
Intel machte damals mit Itanium denselben Fehler, als sie versuchten, die Branche neu zu erfinden; im Nachhinein ist das offensichtlich.
Der technische Fortschritt in jener Zeit war wirklich wild.
Man kaufte eine neue CPU, und zwei Jahre später waren 64-Bit-CPUs der Trend; dann kaufte man eine 64-Bit-CPU, um cool zu wirken, und kurz darauf waren Dual-Core-CPUs angesagt.
Trivia: Lisa Su und Jensen Huang sind miteinander verwandt: https://www.tomshardware.com/news/jensen-huang-and-lisa-su-f...
Tatsächlich ist die Lieferkette für Halbleiterchips so stark verteilt, dass ein Krieg, der den internationalen Handel spürbar stört, die gesamte Branche zum Einsturz bringen könnte.
Unter den zentralen Zulieferern der Halbleiter-Lieferkette gibt es viel zu viele Fälle, die ein einziges Unternehmen sind oder fast einem Oligopol eines einzelnen Landes entsprechen.
Hintergrund dazu hier: https://news.ycombinator.com/item?id=5561505
Ich habe die Arbeit mit Cell wirklich gemocht.
Ich erinnere mich daran, wie ich meinen ersten SPU-Code schrieb, als das PS3-Development-Kit noch ein riesiger Edelstahlkasten war.
Später habe ich bei Midnight Club prädiktive Physik zur Optimierung der Ideallinie auf der SPU implementiert, und das hat richtig Spaß gemacht.
Das Ungewöhnliche war, dass die interne Bitbreite der Floating-Point-Unit anders war als bei der PPU; um deterministische Ergebnisse zu erhalten, musste man Threads daher so schedulen, dass sie stets deterministisch entweder auf der PPU oder der SPU landeten.
In Netzwerkspielen, in denen die Simulation zwischen Spielern bitgenau identisch sein muss, war das unverzichtbar.
Es ist lange her, aber ich erinnere mich noch an viele Herausforderungen.
Die SPEs hatten keinen Shared-Memory-Zugriff auf den RAM, daher mussten Entwickler die Datenübertragung selbst lösen, und jede SPE hatte 256 KB RAM.
Für damalige Verhältnisse waren diese Einheiten sehr schnell und verarbeiteten Daten im Handumdrehen; deshalb haben wir den RAM doppelt gepuffert, etwa 100 KB für Daten genutzt und weitere 100 KB gleichzeitig als Lesepuffer für die DMA-Engine verwendet.
Der schwierigste Teil war, die Daten hinein- und wieder herauszubekommen.
Es gab 6 verfügbare SPEs, 2 waren vom OS reserviert, und um sie alle beschäftigt zu halten, musste man die DMA-Engine nahezu optimal nutzen.
Speicherzugriffe waren langsam: Nachdem man einen DMA angestoßen hatte, dauerte es über 1000 Zyklen, bis die Daten einzutreffen begannen.
Damals war C++ dominierend und es wurden verschiedene C++-Patterns genutzt, aber wegen der starken Einschränkungen bei der Instruktionsgröße haben wir den Code, der auf der SPU laufen sollte, von Hand geschrieben; er passte nicht zum Rest der Engine.
Am Ende verband man zwei unterschiedliche Codebasen mit Klebstoff.
Die Cleverness, die damals nötig war, vermisse ich, die Komplexität nicht.
Heutige Konsolen sind im Grunde PCs mit PC-artigen Entwicklungswerkzeugen, was alles deutlich einfacher macht.
Trotzdem: Auch wenn ich mich viel über die PS3 beschwere, wenigstens war sie keine PS2.
Im Artikel heißt es, die PS3 sei eine der am wenigsten erfolgreichen Konsolen von Sony gewesen und habe im Generationswettbewerb deutlich gegen die günstige, casual-freundliche Nintendo Wii und die weniger leistungsfähige, aber einfacher zu handhabende Xbox 360 verloren.
In Europa hatte man jedoch den Eindruck, dass Xbox in der EU kaum Fuß fasste und die PS3, besonders zusammen mit Call of Duty, recht weit verbreitet war.
Auch die Wii war damals enorm beliebt, aber die Käuferschichten von PS3 und Wii unterschieden sich.
Die Wii eignete sich eher für Casual-Games in der Familie, während die PS3 für ernsthaftere Gamer gedacht war, die etwas härtere Titel wie COD, FIFA oder PES spielten; für wirklich Hardcore-Gamer gab es natürlich den PC.
Angesichts der überwältigenden Dominanz von PSX und PS2 war das sicher nicht das Ergebnis, das Sony erwartet hatte.
Es war nicht ganz so dramatisch wie Nintendos Marktverlust beim Übergang vom SNES zum N64, aber intern dürfte es bei Sony viele ähnliche Diskussionen gegeben haben.
In der vorherigen Generation war die Xbox eine weit abgeschlagene Konsole auf Platz drei; dass Microsoft Sony am Ende nur knapp unterlag, dürfte dort wahrscheinlich als großer Erfolg gegolten haben.
Zumal nach der Katastrophe namens RROD; ohne dieses Problem hätte Microsoft Sony bei den Verkaufszahlen wahrscheinlich geschlagen.
Aber zu sagen, sie sei von der Xbox 360 „völlig geschlagen“ worden, ist schwer haltbar; es dauerte zwar, aber am Ende verkaufte sie sich häufiger.
Die Formulierung des Interviewers war wohl ungenau stark.
Außerdem scheint unterschätzt zu werden, wie leistungsfähig die Xbox 360 war.
Die CPU war zwar deutlich kleiner als Cell, aber es ging ungefähr um 150 Millionen Transistoren gegenüber Cells rund 250 Millionen, nicht um ein Vielfaches, wie manche Artikel andeuten.
Die GPU hingegen kann man als deutlich fortschrittlicher auf Xbox-Seite ansehen.
Sie war ähnlich groß oder etwas größer und nutzte eine Unified-Shader-Architektur, die später GPUs dominieren sollte.
Dank der flexibleren Struktur waren auch General-Purpose-GPU-Aufgaben möglich, die auf der PS3 wohl von den Cell-SPUs erledigt worden wären.
Allerdings waren auch solche frühen General-Purpose-GPU-Modelle, ähnlich wie Cell-SPUs, schwierig zu programmieren.
Daher ist es treffender zu sagen, dass eine Seite ihre experimentellen Elemente auf dem CPU-/Cell-Die hatte und die andere auf dem GPU-Die, statt dass die eine simpel und einfach und die andere völlig verrückt komplex und fortschrittlich gewesen wäre.
Die in GPUs verwendeten Techniken entwickelten sich weiter und ersetzten einen erheblichen Teil der Cell-artigen Technologie.
Das Bedauerlichste an der PS3 ist, dass wegen der fehlenden Vorwärtskompatibilität großartige Spiele wie MGS4 und Demon’s Souls an die Plattform gebunden blieben.
Bei Xbox dagegen gibt es 633 Xbox-360-Spiele, die man spielen kann, indem man einfach die Disc in eine neue Xbox einlegt.
Das liegt zum Teil wohl an unterschiedlichen geschäftlichen Ansätzen der Unternehmen, aber nach allem, was ich gelesen habe, auch stark an der eigenartigen und chaotischen Architektur der PS3.
https://en.m.wikipedia.org/wiki/List_of_backward-compatible_...
Dank des hervorragenden RPCS3-Emulators war ich überrascht, dass ich auf einem alten Laptop, der nicht einmal Spitzenklasse ist, tatsächlich PS3-Spiele spielen kann.
Die PS5 ist viel leistungsfähiger als mein Laptop, also könnte SONY diese PS3-Spiele theoretisch per Emulation anbieten.
Es gab ein paar PS3-Spiele, die mich interessierten; wenn sie auf der PS4 gelaufen wären, hätte ich eine PS4 gekauft und wahrscheinlich auch eine PS5.
Die Grafikchips der Xbox 360 und der Wii wurden von ATI entwickelt.
AMD übernahm ATI zwar einige Monate vor dem Start der Wii, aber zu sagen, AMD habe diesen Chip gebaut, wirkt etwas revisionistisch.
Tatsächlich wurde er von ArtX entworfen, einem Team, das vor allem aus ehemaligen SGI-Leuten bestand, die auch am N64 gearbeitet hatten; später übernahm ATI ArtX.
Es gibt einen hervorragenden Blogbeitrag zur PS3-Architektur: https://www.copetti.org/writings/consoles/playstation-3/
Er gibt einen guten Überblick über den Cell-Prozessor, und wenn man tiefer einsteigen möchte, gibt es dort auch verlinkte Materialien.
Sie ist voller Details zu Konsolen, und die Mischung aus Text, Bildern und sogar 3D-Modellen ist sehr ansprechend.
Dass der Artikel mit der Frage nach dem Ausdruck „berüchtigt“ beginnt, kann ich nachvollziehen, aber das führt zu einem tieferliegenden Problem, das mich seit einigen Jahren stört.
Heutige Spielkonsolen sind im Grunde optimierte PCs.
Sie haben praktisch nichts mehr mit Konsolen der ersten, zweiten und dritten Generation zu tun, die noch einzigartige Hardware und attraktive Exklusivtitel hatten.
Cell mag schwer korrekt zu programmieren gewesen sein, aber schon die Tatsache, dass man sich Sorgen darüber macht, ob Entwickler bei Ports faul sein könnten, zeigt meiner Ansicht nach den heutigen Zustand von Konsolen sehr gut.
Nach dem Motto: Dumme Konsumenten kaufen ohnehin alles.
Wegen der relativ einzigartigen Hardware der frühen Generationen mussten Spiele tatsächlich auf die Hardware hin optimiert und angepasst werden.
Faule Ports gab es nicht, und Exklusivtitel mussten gut sein oder zumindest zeigen, wozu die Konsole fähig war.
Ist Cell also deshalb berüchtigt? Cell war immerhin auch ein Stück Hardware, über das berichtet wurde, weil man es in Clustern betreiben konnte.
Meine Interpretation ist eine andere.
Cell ist ein Überbleibsel aus einer Zeit, in der Konsolen noch die Mühe wert waren.
[1]https://en.wikipedia.org/wiki/PlayStation_3_cluster
Das ist kein Problem von Faulheit beim Portieren, sondern eines, bei dem das Budget für Game Assets so groß geworden ist, dass die Spieleentwicklung übermäßig teuer wurde.
Ein vernünftiges Unternehmen muss praktisch auf mehreren Systemen veröffentlichen, wenn es seine Investition wieder hereinholen will.
Mit jeder Verbesserung der Grafik wird das Problem schlimmer.
Modelle, Texturen, Details – von allem braucht es mehr, und alles kostet Geld.
Wenn es kein riesiger Hit wie Zelda oder Last of Us ist, lassen sich die Kosten mit nur einem Gerät womöglich nicht wieder einspielen.
Und selbst wenn es möglich wäre, gibt es keinen Grund, nicht zusätzlich auf anderen Geräten zu veröffentlichen und mehr zu verdienen.
Es hat seinen Grund, dass Exklusivtitel fast nur noch von First-Party-Studios kommen.
Das größere Problem der aktuellen Konsolengeneration, besonders bei PS5 und Xbox, sehe ich in der Homogenisierung und Stagnation der Eingabegeräte.
Historisch haben Konsolen über ihre Controller nach vorn geblickt und neue Spielweisen ermöglicht.
Wenn man optionales Zubehör ausklammert und nur auf die mitgelieferten Fähigkeiten schaut, bot das N64 analoge Steuerung, vier Controller-Ports und einen Erweiterungsport am Controller; die PS1 Dual-Analog-Steuerung; die PS2 druckempfindliche Tasten und integrierte Vibration; die Wii Motion Controls; die Wii U einen Bildschirm im Gamepad; die PS4 ein Touchpad; die Switch abnehmbare und teilbare Controller; und die XB1 Kinect.
Das heißt nicht, dass jede neue Eingabemethode erfolgreich war, aber bis ungefähr zur PS3/360 boten Konsolen etwas Neues in der Art, wie man Spiele erlebt.
Inzwischen ist das fast zum Stillstand gekommen, und Nintendo ist praktisch der einzige Anbieter, der weiterhin neue Spielweisen einführt, die sich auf dem PC nicht leicht nachbilden lassen.
Heute kann man einen PS5-/Xbox-Controller an den PC anschließen und bekommt ein Erlebnis, das dem Kauf einer dedizierten Konsole entspricht oder sogar besser ist; damit gibt es weniger Gründe, überhaupt noch eine Konsole zu kaufen.
Konsolen hatten bis zur siebten Generation, also PS3 und Xbox 360, einzigartige Hardware.
Das ähnelt auch dem Hype um die Emotion Engine der PS2.
Das große Problem war, dass die SPEs keinen Zugriff auf den Hauptspeicher hatten; Daten aus dem RAM mussten also in den lokalen Speicher jeder SPE kopiert werden.
Das hier ist ein erklärender Artikel zu einem Interview; wenn man das Originalinterview liest, kann man es direkt besser einordnen.
Viele Details, die ich interessant fand, stehen eher im Originalinterview.
https://stratechery.com/2024/an-interview-with-amd-ceo-lisa-...