Monokulturproblem der x86-Architektur

Die seit dem Januar 2018 bekannt gewordenen massiven Sicherheitslücken in verschiedenen Prozessoren durch die spekulative Ausführung wird uns noch viel länger beschäftigen als uns allen lieb ist. Eine zeitnahe Lösung der durch diese Technik auftretenden Probleme wird es auch wegen der bestehenden Monokultur so schnell nicht geben. Abgesehen von ein paar Supercomputern oder Mainframes sowie den Smartphones und Tablets sind x86-Systeme die beherrschende Architektur. Selbst die ARM-Architektur ist ebenfalls verwundbar, wenn auch nur für bestimmte Angriffe auf Basis ihrer spekulativen Ausführung. Aber alle großen Clouds und der größte Teil der Systeme in den Rechenzentren von Unternehmen oder auf den Schreibtischen der Mitarbeiter basieren nun mal so gut wie ausnahmslos auf einer x86-Architektur und sind somit Teil des Problems. Da aber keine alternativen Architekturen da sind, stehen Kunden nach wie vor im Regen bzw. sind der Monokultur mit all ihren Folgen ausgeliefert und können sich nur mit teils wirkungslosen Software Patches in den Betriebssystemen helfen.

Die Einführung der spekulativen Ausführung wurde von Intel vor ungefähr 25 Jahren entwickelt, da sonst ihre Prozessoren gegenüber denen der damaligen Mitbewerber im x86’er Lager deutlich zu langsam waren. Es musste damals offensichtlich eine schnelle Lösung für die vorhandenen Prozessoren gefunden, da eine komplette Neuentwicklung zu lange gedauerte hätte und die damaligen Mitbewerber so an Intel hätten vorbeiziehen können. Das sollte unter allen Umständen verhindert werden. Schon damals warnte eine im Jahr 1995(!) von der NSA mitfinanzierte Studie eindringlich vor den Gefahren dieser Technologie und bewertete diese Technik als nicht geeignet für sichere Umgebungen. Hätte man in den vergangenen Jahrzehnten die Warnung als Hersteller mal ernst genommen. Aber es sind, wie so oft, wohl eher die wirtschaftlichen Gründe, warum ein Unternehmen auf die Sicherheit seiner Kunden verzichtet und den einfacheren Weg geht. Es ist sehr wahrscheinlich auch davon auszugehen, dass die Gefahren dieser Technik bei Intel bekannt waren, wenn vielleicht auch nur wenigen. Durch das erneute erstarken von AMD in der jüngsten Vergangenheit und deren aktuell sehr leistungsfähigen CPU-Generationen steht Intel wieder wie damals vor einem Problem, welches schon zu Durchhalteparolen an die eigenen Mitarbeiter führte, wie es in den einschlägigen Portalen zu lesen war. Auf der anderen Seite sind AMD Prozessoren auch nicht frei von den Problemen, die durch die spekulative Ausführung entstanden sind, die ebenfalls auch dort Einzug gehalten hat, denn auch AMD Prozessoren gehören mit zu dieser Monokultur der x86’er Welt. Das Aufkommen von ARM Server Prozessoren und der RISC-V Architektur macht die Situation aus Sicht von Intel langfristig eher wohl nicht besser. Hoffentlich aber wieder, wenn auch in ferne Zukunft, die Situation der Kunden, denn die x86-Architektur ist Stand heute für die allermeisten alternativlos und der damit verbundenen sehr großen Abhängigkeit von dieser Basis. Früher war bei Weitem nicht alles besser, schon gar nicht in der IT. Besser war es nur insoweit, dass es mehrere Architekturen mit verschiedenen Ansätzen gab und keine der Architekturen diese Durchdringung des Marktes hatte, wie es heute mit der x86-Architektur der Fall ist. Dabei ist die x86-Architektur wirklich schon sehr alt und das nicht nur für die Maßstäbe in der IT. Der 8086 ist aus dem Jahre 1976 und basierte damals noch auf CISC, welches sich erst mit dem Pentium Pro wandelte und den “Krieg” zwischen den CISC und RISC Lagern beendete. Der Pentium Pro stellt für Intel den Umstieg auf RISC Kerne mit CISC Interpreter da und ist somit die ursprüngliche Basis aller aktuellen Prozessoren. Nur etwas jünger ist die ARM-Architektur, diese stammt aus dem Jahr 1983 und schleppt auch einige Altlasten mit sich herum. Viele andere Architekturen sind im Bereich des Computings verschwunden oder sind bedeutungslos, zu nennen sind Alpha, MIPS, Sun Sparc oder 68/88k. So gesehen spielen nur noch IBM Power Prozessoren in den iSeries (AS/400) und z Mainframes von IBM eine Rolle, wenn auch nicht in der Masse. Die MIPS-Architektur findet sich hingegen noch in Routern von Juniper, Ubiquiti oder auch in Fritz!Boxen, welche MIPS Prozessoren in Kombination mit Netzwerkkomponenten als SoC verwenden. Die MIPS Prozessoren kommen auch in vielen anderen Netzwerkgeräten zum Einsatz und sind damit in viel weiterverbreitet als gemeinhin angenommen wird. Teilweise gibt es aber auch im Bereich der Netzwerkgeräte eine Tendenz in Richtung ARM als Prozessor Architektur in SoC’s für die Geräte, was auch bestimmte NAS einschließt.

