AMD will NUMA-Architektur forcieren

Der Prozessorhersteller AMD möchte seine 64-Bit-Hammer-Prozessoren in Multiprozessor-Systemen mit NUMA-Architektur sehen.

In Pocket speichern vorlesen Druckansicht 32 Kommentare lesen
Lesezeit: 3 Min.

Der Prozessorhersteller AMD möchte seine Hammer-Prozessoren in Multiprozessor-Systemen mit NUMA-Architektur sehen, wie der Marketing Manager Bob Mitton auf einer Platform Conference mitgeteilt hat. Als Verbindungsbus soll LDT (Lightning Data Transport) zum Einsatz kommen, ein I/O-Bussystem, das AMD auf dem Microprocessor Forum 1999 vorgestellt hat und das mit 1,6 GBit/s pro Pin arbeiten kann. Bei 16 Bit Busbreite wären die Nodes so mit 3,2 GByte/s Bandbreite verbunden.

Das bedeutet nicht zwangsläufig eine Abkehr von EV6, dem Frontside-Bus der aktuellen AMD-Prozessoren Athlon und Duron. Denn NUMA (Non Uniform Memory Access) beschreibt kein konkretes Bussystem, sondern lediglich eine Strategie zur Kopplung von Multiprozessorsystemen. Dabei kommunizieren einzelne Nodes über einen speziellen Bus miteinander, wobei jede Node aus Hauptspeicher und einem oder mehreren Prozessoren besteht. Innerhalb der Nodes können die Prozessoren durchaus ein anderes Busprotokoll als außerhalb nutzen (siehe c't 7/97, S. 256). So existieren beispielsweise Lösungen wie der M800i von Fujitsu mit acht Intel Xeon-Prozessoren. Je vier davon bilden einen Node, der intern mit Intels normalen GTL+-Bus arbeitet und mit den anderen Nodes über eine spezielle Systembuskopplung verbunden ist.

Welchen Frontside-Bus die Hammer-Familie (bestehend aus den 64-Bit-Prozessoren Sledgehammer und Clawhammer, die Anfang 2002 erscheinen sollen) nutzen, geht aus den bisherigen Veröffentlichungen zur Sledgehammer-Architektur x86-64 nicht hervor; dort beschreibt AMD lediglich das 64-Bit-Programmiermodell. Auch die Nachrichten, dass Transmeta den Sledgehammer morpht, lässt keine Rückschlüsse auf den Prozessorbus zu, da dies nur dem Test der Implementierung dient und kein konkret verwertbares System entsteht.

Bei Multiprozessor-Systemen hat sich die Kopplung von Speicher und Prozessor als Flaschenhals erwiesen. In herkömmlichen Mehrprozessorsystemen nutzen die Prozessoren einen gemeinsamen Bus und den gleichen Hauptspeicher und Peripherie. Diese UMA-Architektur (Uniform Memory Access) hat verschiedenen Untersuchungen zufolge bei maximal acht Prozessoren ihre Grenze erreicht, da die Konflikte beim Zugriff auf den Bus und Hauptspeicher die Leistungsfähigkeit zusätzlicher Prozessoren ausbremsen würden. So unterstützt beispielsweise Intels GTL+-Bus maximal vier Prozessoren. Etwas besser sollte es bei Lösungen wie AMDs EV6-Bus aussehen, da dort zumindest jeder Prozessor einen eigenen "Zugang" zum System hat und sich die Prozessoren so nur die Hauptspeicher-Bandbreite teilen müssen. Doch die bisherigen Meldungen über den passenden Multiprozessor-Chipsatz für Athlon-Systeme, den AMD760MP-Chipsatz, sprechen nur von Dual-Lösungen.

Als Ausweg aus dieser Misere existieren mehrere Konzepte. MPP (Massive Parallel Processing) und NUMA (Non Unified Memory Access) beispielsweise schließen kleine Einheiten von "fast kompletten" Rechnern, Nodes genannt, zusammen. MPP und NUMA unterscheiden sich vor allem im Programmiermodell: Bei MPP ist jede Node als eigener Rechner mit eigenem Speicher zu behandeln, wogegen NUMA-Systeme wie herkömmliche UMA- oder Einprozessor-Systeme mit einem einzigen großen Speicherbereich zu programmieren sind. Der Prozessor merkt sozusagen nur an den schlechteren Zugriffszeiten, wenn ein Speicherzugriff nicht auf den lokalen Speicher des Node erfolgt, sondern über den externen Bus an einen anderen Node geleitet ist. Die Leistungsfähigkeit eines NUMA-Systems hängt damit von der Qualität des Programmcodes ab und von der Lokalität des Algorithmus. Dabei mag helfen, dass der Sledgehammer eine neue Adressierungsart kennt, um Daten relativ zum Instructionpointer zu adressieren. (jow)