64-Bit-Computing/Parallelität und Miniaturisierung für mehr Leistung

Chiptechnik: Klar zur Wende

07.12.2001
Weiter, höher, schneller - dieses Prinzip gilt auch für die Leistungskapazität von Prozessoren. Entsprechend dem Moore''schen Gesetz werden sich die Rechenleistungen allerdings nur dann weiter steigern lassen, wenn die Hersteller alle Möglichkeiten gleichzeitig ausnutzen, Befehle parallel zu verarbeiten und dabei die Strukturen auf den Chips weiter zu verkleinern, um die Taktraten zu erhöhen. Von Herbert Wenk*

Die Leistung von Rechnern zu steigern erfordert von den Herstellern, die Bereiche Chiparchitektur, Fertigungstechnologie, Systemarchitekturen, Entwicklungswerkzeuge und Anwendungssoftware eng miteinander zu verzahnen. Vom ökonomischen Standpunkt aus betrachtet, wird dies aber künftig nur mehr für eine geringe Zahl von Chiparchitekturen machbar sein. Hinzu kommt der weiter wachsende Druck auf die Preise, dem die Chipfabrikanten nur begegnen können, indem sie große Stückzahlen produzieren.

Von seiner Leistung stand der von Digital Equipment Corp. (DEC) entwickelte Alpha-Chip seit seiner Markteinführung 1992 ununterbrochen in der Spitzengruppe. Mit der Übernahme von DEC 1999 reihte sich die Alpha-Familie in das Produktportfolio von Compaq mit ein. Die Rechenpower dieser Chipreihe wird sich nach Einschätzung der Compaq-Entwickler mit der für das nächste Jahr geplanten Einführung der "EV7"-Version nochmals verdoppeln. Neue Features wie On-Chip-I/O-Schnittstellen für die direkte Kommunikation zwischen den verschiedenen CPUs in einem Rechner werden darüber hinaus neue, hoch skalierende Server-Konfigurationen ermöglichen.

Trotzdem haben sich die Compaq-Verantwortlichen entschlossen, zwischen 2004 und 2006 die Hochleistungs-Server einschließlich der "Nonstop-Himalaya"-Familie auf die Prozessoren der "Itanium"-Familie von Intel umzustellen. Viele haben sich gefragt, warum das Unternehmen freiwillig diesen Vorsprung aufgibt. Doch bei Compaq glaubt man, dass die Chiptechnologie vor einem Wendepunkt steht.

In den zurückliegenden zehn Jahren ist die Rechenleistung von Mikroprozessoren nahezu um den Faktor 1000 gewachsen. Während dieser Zeit haben verschiedene Faktoren die Entwicklung der Architekturen beeinflusst. Vor allem die unterschiedliche Geschwindigkeit in den Bereichen der Prozessoren, des Hauptspeichers und der Kommunikationssubsysteme hat diese Phase geprägt. So hat beispielsweise durch die Verwendung von Registern und Cache-Speichern die lineare Abarbeitung von Befehlen durch eine Recheneinheit die in Programmen - zum Beispiel in Bereichen von Schleifen - vorhandene Lokalität ausgenützt und so die Rechenleistung drastisch verbessert.

Die bisherigen Bemühungen, die Leistung der Prozessoren zu steigern, haben zwei wesentliche Effekte geprägt: zum einen die Reduktion der Chipstrukturen, die eine Erhöhung der Taktfrequenzen ermöglicht, und zum anderen die Vergrößerung der Verarbeitungs- und Adressierfähigkeit der Zentraleinheiten.

Als es den Entwicklern gelungen war, die Verarbeitungs- und Adressierfähigkeit der Chips auf einen Standard von 64 Bit zu erhöhen, sprengten die Alpha-Systeme die bis dato herrschenden Adressgrenzen von 2 GB Programmgröße. Damit wurden völlig neue Anwendungen möglich, weil diese nun den großen Hauptspeicher nutzen konnten.

Mit 2 Gigahertz haben heute handelsübliche Prozessoren eine Taktgeschwindigkeit erreicht, die noch vor wenigen Jahren unvorstellbar war. Zum Vergleich: 1992 wurde der erste Alpha-Chip mit gerade 100 Megahertz getaktet und war damit zweimal so schnell wie damals erhältliche PC Prozessoren. Heute haben die wesentlich komplexeren Alpha-Prozessoren schon eine Taktfrequenz von 1 Gigahertz erreicht.

Es ist absehbar, dass es künftig immer schwieriger sein wird, die Taktgeschwindigkeiten im gleichen Maßstab weiter zu erhöhen. Die Chiphersteller müssen neue Technologien suchen, um die Entwicklung voranzubringen.