Ob sich die ARM-Architektur bei Server durchsetzen kann, ist schwer zu beantworten. Linus Torvalds sieht dies eher nicht. Auf der anderen Seite sind die ARM Prozessoren im Bereich des HPC stark im Kommen und auch HPE oder Huawei bieten zum Beispiel HighEnd Server auf ARM Basis an. Wohingegen sich die ARM Architektur definitiv durchgesetzt hat, ist in mobilen Endgeräten, wie Smartphone und Tablets, in diesem Segment dominieren ARM Prozessoren mit teilweise vier und mehr Kernen. Mit der RISC-V Architektur kommt aber (hoffentlich) neues Leben in den Prozessormarkt. Die Architektur ist offen, noch jung und hat keinen Altlasten mit sich herum zu tragen. Sie eignet sich vom kleinen IoT-Controller, über Microcontroller bis hin zu Prozessoren für HPC Projekte. Die Liste der Mitglieder des “RISC-V Clubs” ist lange und beinhaltet viele die Rang und Namen in der Welt der Halbleiter haben. Daher bleibt zu hoffen, dass in der Zukunft wieder ein echter Wettbewerb entsteht, der auch die Architekturen umfasst, der wieder mehr an Innovation und Leistung bei gleichzeitiger Erhöhung der Effizienz und günstigen Kosten entstehen lässt. Die Preise, die aktuell für bestimmte Prozessoren im x86’er Segment aufgerufen werden, steht nicht im Verhältnis zu deren Leistung oder Stromverbrauch und schon gar nicht im Verhältnis zu den Sicherheitslücken in der CPU selbst oder der Management Engine. Die ganzen Probleme, die dadurch entstanden sind und auch noch entstehen werden, fördert keinesfalls die Digitalisierung an sich und auch das notwendige Vertrauen, was man als Anwender oder auch Betreiber in die Hardware bzw. in der Architektur haben muss. Dass im Rechenzentrum eine entsprechende Compute-Leistung benötigt wird, steht außer Frage, nur macht die mehr oder weniger alternativlose x86-Monokultur die Situation nun mal aus Kundensicht nicht besser, in der so gut wie jeder von uns steckt. Alles basiert bis auf wenige Ausnahmen auf der x86-Architektur, ob das lokale Datacenter oder die Cloud. Zwar schauen sich die großen Cloud Anbieter nach Alternativen um und leisten sich eigene CPU Schmieden, wie zum Beispiel Amazon mit Annapurna Labs für ARM CPU’s oder das Engagement von Alibaba und anderen bei RISC-V. Trotzdem dürfte es noch Jahre dauern, bis es mit passenden Produkten und der notwendigen Leistung bei diesen CPU’s zur Massenmarktreife kommt. Zudem stellt sich dann noch die Frage nach der passenden Software, die es auch wirklich erlaubt, dem x86’er Lager Konkurrenz zu machen. Da ist Linux alleine auf absehbare Zeit sicherlich nicht ausreichend, um dies zu bewirken. Zwar bietet Linux für die meisten der Architekturen entsprechende Unterstützung und ist breiter aufgestellt als zum Beispiel Windows, trotzdem wird es mittelfristig keine Änderung am Status Quo geben. Es bleibt also eher so wie es ist, spannend dürfte nur sein, wie sich die verschiedenen Architekturen entwickeln werden und auch zu hoffen, dass Kunden in wenn auch ferner Zukunft wieder die Wahl haben werden zwischen verschiedenen Architekturen entscheiden zu können. Vielleicht hilft hierbei die Container Technologie weiter, die sich in der IT immer breiter macht. In Zukunft wäre es vorstellbar, dass die Workloads auf Basis von Container auf egal welcher Architektur laufen und nur die Datenbasis wichtig ist und nicht der Prozessor, der alles antreibt. Dazu passt auch, dass immer häufiger GPU’s statt CPU’s für bestimmte Workloads verwendet werden oder gar AI-Prozessoren zum Einsatz kommen. Der Einsatz verschiedenen Architekturen ist also in bestimmten Bereichen gar nicht ungewöhnlich. Aktuell macht sich doch auch kein Anwender wirklich Gedanken darüber, dass auf dem Notebook oder Arbeitsplatzrechner aller Wahrscheinlichkeit nach eine x86-Architektur arbeitet und sein Smartphone oder Tablet eine ARM-Basis hat. Bis dies aber alles bei den eigenen Datacenter und oder in der (Hybrid) Cloud der Fall ist, vergehen im besten Fall noch Jahre. Trotzdem würde eine solche Entwicklung uns Kunden, dem Fortschritt und auch den Themen wie Effizienz und Leistung mehr als nur guttun, wenn die aktuelle Monokultur der zurzeit dominierenden x86’er Systeme im Bereich des Computings durchbrochen wird. Innovation und Wettbewerb ist nie zum Nachteil des Kunden und auch nicht zum Nachteil der Hersteller – im Gegenteil, es treibt die Entwicklung und somit die Innovation voran was Intel als den Marktführer bei x86’er Prozessoren miteinschließt. Die x86’er Architektur ist ja im Grundsatz nicht zwingend schlecht, nur dass, was durch diese Monokultur und den mangelnden Wettbewerb daraus entstanden ist. Ob eine vorhandene Architektur überhaupt gewechselt werden muss, ist vielleicht gar nicht die Frage, sondern eher was bewirkt der Mitbewerb dabei? Warum eine Architektur tauschen, wenn diese noch die Anforderungen erfüllt und zudem einen sicheren Betrieb bereitstellen kann? Es wird nur dann interessant, wenn diese Architektur die Anforderungen und vor allem die notwendige Sicherheit nicht erfüllt und es Alternativen gibt. Wohin der Weg uns alle führen wird, lässt sich zu diesem Zeitpunkt seriös nicht beantworten und hängt nicht zuletzt auch sehr stark von den noch kommenden AI-Prozessoren und GPU’s ab, die immer mehr an Bedeutung gewinnen und somit auch Einfluss auf die CPU Architektur nehmen. Nicht zuletzt hat der Handelsstreit zwischen den USA und China etwas angestoßen, was den US Unternehmen wahrscheinlich nicht so gut gefällt. Zunehmend schauen sich Unternehmen aus China daher nach Alternativen zu US Produkten um, die sie teilweise bei ARM aber im Besonderen in der RISC-V Architektur finden und auch schon massiv vorangetrieben haben. Auch die Europäer planen im Bereich des HPC mit ARM und RISC-V Alternativen zu entwickeln. Es wird hoffentlich spannend und treibt die Innovation voran, von der wir dann alle profitieren. Die Zeit dafür ist schon mehr als überfällig.