Warum die Vektorrechner ausstarben – Gründe für den Niedergang

Die Gründe für den Niedergang sind relativ offensichtlich. Einer lag in dem Aufbau der Hardware, Seymour Cray verwandte für die Cray Chips in ECL-Technologie für den Speicher und die Logik. ECL (Emittergekoppelte Logik) waren die schnellsten verfügbaren Schaltungen, die es gab. Sie haben aber zwei Nachteile. Zum einen haben sie eine sehr hohe Verlustleistung, die auch anliegt, wenn nicht geschaltet wird (bei einem Computer sind ja niemals alle Schaltungen gleichzeitig aktiv, am extremsten ist dies beim Speicher, bei dem nur die Bausteine aktiv sind, von denen gerade Daten geholt oder gespeichert werden, dass sind bei einem Supercomputer einige Dutzend von rund 70.000 Chips. Zum zweiten eignet sich ECL nicht für eine hohe Integrationsdichte, eben aufgrund der hohen Verlustleistung. Schon als die Cray 1 entwarfen wurde hinken ECL-RAMs um eine bis zwei Generationen bei der Speicherdichte dem Metalloxidhalbleitern (MOS) hinterher, aus der „normale“ Mikroprozessoren und Speicherbausteine entstanden. Dabei waren sie durch kleinere Stückzahlen teurer und die Chips für die Logik waren noch teurer, denn sie wurden im Auftrag gefertigt.

Das wäre kein Problem gewesen, denn für einen Supercomputer konnte man zweistellige Millionenbeträge verlangen. Doch die Geschwindigkeit der ECL-Logik konnte kaum noch gesteigert werden. Sie betrug 1976 bei der Cray 1 12,5 ns und erreichte bei dem letzten Vektorrechner von Cray 2,2 ns. Das war die T90 die 1993 erschien. Der Takt wurde um den Faktor 6 gesteigert werden, aber bei Mikroprozessoren war es so, dass die schnellsten Exemplare 1976 rund 3 MHz Takt hatten und 1993 waren es 150 MHz, also der Faktor 50. Mikroprozessoren holten rapide bei den Taktfrequenzen auf. Durch die höhere Integrationsdichte gab es nun auch 64-Bit Prozessoren, während es 1976 noch 16-Bit Prozessoren waren. Sie konnten nun auf genügend Speicher zugreifen und durch die höhere Verarbeitungsbreite auch die Fließkommazahlen schnell verarbeiten. Kurzum: Mikroprozessoren hatten nun den Takt der Vektorrechner erreicht und durch die hohe Integrationsdichte konnte man nun auch die benötigten Gatter auf einen Chip packen um einen Vektorprozessor zu ersetzen.

Die ECL-Technologie hatte noch einen Nachteil: die CPU war nicht auf einem Chip untergebracht, auch nicht auf einem Bord, sondern auf mehreren Säulen, eben aufgrund der niedrigen Integrationsdichte. Bei 2,2 ns Takt einer Cray T90 spielen dann aber schon die Signallaufzeiten innerhalb eines Computers eine rolle. In 2,2 ns legt ein Signal in einem Kabel gerade mal 50 cm zurück. Wenig, wenn der ganze Computer im Takt arbeiten soll. Die Computer mussten kleiner werden, sodass die Wärmeabgabe und Kühlung noch schwieriger wurde. Die Cray hatte eine Standfläche von 1,50 m² und emittierte 180 kW, hätte man die Fläche mit Kochfeldern belegt, sie hätten bei voller Leistung nur die Hälfte der Wärme abgegeben. Der ganze Rechner musste in eine inerte Flüssigkeit zur Kühlung gepackt werden. Kleiner ging es nun nicht mehr.

Auch der Speicher machte Probleme. Die Hersteller von Supercomputerm wechselten wegen des rapiden Fortschritts bei MOS Speicher zumindest beim Speicher in den Achtzigern auf schnelle statische RAMs, manchmal auch auf die höher integrierten, aber noch langsameren DRAM. Das Problem bei diesem langsamen Speicher war, dass man nun die langsame Zugriffszeit mit einer hohen Bandbreite kompensieren musste. Wenn der Rechner eine Zykluszeit von 5 ns hatte und das RAM eine von 150 ns, dann durfte er eben nur alle 30 Zyklen auf dieselben Chips zugreifen. Es gab sehr viele Bänke auf die nacheinander zugegriffen wurde (256 bis 1024), jede musste einzeln verdrahtet werden und so erhielt man zwar eine beeindruckende Bandbreite, aber handelte sich Probleme beim Verdrahten ein. Zudem klappte das nur bei linearem Zugriff.

Das letzte Problem war hausgemacht. Die Architektur wurde kaum geändert. Die letzte Cray die als Vektorrechner aufgebaut wurde hatte wie die erste acht Vektorregister mit 64 Einträgen. Die höhere Integration schlug sich also nicht in mehr Registern nieder oder mehr Recheneinheiten – beides hätte mehr Parallelität erlaubt. Caches, wie sie Mikroprozessoren einsetzten wurden selten eingesetzt. Mit ihnen kann man die Langsamkeit des Speichers kompensieren, indem man die Daten die man aktuell braucht, in einen kleinen, aber schnellen Speicher kopiert. stattdessen setzte man nach wie vor auf einen großen gemeinsamen Speicher der direkt angesprochen werden konnte.

Auch entwickelte man die skalaren und normalen Fließkommeinheiten kaum weiter. Damit blieb das Problemm dass man die hohe Geschwindigkeit nur mit die Vektorregister nutzende Software erreichte. dagegen waren Mikroprozessoren ohne Vektorprozesoren fähig diese normalen Berechnungen genauso schnell zu erledigen. Sie waren nicht so spezialisiert.

Kombinierte man dies mit dem Kostenvorteil – es mussten keine eigenen Chips entwickelt werden, man konnte auch bei den Fertigungskosten durch die hohen Stückzahlen sparen, so ist klar, dass MPP siegen würde. Heute ist nur NEC dem Vektorprinzip treu geblieben. Immerhin hat NEC aus einem Vektorprozessor 256 GFlops herausgekitzelt. Ein CPU Kern einer XEON CPU schafft bei bestimmten Operationen maximal 14 GFlops. (2014).

Das man den Takt nicht weiter reduzieren konnte, holte übrigens zehn Jahre später die Mikroprozessoren ein. Nachdem der Pentium 4 die 3 GHz Grenze erreichte, wurde sie kaum noch gesteigert. Auch hier setzte man nun auf immer mehr Kerne. So richtig hat die Vektorarchitektur nicht in die Mikrocomputer eingezogen. Es gab zwar Ansätze wie SIMD (Single Instruktion, Multiple Data) oder VLIW (Very long Instruktion Word) die beide den Ansatz haben, mehrere Daten in einer Instruktion zu verarbeiten, doch dann sind es 4 oder 8 Datenworte, nicht 64 wie bei einem Vektorrechner, obwohl dies sicher eine Möglichkeit wäre, die Effizienz zu steigern. Am ehesten vergleichbar ist die Architektur von Grafikkarten. Sie sind zwar völlig anders aufgebaut, haben aber einige Gemeinsamkeiten:

Es gibt keinen Cache, sie leben dagegen von sehr schnellem (DDR5) Speicher, dessen Größe daher eher klein ist

Sie haben eine sehr hohe Speicherbandbreite und transferieren 128 bis 512 Bits auf einmal

Anstatt einer Vektor CPU, die nacheinander die Daten verarbeitet, haben sie hunderte bis über 1000 kleine Recheneinheiten (GPU) die parallel jeweils unterschiedliche Daten verarbeitet.

Wie Vektorrechner erreichen diese GPU ihre hohe Geschwindigkeit nur bei spezialisierter Software, die massiv parallel ausgeführt wird, wie Videodekodierung oder -encodierung.

Cray Research gibt es heute noch, eine Zeitlang war die Firma Bestandteil von Silicon Graphics, wurde später aber wieder ausgegliedert. Die Firma baut bis heute Supercomputer. Das Know-How liegt aber nicht in den Prozessoren – es werden AMD Opterons oder Intel Xeons verwendet, sondern in der Technologie diese und den Hauptspeicher zu verbinden, dass der Zugriff möglichst schnell geht. Auch die japanischen Firmen, die zwar nicht den internationalen Erfolg von Cray hatten, aber zeitweise die schnellsten Rechner bauten gab auf, bis auf NEC, die bis heute Vektorrechner anbietet.

2 thoughts on “Warum die Vektorrechner ausstarben – Gründe für den Niedergang

  1. Viele Konzepte welche eine Cray so schnell gemacht haben sind unterdessen auch in einer ganz normalen CPU zu finden:
    – Pipelining: Die einzelnen Steps einer Instruktion können überlappend ausgeführt werden. (Gleichzeitig werden Instruktion 1 dekodiert, Instruktion 2 ausgeführt und das Resultat von Instruktion 3 ins Register geschrieben. etc.)
    – Superscalar: Es können gleichzeitig mehrere Instruktionen im selben Step sein. (Instruktionen 1,2,3 werden dekodiert, Instruktionen 4,5 werden ausgeführt. etc. )
    – SIMD: Die aktuellste Ausgabe (AVX-512) welche 2015 kommen sollte kann immerhin 512 Bits auf einmal verarbeiten. Cray-1 hatte 64*64Bit (4kBit) Vektoren)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.