Parallelisierung steigert LeistungDie Verarbeitungsleistung lässt sich zwar prinzipiell dadurch erhöhen, dass zwei oder mehr Prozessoren eines Typs gemeinsam für die Ausführung von logisch zusammengehörigen Befehlsketten eingesetzt werden. Diese Strategie führt aber gleichzeitig zu neuen Problemen. Auf Grund der notwendigen Kommunikation zwischen unabhängigen Recheneinheiten kommt es zu Verzögerungen im Rechenablauf. Außerdem müssen Wartezeiten einkalkuliert werden, um die Abläufe synchron zu halten. Dennoch ist die Parallelisierung der Verarbeitung der Weg, der heute am intensivsten verfolgt wird.

Dies kann auf verschiedenen Ebenen geschehen. Die Fachleute unterscheiden hier vor allem in der Reihenfolge absteigender Granularität die Prozess-, Instruktions-, Thread- und Datenebene.

Parallelität auf der Datenebene kommt zum Beispiel bei der Bild- und Videobearbeitung zum Einsatz. In diesem Anwendungsgebiet soll ein Befehl auf einen großen Datensatz einwirken. Dafür haben die Entwickler heute in allen Prozessoren spezielle Hardware integriert, die für die Abarbeitung der dafür vorgesehenen Spezialbefehle zuständig ist. Diese CPU-Erweiterungen wie zum Beispiel "3D-Now" bei den Prozessoren von Advanced Micro Devices (AMD) bringen ihre zusätzliche Leistung allerdings nur, wenn die Anwendungssoftware bei der Umsetzung in das ablauffähige Programm darauf Rücksicht nimmt.

Als Thread wird eine zusammengehörige Befehlsgruppe innerhalb eines ablauffähigen Programms bezeichnet, die einen gemeinsamen Anfang und ein gemeinsames Ende hat. Das Gesamtprogramm besteht dabei aus einer Anzahl verschiedener Threads. Die aktuelle Implementierung von Alpha (EV6x) besitzt eine spezielle Hardwarelogik, die zur Laufzeit die Zuteilung der Befehle in einem Thread an die verschiedenen Rechenwerke optimiert und damit den Gesamtablauf wesentlich beschleunigt (Out-of-Order-Execution). Durch Verteilung der Threads auf verschiedene Prozessoren kann der Ablauf des Gesamtsystems noch weiter beschleunigt werden. Dieses Prinzip wird beispielsweise bei den modernen Supercomputern wie ASCI RED ausgenutzt. Hier ist eine große Zahl von Alpha-Systemen über ein Hochleistungsnetz zusammengeschaltet.

Code muss angepasst werdenMultithreading ist selbst auf einem einzelnen Chip möglich. Dies hat beispielsweise Intel mit "Hyperthreading" beim "Pentium 4" gezeigt. Auch Compaq hat dieses Prinzip für die ursprünglich geplante übernächste Generation (EV8) des Alpha-Chips angedacht. Um die Threads auf die vorhandene Hardware effizient aufzuteilen, müssen die Entwickler aber einen erheblichen Aufwand sowohl beim Design der Überwachungslogik auf dem Chip als auch bei der Entwicklung von leistungsfähigen Compilern betreiben. Nur Anwendungssoftware, die daraufhin optimiert ist, kann jedoch die zusätzlichen Leistungsmerkmale nutzen.

Intel hat mit EPIC, dem "Explicit Parallel Instruction Computing", für seine Itanium Processor Family (IPF) den Weg gewählt, bereits bei der Übersetzung der Instruktionen eines Programms in die Maschinensprache möglichst alle darin vorhandenen parallelen Strukturen zu erkennen. Diese sollen daraufhin so umgesetzt werden, dass sie zur Laufzeit die verschiedenen vorhandenen Rechenwerke optimal ausnutzen.

Der Vorteil dieses Ansatzes liegt darin, dass bei der Kompilation des Programms im Vergleich zur Out-of-Order-Execution beliebig viel Zeit für die Analyse und Optimierung der resultierenden Strukturen bleibt. Der Compiler lässt sich außerdem prinzipiell leichter an Hardwareänderungen zum Beispiel bei der Zahl der Rechenwerke eines neuen Chipdesigns anpassen als eine entsprechende Überwachungslogik, die Befehle zur Laufzeit umsortiert. Der Nachteil dieser Architektur besteht darin, dass die vorausschauende Optimierung des Codes für ein Server-System mit womöglich mehreren tausend konkurrierenden Prozessen nicht ganz einfach ist.

