64-Bit-Architektur

64-Bit-Computing - nur eine Frage der CPU?

22.09.2000
In der Server-Welt findet in den nächsten Monaten eine kleine Revolution statt. Die 64-Bit-Technik, die bisher nur für große Unix-Server und Mainframes von Bedeutung war, soll nach dem Willen von Herstellern wie Intel oder AMD auch für kleine Server und Desktops zu nutzen sein. Laut Henrik Klagges* gibt es für diese Entwicklung mehrere Gründe: den Leistungs- und Speicherhunger der wichtigen Applikationen, den Preisverfall bei Chips sowie die Leistungsexplosion bei Mikroprozessoren.

Trotz aller Euphorie rund um das Thema 64-Bit-Computing, die von Seiten der Hersteller und Medien verbreitet wird, kommt allerdings meist nicht deutlich zum Ausdruck, was überhaupt mit der 64-Bit-Technik gemeint sein soll: die Breite der Prozessorregister oder des Busses zwischen Prozessor und Speicher? Die maximale Breite der unterstützten Datentypen? Oder etwa eine Eigenschaft des Betriebssystems?

In der Definition herrscht noch ein großes Durcheinander. Doch auch in der herkömmlichen 32-Bit-Welt, die sich uns als relativ einheitliches Computing-Modell präsentiert, gibt es verschiedene Bit-Variationen bei Registern und Busbreiten. Existierende 32-Bit-Prozessoren wie die populäre x86-Architektur von Intel unterstützen 80 Bit breite Gleitkommazahlen. Daneben finden sich Exoten unter den CPUs mit breiten Registern, aber schmalen Busbreiten für den Datentransfer. Umgekehrt treten Chips mit normal dimensionierten Registern auf, die aber mit bis zu 256 Bit breiten Monster-Schnittstellen ihre Daten parallel und auf Vorrat aus dem Speicher holen. Diese bunte Vielfalt macht eine Klassifizierung der verschiedenen Prozessorarchitekturen zur Ansichtssache.

Um die Diskussionen rund um Bits und Bytes zu vereinfachen, sollte man sich am besten auf den Standpunkt des Anwenders stellen, dem die neue Architektur letztlich nützen soll. Unter diesem Blickwinkel müsste die 64-Bit-Technik eine 64-Bit-Anwendung auf einem 64-Bit-Betriebssystem bedeuten, das auf einem 64-Bit-Prozessor läuft. Zwar gibt es sinnvolle Zwischenlösungen, zum Beispiel 64-Bit-Betriebssysteme, die in der Lage sind, mit besonders vielen 32-Bit-Applikationen parallel zu jonglieren. Doch wirklich effektiv können die Anwender nur dann arbeiten, wenn auch die Programme auf 64 Bit aufgebohrt werden.

Anwendern bietet sich zurzeit als größter Leistungshebel die Menge des Hauptspeichers an, der von den Programmen adressiert werden kann. Wenn man auf Tricks verzichtet, sind das bei einem 32-Bit-Prozessor 2 hoch 32 Bytes, also 4 GB beziehungsweise gut vier Milliarden Bytes. In den 80er Jahren galten diese 4 GB als enormes Volumen, obwohl die IT-Experten schon damals das Konzept des "virtuellen Speichers" kannten, bei dem der teure physikalische Hauptspeicher - also Chips - durch billigeren virtuellen Speicher - also Auslagerung auf Festplatten - erweitert wird.

64-Bit durchbricht 4-GB-GrenzeInzwischen hat eine Flutwelle neuer Techniken die alten RAM-Deiche überrollt. Handliche Dual-Inline-Memory-Module-(DIMM-) Speichermodule mit 1 GB Kapazität bietet der Versandhandel bereits für 5000 Mark an. DV-Verantwortliche können also für ein angemessenes Budget den virtuellen Speicher eines 32-Bit-Rechners komplett als physikalischen Speicher aufbauen. Aber damit stößt der Leistungshebel der 32-Bit-Welt an seine physikalischen Grenzen.

Dieses 4-GB-Limit heutiger PCs ist für Spezialanwender eine verschwindend geringe Menge. Aktuelle Superrechner wie der "Hitachi SR8000" im Leibniz-Rechenzentrum in München arbeiten mit beinahe einem Terabyte Hauptspeicher, der beispielsweise die Daten eines 3D-Gitters mit 10000 x 10000 x 10000 Punkten fasst. Das entspricht Informationen zu Lage oder Farbe von einer Billion Punkten. Doch die Zeit, als nur Wissenschaftler oder Militärs derartig leistungsstarke Rechner benötigten, ist schon lange vorbei. Heutzutage brauchen auch die DV-Verantwortlichen vieler Banken und Versicherungen ähnlich dimensionierte Systeme.

