x86- versus RISC-Architektur: Kein Risiko mit RISC
Artikel erschienen in Swiss IT Magazine 2001/23
Der High-End-Serverbereich war lange RISC-basierten Unix-Servern von Herstellern wie Compaq, HP, IBM oder Sun vorbehalten. Intel vermochte mit seinen x86-Prozessoren trotz allen möglichen Anstrengungen auch seines Alliierten Microsoft nicht so recht Fuss zu fassen: Für den Einsatz von riesigen Datenbanken, ERP-Systemen und anderen High-End-Business-Anwendungen waren die Performance und die Skalierbarkeit der Chips des Prozessorgiganten regelmässig zu gering, die Stabilitätsprobleme mit dem darauf laufenden Windows-Betriebssystem normalerweise zu gross. Kaum ein grosses Unternehmen mochte sich den Unwägbarkeiten beim Einsatz der Produkte des Wintel-Dreamteams aussetzen.
Doch die Zeiten ändern sich. Schon heute versuchen immer mehr Linux-Supercomputer auf Basis von Intel-Server-Clustern, den traditionellen Spitzenreitern im Kampf um Performance und Skalierbarkeit den Rang abzulaufen.
Mit dem kommenden Itanium-Prozessor, dem ersten Vertreter von Intels neuer "Itanium Processor Family Architecture (IPF)", ehemals bekannt als IA-64-Architektur, will der Chipriese zumindest den Markt für Mid-Range-Server im Preisbereich von 100'000 bis zu einer Million Dollar kräftig aufmischen. Und mit Linux und Windows 2000 stehen auch Betriebssysteme zur Verfügung, die den traditionellen Unix-Varianten von HP oder Sun punkto Stabilität kaum mehr nachstehen.
Künftig dürfte es für Unternehmen deshalb zunehmend schwierig werden, sich für eine angemessene und gleichzeitig kosteneffektive Lösung für den Einsatz von grossen, geschäftskritischen Unternehmensapplikationen zu entscheiden. Haben die traditionellen RISC-Unix-Gespanne damit den Gipfel ihres Erfolgs erreicht? Ein kurzer Blick auf die Evolution heute gebräuchlicher Prozessor-Architekturen zeigt, dass die Geschichte so einfach nicht ist.
Zusammen mit dem neuen Itanium existieren derzeit drei grundlegende Architekturen, auf denen alle heutigen CPUs mehr oder weniger basieren:
CISC (Complex Instruction Set Computing) bildet die Grundlage für fast alle PCs - Intel- und AMD-Prozessoren basieren auf dieser Architektur. Typisch für dieses Chip-Design sind die komplexen Instruktionen von unterschiedlicher Länge, die die Prozessoren nach einer Umwandlung in Mikro-Instruktionen sequentiell abarbeiten können. Dahinter steckt die Philosophie, dass Hardware immer schneller arbeitet als Software. Typischerweise verarbeiten CISC-Prozessoren einzelne Instruktionen vergleichsweise langsam. Zusätzlich sind CISC-CPUs wesentlich komplexer im Aufbau. Performanceverbesserungen lassen sich bloss über höhere Taktfrequenzen (oder eine Reduktion des Instruktionssets) erreichen.
RISC (Reduced Instruction Set Computing) benützt genau dieses Konzept des reduzierten Instruktionssets. Die Idee dahinter ist, mit einem möglichst kleinen Set von kurzen Instruktionen, die in einem Taktzyklus verarbeitet werden, auch komplexe Operationen zu ermöglichen. Die RISC-Architektur erfordert, dass der Code einwandfrei programmiert ist und vom Compiler richtig abgearbeitet wird. Der Compiler ist denn auch eines der Herzstücke der RISC-Architektur, das dank dem kleineren Befehlssatz immerhin vergleichsweise einfach geschrieben und optimiert werden kann. Zumindest theoretisch sind RISC-Prozessoren günstiger in der Herstellung, weil sie aufgrund der simpleren Instruktionen weniger Transistoren benötigen und dehalb einfacher designt werden können.
CISC- und RISC-Prozessoren lassen sich aus diesen Gründen nicht einfach so per Taktrate vergleichen. Aufgrund der unterschiedlichen Instruktionsverarbeitung arbeiten RISC-CPUs auch mit deutlich niedrigerer Taktrate gleich schnell oder sogar schneller als CISC-Prozessoren.
Aufgrund der hohen Performance wurden RISC-Chips wie Compaqs Alpha oder Suns Sparc auch in jüngster Zeit als die Prozessoren der Zukunft gepriesen. Andererseits benötigen diese CPUs aufgrund der einfacheren Hardware komplexere Software, was Entwickler dazu nötigt, für dieselben Tasks mehr Codezeilen zu schreiben als bei der CISC-Architektur. Und da letztere Chips gleichzeitig schneller und günstiger werden, wird auch ihnen eine grosse Zukunft prophezeit.
Dabei werden die Grenzen zwischen den beiden Architekturen zusehends fliessender. Moderne RISC-Chips bieten mitunter mehr Instruktionen als CISC-Prozessoren früherer Generationen. Gleichzeitig werden heute Technologien aus der RISC-Welt auch in CISC-CPUs implementiert - und das, obwohl aus Kompatibilitätsgründen ein grosser Overhead entsteht, der die möglichen Performancegewinne oft wieder zunichte macht.
Vereinfacht lässt sich sagen, dass CISC- und RISC-Architektur in den heutigen CPUs zunehmend ineinanderwachsen. Beide Technologien allerdings werden künftig mit der neuen Prozessor-Architektur zu kämpfen haben, die Intel und HP gemeinsam entwickelt haben:
EPIC (Explicitly Parallel Instruction Computing) ist die Architektur, die hinter IA-64 und Itanium steckt und quasi die Vorzüge von CISC und RISC vereint. Dabei wird der Compiler mit mehr Logik ausgestattet und gibt dem eigentlichen Rechenwerk vor, welche Prozesse parallel ausgeführt werden sollen. Performance-Verbesserungen resultieren auch durch eine wesentlich höhere Anzahl an Registern (256) sowie durch die sogenannte Speculation, mit der der Prozessor passende Befehle bereithält, bevor klar ist, welche Operation als nächstes folgen wird. Auf EPIC basierende Chips wie Intels Itanium werden (zumindest theoretisch) mit 64-Bit-Anwendungen sowohl unter Windows- als auch unter Unix umgehen können und darüber hinaus auch rückwärtskompatibel zu 32-Bit-Anwendungen sein.
Entsprechend ihren unterschiedlichen Eigenschaften bieten sich die Prozessoren für unterschiedliche Einsatzgebiete an. Für Desktop-Maschinen etwa ist die auf CISC basierende Intel-Architektur insbesondere wegen ihrer hohen Verbreitung erste Wahl - obwohl es mit der in den Apple-Rechnern eingesetzten, RISC-basierenden PowerPC-CPU eine mindestens ebenbürtige Alternative dazu gibt. Neben der Verbreitung und der unumstritten hohen Kompatiblität empfehlen sich x86-Rechner auch durch ihre vergleichsweise geringen Kosten.
Ebenfalls bestens geeignet sind die Intel-Prozessoren für Desktop-nahe Server-Dienste, in welche Kategorie etwa einfache File-, Mail- und Printserver gehören, bei denen vereinzelte kurze Serverausfälle noch nicht geschäftskritisch sind.
Umfangreiche Datenbank-Anwendungen, ERP- und Business-Intelligence-Applikationen ebenso wie anspruchsvolle Internet- und E-Commerce-Anwendungen dagegen sind nach wie vor ein typischer Einsatzbereich von RISC-basierenden Prozessoren. Höchste Verfügbarkeit, Flexibilität und Skalierbarkeit sind hier ebenso wichtig wie überragende Performance, Disaster- und Fehlertoleranz.
Diese Schlagwörter entwickeln sich zunehmend zu geschäftskritischen Anforderungen: Skalierbarkeit ist unumgänglich, weil Web-Anwendungen typischerweise von Kunden und Geschäftspartnern ausserhalb der eigenen Firma genutzt werden - die Auslastung der Server lässt sich dabei eher schlecht vorhersagen, auf Engpässe muss rasch reagiert werden können. Ähnliches gilt für die Zuverlässigkeit der Hardware und deren Verfügbarkeit: Geschäfte übers Web lassen sich nämlich nur dann abschliessen, wenn die Server auch tatsächlich laufen.
Hochperformante und flexible Systeme lassen sich auch mit Clustern von x86-basierten Servern erstellen, was durchaus Vorteile bringen kann. Im Vordergrund stehen dabei natürlich die vergleichsweise niedrigen Kosten. Ein grosser Vorteil ist unter Umständen aber auch die vergleichsweise einfache Skalierbarkeit, die durch das Hinzufügen von weiteren Rechnern zum Cluster erreicht wird.
Neue Ansätze wie das sogenannte Peer-Processing, das beispielsweise beim SETI@home-Projekt genutzt wird, verknüpfen sogar unzählige PCs weltweit und nutzen deren freie Rechenzeit. Auf ähnliche Weise wollen nun Firmen wie die amerikanische United Technologies (UTC) arbeiten. UTC standardisiert im eigenen Firmennetzwerk rund 100'000 Intel-PCs und will darauf über eine eigens entwickelte Middleware das Peer-Modell für komplexe Berechnungen nutzen.
Hohen Erwartungen stehen aber sowohl beim Clustering als auch beim Peer-Processing auch einige Risiken gegenüber: So dürfte es etwa schwierig werden, in einem Applikationsnetzwerk mit rund 100'000 Knoten allfällige Probleme zu lokalisieren. Auch Rechenfehler können sich negativ auf die Ergebnisse auswirken, lange bevor sie überhaupt entdeckt werden. Und die Verwaltbarkeit einer derartigen Anzahl Rechner dürfte nicht ganz einfach sein.
Eine generelle Schwäche des Peer-Modells mit PC-Netzen als Supercomputer-Ersatz ist seine Anwendungsabhängigkeit: Der Ansatz taugt nämlich nur für Anwendungen, die in viele kleine, parallel verarbeitbare Stücke getrennt werden können. Sobald dagegen Resultate vorliegen müssen, um weitere Verarbeitungsschritte zu starten, ist das Peer-Modell ungeeignet.
Die Praxis zeigt darüber hinaus in vielen Unternehmen, dass Cluster mit mehreren Intel-Servern verschiedene Nachteile gegenüber RISC-Lösungen unter Unix haben. Das reicht von unterschiedlichen Antwortzeiten über fehlende Management-Tools bis hin zur Ressourcenverschwendung, die Windows 2000 mit seiner grafischen Oberfläche bedingt.
Und immer wieder ein Thema ist die Skalierbarkeit, um die sozusagen ein Glaubenskrieg entbrannt ist. Während nämlich Wintel-basierende Server derzeit bloss mit bis zu acht CPUs erhältlich sind, können Unix-Server mit bis zu 64 Prozessoren bestückt werden, was nicht nur die Performance anhebt, sondern auch relativ einfach zu managen ist. Erst mit der Version 2000 Datacenter Server ist Windows überhaupt in der Lage, bis zu 32 Prozessoren zu unterstützen; angeboten wird das aber bisher nur von Unisys mit ihrer Cellular Multiprocessing Architektur (CMP). Die Wintel-Plattform skaliert deshalb primär durch das Hinzufügen von weiteren Servern in einen Cluster, was zwar schwieriger verwaltbar, dafür aber kostengünstig ist.
Überhaupt bietet die Wintel-Plattform zwei unbestrittene Vorteile. Das sind zum einen die schon mehrmals angeführten, vergleichsweise niedrigen Kosten. In der Praxis allerdings spielt dieses Argument gar nicht die erwartet grosse Rolle. Vielmehr werden High-End-Server aufgrund der Leistungs-Anforderungen ausgewählt: Stehen - zunächst unabhängig von der reinen Performance - Verfügbarkeit, Zuverlässigkeit und Skalierbarkeit im Vordergrund, führt kein Weg an RISC-basierten Systemen vorbei. Erst nach diesem Grundsatzentscheid werden auch die Kosten relevant.
Die zweite grosse Stärke der Wintel-Maschinen ist die Flexibilität aufgrund der standardisierten Hard- und Software. Unter Windows können Rechner von verschiedenen Herstellern auf relativ einfache Weise miteinander in einem Cluster verbunden werden. Ist ein Unternehmen mit den Leistungen seines Anbieters nicht zufrieden, gibt es genügend Alternativen.
Auf der Unix-Seite dagegen ist der Kunde vom Hersteller quasi abhängig. Hat man sich erst mal für Suns Solaris, HP-UX oder Compaqs Tru64 oder OpenVMS entschieden, tut man gut daran, mit den Weiterentwicklungen zufrieden zu sein - der Wechsel zu einem Konkurrenten ist ohne grossen Aufwand und hohe Investitionen meist nicht möglich.
Mit der Itanium-Architektur wird sich das Bild in den nächsten Jahren voraussichtlich nicht wesentlich ändern, erklärt Franklin Dallmann, Business Manager Alpha bei Compaq Schweiz. Der Itanium, erster Prozessor aus der Intel-64-Bit-Familie, laufe zwar gut, sei aber sehr komplex. Das Hauptproblem ortet Dallmann allerdings bei den Compilern: "Derzeit gibt es keine reifen Compiler für den Itanium. Die Entwicklung und insbesondere die Ausreifung dieser Software-Komponenten benötigt sehr viel Zeit - wohl noch einige Jahre." Forcieren lässt sich hier nichts: Das bei Compaq und anderen Herstellern vorhandene Know-how legt zwar gute Grundlagen, aber nur die Zeit kann daraus ein wirklich ausgereiftes Produkt formen.
Nicht zuletzt aus diesen Gründen stattet Compaq beispielsweise ihre NonStop Himalaya Server künftig mit Alpha-Prozessoren aus. Wären diese mit der Ankunft von Itanium obsolet geworden, hätte sich der Marktführer wohl kaum zu diesem Schritt entschieden.
Die Unterschiede zwischen der Unix- und der Windows-Welt, mithin auch zwischen RISC- und CISC-Architektur, werden mit Projekten wie dem Itanium oder "Monterey", einer Unix-Initiative, die basierend auf AIX auch Intels 32- und 64-Bit-Architekturen unterstützen wird, zunehmend verwischen. Das dürfte aber wenig daran ändern, dass bis auf weiteres Unix auf der RISC-Architektur die Betriebsumgebung erster Wahl für grosse und geschäftskritische Unternehmenslösungen sein wird.