Die Parallelisierung auf der Prozessebene als letztem Baustein bei der Umsetzung des Parallelitätsprinzips erfordert eine sehr ausgefeilte Kommunikation zwischen den Prozessoren. Dabei sollte eine möglichst niedrige Latenzzeit erreicht werden. Spezielle Netzwerke wie etwa Myrinet oder Quadrix Supercomputer Network sind notwendig, wenn es gilt, Systeme mit Hunderten oder Tausenden von Prozessoren zusammenzuschalten.

Letztes Aufbäumen des AlphaEine Reihe von leistungsfähigen Alpha-Clustern arbeitet nach diesem Prinzip. Die Rechenanlagen bewältigen Simulationen in der Materialtechnik, Chemie, Wettervorhersage und Seismik. Auch die Entschlüsselung von DNS erfordert diese neue Klasse von Systemen. Mit entscheidend ist dabei auch die Funktionalität des Betriebssystems "Tru64 Unix", das in der Lage ist, solche Super-Cluster effizient zu verwalten.

Compaq wird mit der nächsten Generation seines Alpha-Chips (EV7x) speziell diesen Aspekt der Parallelisierung auf Prozessebene adressieren. Durch Integration eines leistungsfähigen Interfaces auf dem Chip, das die Kommunikation mit bis zu vier anderen Prozessoren mit hoher Übertragungsgeschwindigkeit und niedriger Latenzzeit ermöglicht, können neue, kompakte Systeme mit extrem hoher Rechenleistung gebaut werden. Weitere Features der neuen Alpha-Chips werden darüber hinaus dafür sorgen, dass sich die Rechenleistung pro Chip im Vergleich zu heute verdoppelt. Systeme mit dieser CPU werden im Laufe des nächsten Jahres auf den Markt kommen. Auch bei den in den Himalaya-Systemen eingesetzten MIPS-Prozessoren wird es bis 2004 noch zwei Leistungssprünge geben. Dann wird diese auch für die Anwender dieser Systeme zur Verfügung stehen.

Itanium löst Alpha abCompaq und Intel haben am 25. Juni dieses Jahres vereinbart, wesentliche Alpha-Prozessor-Technologien, Werkzeuge und Compiler-Know-how an Intel zu übertragen. Außerdem entschied sich Compaq, seine Enterprise-Familien der Alpha-Server und der Himalaya-Server ab dem Zeitraum 2004 bis 2006 in der Intel-Itanium-Prozessor-Plattform zu konsolidieren. Damit lassen sich alle oben skizzierten Ansätze zur Parallelverarbeitung zusammenführen. Dazu haben beide Unternehmen das "Parallel Technology Project" eingerichtet. Gemeinsam mit Kunden sollen Softwarelösungen für den Bereich des High Performance Technical Computing entwickelt werden. Damit will man Anwendern unter die Arme greifen, um spezielle Anwendungen für massiv parallele Rechner-Cluster zu erstellen. Die Cluster-Fähigkeit all dieser Betriebsumgebungen, die heute schon die Basis für die Skalierbarkeit und Ausfallsicherheit bildet, soll auch für eine Migration der Server-Technologie von Alpha beziehungsweise MIPS auf Itanium sorgen. Neue Systeme und die bisherigen Rechner arbeiten in einem Cluster-Verbund problemlos zusammen. Gemeinsam mit Intel will Compaq die notwendigen Hilfsmittel anbieten, die eine Portierung der eingesetzten Anwendungen, gegebenenfalls durch eine Neukompilierung, auf den neuen Systemen ermöglicht.

64-Bit-Computing ist an einem Scheideweg angekommen. Die bisherige Optimierung einiger Parameter wie Taktgeschwindigkeit und die (Teil-)Parallelisierung bei der Befehlsverarbeitung scheint ausgereizt. In Zukunft wird es darum gehen, alle Möglichkeiten der Optimierung gleichermaßen zu nutzen, damit das Moore''sche Gesetz auch in Zukunft gilt.

Um dies zu erreichen, müssen Hardware und Software gut aufeinander abgestimmt werden. Dies ist allerdings nur für eine sehr kleine Zahl von Chiparchitekturen ökonomisch sinnvoll. Die Akzeptanz von Intel sowohl bei Kunden als auch bei Systemanbietern, die Leistungsfähigkeit der neuen Intel-Architektur, die erwarteten Synergien durch das Know-how und die Werkzeuge, die Compaq hier beigesteuert hat, lassen erwarten, dass Itanium die dominierende Chiparchitektur im Bereich der unternehmenskritischen IT werden wird. (ba)

*Herbert Wenk ist Leiter Fachpresse, Bereich Enterprise und Services bei Compaq.

Abb: Prozessorstrategie von Compaq

Compaq setzt auf einen langsamen Übergang. Zwischen 2004 und 2006 soll der Itanium die Alpha-Plattform ablösen. Quelle: Compaq