Besonders Datenbanken benötigen jede Menge schnellen Hauptspeicher. Informationen, die auf Festplatten flotteren Typs liegen, brauchen auf ihrem Weg zum Prozessor mindestens fünf Millisekunden.

Daten aus dem Hauptspeicher treffen dagegen typischerweise innerhalb von 0,1 Mikrosekunden oder weniger nach Anforderung bei der CPU ein, also über zehntausendmal schneller. Ein solcher Unterschied wirkt sich bis zum Anwender so deutlich aus, dass es sich für kritische Datenbanken lohnt, alle Informationen komplett im Hauptspeicher zu halten. Diese Bestände heißen Very-Large-Memory-(VLM-)Datenbank. Gerade bei Echtzeitanwendungen wie zum Beispiel bei einem Data Warehouse mit Finanzdaten kommt es in hohem Maße auf die Schnelligkeit der Anwendung an, denn die Anwender verzeihen keine langen Wartezeiten.

Gleiches gilt für das Internet. Millionen von Kunden erwarten Antwortzeiten im Sekundenbereich, wenn sie per Browser auf Online-Dienstleistungen zugreifen. Informationen wie Kontoauszüge, die früher im Batch-Betrieb über Nacht geregelt und in Massenabfertigung produziert wurden, sind heute beinahe in Echtzeit zu individualisieren und zu erzeugen. Noch aufwändiger gestalten sich Web-Zugriffe, die Information nicht nur abfragen, sondern auch verändern.

Benchmark für zufriedene Kunden: AntwortzeitUm solche Transaktionen zur Zufriedenheit der Kunden schnell zu absolvieren, muss das gesamte System auf Antwortzeit optimiert werden. Dabei geht es um viel mehr als nur um Datenbanken, die im Herz praktisch jeder größeren Business-Applikation stehen. Auch die Web-Middleware ist ohne Gigabyte-Kapazitäten im Hauptspeicher fast nicht mehr einsetzbar. Insbesondere Applikations-Server wie "Bea WebLogic", "Netscape iPlanet" oder IBMs "WebSphere", die den Java-2Enterprise-Edition-Standard erfüllen, sind speicherhungrig.

Applikations-Server umfassen komplexe Dienste wie Failover, Clustering, Messaging, Lightweight Directory Access Protocol (LDAP) und verteilte Transaktionen. Der Preis dafür ist eine komplette Virtualisierung des gesamten Programms. Heute schreibt man nicht mehr eine kleine C-Funktion, die flugs auf dem lokalen Rechner abgearbeitet wird. Stattdessen spezifiziert man Relationen zwischen und Methoden für Java-Objekte, die auf einer virtuellen Java-Maschine im Server-Cluster ausgeführt werden. Selbst bei geschickter Programmierung müssen die IT-Verantwortlichen dafür große Mengen an CPU- und Speicherressourcen einplanen.

Dazu kommt, dass Web-Business-Anwendungen für jeden aktiven Online-Kunden eine Session beziehungsweise einen Applikationskontext speichern und verwalten müssen. Deshalb skaliert der Ressourcenbedarf der Web-Anwendung grob gesehen linear mit der Zahl der aktiven Benutzer. Wenn etwa ein Online-Broker in Krisenzeiten mit einer Million parallel zugreifender Kunden konfrontiert wird, geraten seine Server an ihre Kapazitätsgrenzen.

Alle großen, auf Risc-Prozessoren basierende Unix-Server und Mainframes unterstützen 64-Bit-Applikationen und Betriebssysteme, zum Teil wie bei Compaqs "Tru64-Unix", schon seit fast zehn Jahren. Diese Zeit war nötig, um die vielfältigen Kinderkrankheiten in den Griff zu kriegen, die beim Aufstieg von der 32- auf die 64-Bit-Architektur auftraten. Zwar ist korrekt programmierter Code in C, der Unix-Betriebssystemsprache, grundsätzlich relativ einfach zu portieren. Doch in der Praxis haben die meisten Programmierer viele ungültige Annahmen über Datentypen wie Zahlen und Speicherzeiger aufgestellt. Ähnlich wie beim Jahr-2000-Problem hat das zu Fehlern geführt, die im Grunde zwar banal sind, aber in ihrer Häufung und Verstecktheit die Migration auf 64 Bit oft zu einem mehrjährigen Abenteuer für die DV-Verantwortlichen ausufern ließen.

