EPIC Fail: 20 Jahre Intel Itanium
Anbieter zum Thema
Die Prozessorarchitektur Explicitly Parallel Instruction Computing (EPIC) sollte ab 1999 das Post-RISC-Zeitalter einführen – und wurde für Intel zum milliardenschweren Flop. Der Versuch, mit den Itanium-CPUs das Software-optimierte 64-Bit-Zeitalter einzuführen, war an der Schwelle der Jahrhundertwende seiner Zeit noch weit voraus.

Anfang 2019 kündigte Prozessorhersteller Intel das Ende einer Prozessorenfamilie an: Mit der für Server gedachte Itanium-9700-Familie, Codename „Kittson“, werde man sich von der 64-Bit-Prozessorarchitektur „Itanium“ verabschieden. Bis zum 30. Januar 2020 würden noch Bestellungen für die CPU-Reihe entgegengenommen, die letzten Prozessoren sollen bis zum 29. Juli 2021 ausgeliefert werden. Danach wird die Itanium-Familie, nach über 20 Jahren, still und heimlich zu Grabe getragen.
Die Nachricht, dass Intel eine ganze Prozessorarchitektur begraben würde, sorgte für erstaunlich wenig Resonanz. Itanium? War da nicht was? Gab’s das denn überhaupt noch? Wer sich zurück an die 1990er Jahre erinnert, dem mag vielleicht ein Licht aufgehen: Itanium galt als der Messias der 64-Bit-Architektur, der nach 20 Jahren das 32-Bit-Zeitalter beenden und eine neue Ära schneller Computer fernab von CISC-Prozessoren wie der x86-Reihe oder den den Servermarkt dominierenden RISC-CPUs einleiten sollte. Intels erstem IA64-basierten Prozessor wurde nicht nur vom Hersteller selbst, sondern auch von zahlreichen Marktanalysten eine glorreiche Zukunft vorhergesagt. Doch obwohl die Technologie auf dem Papier vielversprechend war, stellte sich Itanium nach einem desaströsen Start in den Markt als einer der größten Flops in Intels Unternehmensgeschichte heraus.
Von 32 auf 64 Bit: Das Sprengen der 4-GByte-Schranke
Zwischen der öffentlichen Enthüllung des ersten 4-Bit-Mikroprozessors (dem Intel 4004 von 1971) bis zur Ankündigung der nominell ersten 32-Bit-CPU (Motorola 68000, 1979) waren nur etwa acht Jahre vergangen.
Bis die erste 64-Bit-Architektur vorgestellt wurde, dauerte es allerdings bis in die 1990er. Das lag unter anderem daran, dass mit der Erweiterung auf 32 Bit ein weites Tor aufgestoßen wurde.
Bei 8-Bit-Systemen konnten signifikante Fortschritte im Programmumfang noch in Bytes gemessen werden, bei 16-Bit-Rechnern konnte der Arbeitsspeicher schon auf mehrere Megabyte erweitert werden. Nun allerdings waren potentiell bis zu 4 Gigabyte möglich – gemessen an den Verhältnissen der 80er Jahre eine schier unvorstellbare Größe. Gleichzeitig waren Speicherbausteine in dieser Zeit noch extrem teuer – im September 1985 kosteten 2 MByte RAM noch 599 US-$. Dementsprechend dauerte es nun deutlich länger, ehe Programme und Systemvoraussetzungen auch nur annähernd an diese Kapazitätsgrenzen stießen.
Während die Anforderungen sich in Privat- oder Bürorechnern noch in Grenzen hielten, sah es aber im Servermarkt anders aus. Die Verwaltung großer Datenströme und das parallele Abarbeiten mehrerer Applikationen gleichzeitig stellte die Rechenzentren vor deutlich größere Herausforderungen.
Am 1. Oktober 1991 stellte MIPS Computer Systems mit der R4000-CPU einen der ersten marktreifen 64-Bit-Prozessoren vor, der schnell Einzug in den vorhandenen Workstation- und Servermarkt fand. In den Jahren danach folgten 64-Bit-Prozessoren auf Basis von RISC-Designs von Sun und Fujitsu (SPARC V9, 1993) und der aus einer Allianz aus Apple, IBM und Motorola hervorgegangenen PowerPC-CPU-Reihe (PowerPC 620, 1997). Im Verlauf der 90er Jahre sollten MIPS- und RISC-Prozessoren den Servermarkt nahezu vollständig dominieren.
Intel genoss in dieser Dekade dank seiner x86-Architektur eine deutliche Dominanz auf dem sich immer weiter ausbreitenden PC-Markt. Dennoch sah man die aufkommende Konkurrenz im Server-Markt kritisch. So begann bei Intel 1991 – in Zusammenarbeit mit Hewlett Packard – die Arbeit an einer neuen 64-Bit-Befehlssatzarchitektur. Ursprünglich trug diese den Namen Very Long Instruction Word (VLIW) – ein Merkmal dafür, dass solche Prozessoren ein breites Befehlsformat besitzen sollten, welches mehrere Instruktionen auf einmal enthält und so eine schnelle parallele Abarbeitung von Befehlen ermöglicht. 1997 prägte die Intel-HP-Allianz einen neuen Namen für seine erste 64-Bit-Prozessorarchitektur: Explicitly Parallel Instruction Computing, kurz EPIC. Diese sollte sowohl den Server- als auch den PC-Markt von Grund auf revolutionieren.
Rosige Aussichten für 64 Bit
Zunächst schien Intels 64-Bit-Projekt überaus vielversprechend zu sein: Die neue Architektur sollte durch seinen besonders breiten Befehlssatz und der integrierten Eigenschaft zur parallelen Befehlsverarbeitung einige der Flaschenhälse eliminieren, die den superskalaren 32-Bit-Prozessoren innewohnten.
Beim Übergang von den 16- zu den 32-Bit-Prozessoren war es Intel gelungen, den bestehenden Befehlssatz der x86-Prozessoren zu erweitern. Auf diese Weise konnte der Prozessorhersteller zumindest eine grundsätzliche Kompatibilität innerhalb der gesamten x86-Familie sicherstellen. Der Sprung auf 64-Bit sollte dagegen einen radikalen Umbruch mit der verwendeten CPU-Technologie darstellen.
In den 90er Jahren schien das noch sinnvoll zu sein, denn Intel erkannte einen aufkommenden Trend: Das Internet begann, außer Hochschulen und Forschungseinrichtungen in rasch zunehmendem Maß auch Büros und heimische Arbeitsrechner zu erreichen. Diese rapide Zunahme an vernetzten Rechnern und Servern stellte neue Ansprüche an Datenübertragung und –verarbeitung. Die Umstellung auf 64 Bit sollte diesem Paradigmenwechsel gerecht werden. Für Intel schien dies der beste Zeitpunkt, um eine radikal neue Architektur einzuführen und bei der Gelegenheit langfristig einige Altlasten der bisherigen Herangehensweise zurückzulassen – dazu in Kürze mehr. Effektiv plante Intel, dass EPIC-basierte Itanium-Prozessoren auf lange Sicht die x86-Architektur vollständig ablösen sollte.
„Laut einer Intel-Studie bestehen heutzutage gerade einmal fünf Prozent der Internet-Infrastruktur, die nötig sein wird, um den für 2005 prognostizierten Serverbedarf der E-Business-Umgebung zu decken. [...] Das Rückgrat dieser Umgebung erfordert leistungsstarke Server, um die Explosion digitaler Informationen zu bewältigen. Die Prozessorfamilie IA-64 verfügt über viele hochmoderne Funktionen, die speziell auf diese Anforderungen zugeschnitten sind.“ – Auszug aus einer Intel-Pressemitteilung vom 4. Oktober 1999, die die baldige Verfügbarkeit des ersten Itanium-Prozessors ankündigte.
Intels Ankündigung, bald einen eigenen 64-Bit-Prozessor auf den Markt zu bringen, ließ die Branche aufhorchen. 1999 hatte Intel von Microsoft, SGI, Compaq, HP, Novell, Sun Microsystems, IBM (mit SCO und Sequent) und dem Linux Trillian-Projekt die Zusage erhalten, Portierungen ihrer Betriebssysteme für die auch IA64 genannte Befehlssatzarchitektur bereitzustellen. Damit hätte von jedem nennenswerten Hersteller eine 64-Bit-Version seines OS für Itanium bereitgestanden. Marktbeobachter erhofften sich großes von den Chips: Anfang 2000 schätzte IDC, dass Itanium-Chips bis zum Jahr 2004 einen Umsatz von 28 Milliarden US-$ erzielen sollten.
Der Untergang der „Itanic“
Nach mehreren Verzögerungen kündigte Intel schließlich am 4. Oktober 1999 die Verfügbarkeit seiner ersten 64-Bit-Prozessoren an. Der Name „Itanium“ sollte Assoziationen an die besondere Solidität von Titan (engl. „Titanium“) erinnern. In Newsgroups witzelten einige Programmierer allerdings in Anspielung an diesen Umstand schon bald, dass sie den Chip wohl genauso gut „Itanic“ hätten nennen können. Denn wie der Ozeanriese Titanic sei der Prozessor auch mit Pomp angekündigt worden, aber die ganzen Verzögerungen im Projekt würden nichts Gutes für die Zukunft hoffen lassen. Tatsächlich zeigte sich schon bald nach Erscheinen, dass Itanium nicht in der Lage war, die Aufgaben zu erfüllen, die sich seine Schöpfer vorgestellt hatten.
Die ursprüngliche Idee hinter EPIC war es, die Komplexität des Befehlsplaners (Instruction Schedulers) von der CPU auf den Compiler zu übertragen. Wollte man in einer 16-Bit- oder 32-Bit-x64-Architektur Befehle nicht sequentiell, sondern außerhalb einer Reihe (out-of-order) ausführen, erforderte das einen hohen Zeit- und Energieaufwand. Die komplexe Ablaufsplanung fand komplett innerhalb der CPU statt. Das nahm Kapazitäten weg, die der Prozessor nicht für reine Rechenleistungen aufwenden konnte.
Diese Komplexität sollte nun ein softwareoptimierter Compiler erledigen: Die Planung von Workloads und das Scheduling von Befehlen sollte sorgfältig softwareoptimiert über den Compiler stattfinden. Die CPU wäre damit frei, ihre gesamte Leistung für Cache- und Computing-Arbeiten aufzuwenden. Intel deutete auch an, dass es grundsätzlich leicht möglich sei, existierende Software auf IA64 zu portieren – sie müsse „nur“ entsprechend optimiert und kompiliert werden.
In der Praxis stellte sich dies allerdings als deutlich schwieriger heraus als gedacht: Das Abladen von parallelen Befehlen an den Compiler erfordert, dass Programmierer in der Lage sein müssten deterministisch vorherzusagen, wann Daten aus dem CPU-Cache oder dem damals üblichen DRAM-Speicher bereitstehen. Erhält der Ladeanweisungsplan der Software die Daten nicht zur rechten Zeit, führt die daraus resultierende Latenz dazu, dass der Ladeanweisungsplan aus dem Compiler die CPU solange blockiert, bis die Daten auch tatsächlich übergeben wurden. Software, die für Itanium optimiert war, musste also von Grund auf deterministisch angelegt sein – was aber bis zu diesem Zeitpunkt in der Softwareentwicklung alles andere als üblich war.
Die Folge daraus war, dass der größte Teil von portierten Programmen auf den 64-Bit-Itanium-Prozessoren weitaus schlechter und langsamer lief als auf vergleichbaren 32-Bit-CPUs. x86-Software konnte auf Itanium laufen – nur war deren Performance extrem schlecht, da die CPU ständig vom Compiler ausgebremst wurde. Und selbst wenn Software von Grund auf für Itanium konzipiert wurde, war es wesentlich umständlicher und schwieriger als bei anderen Prozessorarchitekturen, eine gewünschte Laufleistung zu erzielen.
Hinzu kam eine weitere Sorge: Intel war sich derart sicher, mit der EPIC-Architektur die x86-Reihe obsolet zu machen, dass ein entsprechender 64-Bit-Ausbau vernachlässigt wurde. Dies rief die Konkurrenz auf den Plan: Am 5. Oktober 1999, nur einen Tag nach der Ankündigung des baldigen Verfügbarkeit des Itanium, kündigte AMD eine hauseigene 64-Bit-x86-Architektur an. Damit vollzog AMD mit 64-Bit genau das, was Intel 1985 mit der Umstellung auf 32-Bit getan hatte: Die bestehende Befehlssatzarchitektur zu erweitern und zugleich volle Kompatibilität zu bisherigen x86-Prozessoren zu gewährleisten.
Itanium war indes weiterhin mit einer Verspätung nach der anderen geplagt. Am 5. Dezember 1999 meldete Intel, dass erste Versionen des „Merced“ genannten Itanium-Chips an Kunden geliefert worden seien. Die meisten PC-Hersteller zeigten sich allerdings nicht beeindruckt und kündigten noch vor dem offiziellen Marktstart an, lieber auf eine zweite, verbesserte Version des Prozessors warten zu wollen, der unter dem Codenamen „McKinley“ angekündigt worden war. Am Ende sollte es bis Juli 2001 dauern, ehe der Prozessor endlich auf dem Markt erschien. Bis dahin hatten die meisten Analysten ihre optimistischen Schätzungen für die Zukunft des Chips bereits wieder aufgegeben.
Diese Verzögerungen und Missgeschicke spielten Intels Konkurrenten in die Hände: Am 22. April 2003 veröffentlichte AMD mit der K8-Reihe und dem Opteron-Prozessor die erste voll x86-kompatible 64-Bit-CPU für PCs – die Architektur nannte man fortan auch marketingtauglich AMD64. Erstmals seit den 1980er Jahren erhielt Intels Dominanz auf dem Büro- und Heimanwender-Markt wieder eine ernsthafte Delle. Die Itanium-Prozessoren führten derweil nach nur zwei Jahren auf dem Markt bereits ein Nischendasein.
Einzig auf dem Servermarkt konnten sich die CPUs nennenswert etablieren, was nicht zuletzt einem festen Bekenntnis von HP zu der Architektur geschuldet war. Doch auch hier musste man sich von den hehren Zielen verabschieden: Von den 28 Milliarden US-$, die Ende 1999 noch für das Itanium-Geschäft erwartet worden waren, blieben im Jahr 2004 letztendlich gerade einmal 1,4 Milliarden US-$ übrig. 2009 war Intels Geschäft mit Itanium-Prozessoren nahezu vollständig abhängig von Servern aus dem Hause Hewlett Packard, die allein 95% des gesamten Itanium-Markts ausmachten.
In den Jahren danach schien Itanium kaum noch eine Rolle zu spielen. 2011 sorgte der Name noch einmal für Aufmerksamkeit, als es zwischen Server-Anbieter Hewlett Packard und Software-Hersteller Oracle zu einem Prozess um Supportleistungen kam: Nachdem Oracle im März des Jahres angekündigt hatte, die Itanium-Plattform nicht länger zu unterstützen, wurde das Softwareunternehmen von HP verklagt: Es gebe rechtlich bindende Vereinbarungen von Oracle gegenüber HP und gemeinsamen 140.000 HP-Oracle-Kunden, die der Software-Konzern erfüllen müsse. „Wir glauben, dass dies der gesetzwidrige Versuch ist, Kunden von der HP-Itanium-Plattform auf Oracles eigene Plattform zu drängen“, hieß es aus dem Unternehmen. Tatsächlich hatten die Unternehmen 2008 einen Vertrag abgeschlossen, wonach Oracle einen Software-Support für Itanium-Server von HP bis zum Jahr 2014 zugesichert hatte. Nach Ansicht von Intel und HP hätten Itanium-Server noch eine Zukunft darüber hinaus – für mindestens zehn Jahre.
Diese Frist ist nun um. Auch Jahre nach dem ersten Release waren Bausteine der Itanium-Familie ständig von Verspätungen in Entwicklung und Marktreife geplagt. 2017 erschien – nach einer Pause von fünf Jahren, mit Kittson noch einmal eine neue Version in der EPIC-Architekturreihe. Nun, im 20. Jahr nach der Ankündigung der Verfügbarkeit (1999) wurde die Prozessorfamilie wieder abgekündigt (2019) – 20 Jahre nach dem Erscheinen des ersten Bausteins 2001 wird 2021 der letzte Prozessor aus der 64-Bit-Reihe auf dem Markt erscheinen.
Fazit: Gute Ideen, schlecht umgesetzt
Auch wenn Intel beteuerte, dass sich das Geschäft mit den Itanium-Prozessoren spätestens ab 2009 gelohnt habe, war die 64-Bit-Architektur ein gewaltiger Reinfall. Dabei war die Idee, die CPU durch Softwareoptimierung der Programme zu entlasten, grundsätzlich nicht schlecht – sollte sie doch ein Programmierparadigma befördern, hin zu besserer Leistung und weg von verschwenderischem Umgang mit Hardware-Ressourcen.
Doch die Intel-Entwickler unterschätzten die Anforderungen, die an Compiler-Programmierer gestellt wurden, gewaltig. Deterministische dynamische Speicherzuweisung stellt auch heute noch Entwickler häufig vor gewaltige Herausforderungen. Und während man sich zumindest im Servermarkt eine kleine Nische erobern konnte, sorgte der radikale Bruch mit der gewohnten x86-Architektur im Personal-Computer-Markt für gewaltige Verstimmung – und öffnete eine Angriffsfläche, die der Konkurrent AMD geschickt auszunutzen verstand und Intel erstmals ins Hintertreffen geraten ließ.
Am Ende bleibt dem Itanium-Prozessor, dem vor 20 Jahre eine glorreiche Zukunft verheißen wurde, nur noch eine kleine, heimliche Fußnote in der Computer-Geschichte.
:quality(80)/images.vogel.de/vogelonline/bdb/1428900/1428924/original.jpg)
50 Jahre Intel: Die 68er-Revolution in der IT-Welt
:quality(80)/p7i.vogel.de/wcms/dd/fa/ddfa97ed32a9776c63c4d5085a76f4f8/0102041631.jpeg)
08. Juni 1978: Der Intel 8086 startet 40 Jahre x86-Architektur
:quality(80)/p7i.vogel.de/wcms/18/0b/180b941fd65bd5a74adc24ee61254cc4/70194003.jpeg)
25 Jahre Intel Pentium
:quality(80)/images.vogel.de/vogelonline/bdb/1059100/1059133/original.jpg)
50 Jahre Mikroprozessor
Intel 4004: Der Erfolg des größten Unfalls der Technikgeschichte
(ID:46080382)