Neuer Prozessor für den Mainframe: IBMs Chefarchitekt erklärt das Telum-Design

Seite 2: Unterschiede von Mainframe-Prozessoren und anderen Designs

Inhaltsverzeichnis

Zu Beginn Ihrer Karriere bei IBM haben Sie ja sowohl die Power- als auch die Mainframe-Prozessoren weiterentwickelt. Vielleicht können Sie uns einmal die größten Unterschiede und die wichtigsten Gemeinsamkeiten dieser Prozessor-Architekturen erklären?

Die Z-Prozessoren beruhen auf der z/Architecture. Das ist eine stetig weiterentwickelte Architektur, die auf dem S/360-Befehlssatz aus 1964 aufbaut – damals die erste auf Vorwärtskompatibilität ausgelegte Architektur und somit ein Meilenstein in der Informatik. Natürlich gibt es in jeder Generation auch neue Instruktionen: Mit dem Telum-Chip unterstützen wir zum Beispiel neue Instruktionen für Künstliche Intelligenz.

Die Power-Prozessoren implementieren eine RISC-Architektur, sind also vom Befehlssatz sehr unterschiedlich. Aber es gibt natürlich auch einige Gemeinsamkeiten: Sowohl die Power- als auch Z-Systeme sind Enterprise-Systeme, jedoch mit etwas unterschiedlichen Prioritäten. Beide Systeme sind optimiert für Hochverfügbarkeit, Performance und Skalierbarkeit. Die beiden Plattformen optimieren über diese Dimensionen mit etwas unterschiedlicher Priorisierung, basierend auf den unterschiedlichen Anforderungen und Anwendungsgebiete unserer Kunden.

Nutzt IBM denn Synergien in Entwicklung und Produktion der Prozessor-Chips? Immerhin werden sowohl der kommende Mainframe-Prozessor Telum als auch der aktuelle Power10-Prozessor mit 7-nm-Strukturen vom Technologie-Partner Samsung mithilfe Extremer Ultraviolett-Lithografie hergestellt.

Ja, es gibt sehr viel Synergie! So unterschiedlich die Befehlssätze sind, gibt es doch viele Komponenten, die wir teilen. Das geht los mit Tools, weiter über Gate-Libraries, SRAM-Designs bis hin zu Interfaces wie PCIe oder zum Open-Memory-Interface, kurz OMI. Und auch auf der Mikroarchitektur-Ebene gibt es regelmäßigen Austausch – der Ring auf dem Telum-Chip hat zum Beispiel viel Gemeinsamkeit mit dem Ring auf dem Power10-Chip.

Gibt es weitere Gemeinsamkeiten zwischen diesen Prozessor-Architekturen? Beide warten ja zum Beispiel mit neuen Features wie KI-Inferenzbeschleunigung und virtuellen Caches auf.

Beide Plattformen haben Funktionalität, die für moderne Enterprise-Systeme fundamental wichtig sind, zum Beispiel Beschleuniger für Kryptografie. Mit Power10 und Telum kommen KI-Beschleuniger hinzu. Manchmal können wir viele Details in der Implementierung teilen, zum Beispiel bei den Beschleunigern für Datenkomprimierung in den Power9- und z15-Prozessoren. Bei anderen Beispielen führen uns die spezifischen Anwendungsfälle oder allgemeine Systemarchitektur zu unterschiedlichen Implementierungen.

Verstehe ich das richtig: Diese Features sind teilweise sehr unterschiedlich implementiert?

Das stimmt, manchmal implementieren wir Dinge genau gleich, aber manchmal optimieren wir auch unterschiedlich für die verschiedenen Einsatzbereiche. Das neue Memory-Interface OMI ist ein gutes Beispiel. Sowohl Power10 als auch Telum benutzen das gleiche Interface und die gleichen DIMMs, aber Telum implementiert ein RAIM-Design (Redundant Array Of Independent Memory), das jede Cache-Line über 8 DIMMs verteilt. Kommt es zum Komplettausfall eines DIMMs, zum Beispiel falls ein Voltage-Regulator auf einem DIMM ausfällt, kann Z transparent die Daten per Fehlerkorrektur aus den übrigen 7 DIMMs rekonstruieren und einfach weiterlaufen. Das ist ein wichtiges RAS-Feature für uns, das uns etwas Memory-Latenz und Bandbreite kostet. Power implementiert stattdessen einen starken ECC-Code – das ist auch gutes RAS, nicht ganz so gut wie RAIM, ermöglicht dafür aber höhere Memory-Bandbreiten als bei Z. Das sind die unterschiedlichen Kompromisse, die wir für die beiden Systeme machen.

Warum werden denn beim Mainframe die verschiedenen Cache-Level virtualisiert? Virtualisierung kostet doch immer Performance.

Mit Telum haben wir uns entschieden, möglichst große Level-2-Caches pro Core zu bauen – und mit 32 MByte Level-2-Cache mit nur 3,8 Nanosekunden Latenz haben wir da wirklich ein einzigartiges Design.

Wir wollten aber natürlich nicht den Performance-Vorteil unserer großen Level-3- und Level-4-Caches aufgeben; also haben wir diesen neuen Design-Ansatz gewählt, bei dem wir die unterschiedliche Auslastung der Caches auf dem Chip und über die vier Sockets in einem Drawer ausnutzen. Insgesamt haben wir somit 256 MByte Virtual-L3 und 2 GByte Virtual-L4. Und die Latenz ist im Durchschnitt besser als bei z15 – die Virtualisierung kostet hier also keine Performance, sondern sorgt eher dafür, dass die Daten, die man häufig braucht, auch nah und schnell für die CPU verfügbar sind.