Microsoft setzt alles auf Intels IA-64-PlanDiese Odyssee steht Microsofts 64-Bit-Windows noch bevor, denn bis dato hat es das Entwicklungslabor noch nie verlassen. Außerdem kommt erschwerend hinzu, dass die Redmonder als einzige offizielle Zielplattform für ihr 64-Bit-Betriebssystem die Intel-IA-64-Prozessoren anführen. Diese neue CPU-Familie des kalifornischen Herstellers aus Santa Clara leidet jedoch bereits vor dem offiziellen Start unter ihrer exotischen Architektur und den schon jetzt angekündigten Lieferverzögerungen. Nicht nur Skeptiker befürchten, dass IA-64 ein Misserfolg wird.

Hier rächt sich die strategische Fehlentscheidung Microsofts, die Unterstützung von Compaqs Alpha-Prozessoren aufzugeben. Mit den Alpha-Chips hätte das Unternehmen die zurzeit schnellsten 64-Bit-Mikroprozessoren für seine neue Betriebssystem-Generation besessen. Stattdessen setzte Microsoft auf den unsicheren Kandidaten Intel und hat bis heute keine glaubwürdige 64-Bit-Plattform.

Dieses Dilemma ist in der Redmonder Firmenzentrale nicht verborgen geblieben. Deshalb haben die Microsoft-Entwickler in der künftigen Datacenter-Version von Windows 2000 eine Option vorgesehen, die zusätzlichen vier Adress-Bits zu nutzen, die Intel bei seinen Xeon-Prozessoren über die normalen 32 Bit hinaus zur Verfügung stellt. Mit dieser Notlösung lassen sich zumindest bis zu 64 GB Hauptspeicher nutzen. Dafür müssen allerdings Betriebssystem und Anwendungen speziell angepasst werden, was natürlich nicht so sauber wie ein uniformes, flaches 64-Bit-Speichermodell funktioniert. Trotzdem kann sich die Lösung für unternehmenskritische Anwendungen lohnen.

64 Bit als Joker für die x86-Architektur?Die Schwierigkeiten, mit denen Windows augenblicklich zu kämpfen hat, erinnern an die Anfangstage von Unix im 64-Bit-Umfeld. Und doch scheint eine große Umwälzung in Richtung 64 Bit bevorzustehen.

-Erstens hat Intel als weltgrößter Prozessorhersteller mit seiner IA-64-Marketing-Kampagne das 64-Bit-Thema angeheizt.

-Zweitens ist der Leidensdruck bei vielen NT- und Linux-Anwendern groß, die ihre Maschinen schon bis zum 32-Bit-Anschlag hochgerüstet haben.

-Drittens hat AMD mit dem K8-"Sledgehammer"-Prozessor eine eigene 64-Bit-Strategie auf die Beine gestellt. Der Sledgehammer soll sich als ein auf 64 Bit erweiterter x86-Prozessor präsentieren und vermutlich in sechs Monaten in Stückzahlen verfügbar sein. Die Technik dahinter ist nicht nur schnell, einfach und günstig, sondern vor allem auch zu der gewaltigen Menge existierender Linux- und Windows-Software kompatibel.

Damit steigen die Chancen AMDs, sich Intel gegenüber mit einer neuen x86-Plattform durchzusetzen. Bislang konnte sich der ewige Zweite kaum gegenüber dem Spitzenreiter Intel auf dessen heimischen x86-Markt behaupten. Da Intel jedoch wegen der Fokussierung auf IA-64 diesen Markt verschlafen hat, könnte AMD jetzt aufholen. Diese Initiative wird Intel zwingen, zu reagieren. Obwohl der Pentium-Hersteller es bis heute nicht zugegeben hat, halten es Insider für sehr wahrscheinlich, dass Intel eine eigene 64-Bit-Erweiterung der x86-Architektur in der Schublade hat und diese bis Anfang 2001 als Produkt für die Pentium-4-Familie ankündigt. Wenn dies zuträfe und dann ein "Pentium 4" oder AMD "Mustang"-Prozessor mit 64 Bit und einem Gigahertz Taktrate für 500 Mark in den Computershops erhältlich wäre, dann gehörte 64-Bit-Computing endgültig zur Normalität.

Ob es irgendwann 128-Bit-Prozessoren geben wird? Nach den Erfahrungen der Vergangenheit wäre es vermessen, dies auszuschließen. Oder weshalb sind die Standardisierungsgremien bei der neuen Version 6 des Internet-Protokolls direkt von 32 auf 128 Adress-Bits gesprungen? 256 Adress-Bits sind ein enormes Volumen: Damit ließen sich 10 hoch 77 Adressen ansprechen, was ungefähr der Gesamtzahl der Atome in unserem Universum entspricht.

*Henrik Klagges ist Direktor bei der Münchener IT-Beratung Consol.