Warum die Vektorrechner ausstarben – die Entstehung einer Architektur

Ich habe letzte Woche einen Artikel über die Cray 2 fertigstellt. Ich will noch vor meinem Arbeitsurlaub einen Artikel über die Cray 3 schreiben, doch wenn man über die Artikeln sitzt, dann fragt man sich willkürlich, warum es heute keine Vektorrechner mehr gibt.

Fangen wir mal mit etwas Geschichte an. Wenn man von Vektorrechnern spricht, dann meisten auch von der Firma Cray Research und Seymour Cray, der Gründer der Firma. Seymour Cray. Er ist eng mit der Entwicklung der Supercomputern verbunden. Als ich mich erstmals für Computer interessierte, war ein geflügeltes Wort „Ein Supercomputer ist eine Cray“. Seymour Cray war zuerst bei CDC angestellt, wo er auch schon die schnellsten Rechner der damaligen Zeit, die Cyber 6600 und 7600 entwarf. Die CDC 6600 setzte erstmals um die Geschwindigkeit zu erhöhen mehrere Funktionseinheiten ein. Anstatt einer Recheneinheit gab es mehrere. Wenn nun eine Addition mehrere Takte erforderte, musste die nächste Rechenoperation nicht warten, sondern konnte in einem anderen Rechenwerk ausgeführt werden. Die Cyber 7600 war eine evolutionäre Weiterentwicklung der 6600. Geschwindigkeit gewann sie vor allem dadurch, dass sie nicht mehr als einzelnen Transistoren, sondern integrierten Schaltungen aufgebaut war. Bei der 8600 kam man bei der Entwicklung nicht weiter vorwärts und CDC gab die Entwicklung auf. Seymour Cray schied aus dem Unternehmen aus und gründete 1972 sein eigenes Unternehmen, Cray Research.

Die Entwicklung eines Nachfolgemodells war schwieriger. Seymour Cray hatte den Ansporn, dass jeder neue Rechner eine Potenz (10-mal) schneller als das Vorgängermodell sein sollte. Der Takt war nicht in dem Maße zu steigern wie Seymour Cray dies wollte. Die Cyber 7600 hatte einen Takt von 36,4 MHz, sein erster unter Cray Research gebauter Rechner die Cray 1 hatte einen Takt von 80 MHz, war also nur doppelt so hoch getaktet. Ihre Spitzenleistung bei Fleißkommaoperationen war dagegen 16-mal größer. Dies geschah durch die Einführung der Vektorarchitektur. Das Prinzip ist ganz simpel: Eine Befehlsausführung besteht aus den Schritten:

  • Befehl holen
  • Befehl dekodieren, also feststellen was man machen muss
  • eventuell Daten aus dem Speicher holen
  • Befehl ausführen
  • eventuell Daten zurückschreiben

Die Idee war es nun, hier Taktzyklen einzusparen. En Vektorrechner führt eine Rechenoperation nicht mit zwei Zahlen aus, sondern nacheinander mit bis zu 64 Zahlenpaaren. Das Dekodieren musste nur einmal erfolgen. Die Daten mussten vorher schon in den Registern liegen und so blieb nur die Ausführung für den zweiten Befehl übrig. Eine Rechenoperation dauerte bei der Cray 1 sechs Takte für die erste, doch alle folgenden Operationen wurden in einem Takt durchgeführt. Dieser Geschwindigkeitsvorteil war das revolutionäre bei der Cray 1. Es gab auch einen Nachteil: der Rechner war nun nicht mehr universell. Seine hohe Geschwindigkeit erreichte er nur mit Software, die das Vektorprinzip ausnutzte. War dies nicht der Fall, also bei normalen Fließkomma oder Ganzzahlberechnungen, so fiel die Cray 1 auf ein Sechstel ihrer Geschwindigkeit zurück (war dann aber immer noch 2,6-mal schneller als eine Cyber 7600). Die Kunden damals waren aber vor allem das Militär sowie große Forschungseinrichtungen wie das NCAR (National Climate and Athmosphre Research Center), bei denen Simulationen liefen. Charakteristisch für die meisten Simulationen ist, aber das man immer dieselbe Berechnung mit unterschiedlichen Daten durchführt.

Aufgrund dessen, dass man die Architektur praktisch an verwendete die Software anpasste wurden die Rechner sofort zum Erfolg und riefen auch Nachahmer auf die Szene. In Japan bauten gleich drei Firmen Vektorrechner. NEC ist dem Prinzip bis heute treu geblieben und baute auch den letzten Vektorrechner den Earth Simulator, der von 2002 bis 2004 wieder die Spitze der Top 500, der schnellsten Rechner erklimmen konnte. Gerechterweise muss man sagen, das Seymour Cray das Vektorprinzip nicht erfunden hat. CDC brauchte schon vorher die Star 100 heraus, die das Prinzip einsetzte, allerdings konnte die Star 100 ihre Höchstgeschwindigkeit von 100 MFlops (nominell mehr als die Cray 1) nicht in realen Programmen umsetzen, weil die Maschine die Operationen vom Speicher und in den Speicher durchführte. Bis die Pipeline mit Daten gefüllt war verging so viel Zeit, dass eine hohe Geschwindigkeit nur bei der Verarbeitung von sehr vielen Zahlen erreicht wurde. Seymour Crays Verdienst war es Vektorregister einzuführen, also eigene Register in der CPU. Da diese besonders schnell sein mussten konnte er keine hoch integrierten Chips nehmen. Ein Chip konnte nur eine Zahl speichern. Bei acht Registern mit je 64 Zahlen waren so alleine 512 Chips für die Vektorregister nötig. Clevere Programmierer machten übrigens Gebrauch davon, dass die Maschine mehrere Recheneinheiten hatte. Während ein Rechenwerk eine Addition durchführte, konnte eine zweite eine Multiplikation durchführen. so konnte man die Spitzenperformannce von 80 auf 160 GFlops steigern.

Die weitere Entwicklung der Vektorrechner ist dagegen sehr schnell zu skizzieren. Die Cray 2 entstand als Nachfolgemodell 1985. Cray gelang es die Zykluszeit auf ein Drittel zu reduzieren, aber zu einem hohen Preis. war die Cray 1 schon kompakt, so musste die Cray 2 noch kleiner sein eine 1 m lange Leitung bewirkt schon eine Verzögerung des Signals um 2 ns – viel bei einer Zykluszeit der Cray 2 von 4,1 ns. Der ganze Rechner wurde in eine inerte Kühlflüssigkeit getaucht, um die rund 180 kW Wärmeleistung abzuführen, die er auf einer Fläche von 1,49 m² emittierte. Die Cray 2 konnte nicht an den kommerziellen Erfolg anknüpfen, sie entstand aufgrund der Anforderung des amerikanischen Energieministeriums für umfangreiche Simulationen und hatte einen Hauptspeicher, der so groß war, dass er erst nach zahn Jahren von einem anderen Rechner übertroffen wurde. Dieser war nicht in der gleichen Technologie wie die CPU zu realisieren, doch normale Standard-DRAM Bausteine waren rund dreißigmal langsamer als die Logik. Um dies auszugleichen griff er nacheinander auf verschiedene Speicherbänke zu und hatte daher auch 64 Stück dieser. Ein kleiner lokaler Speicher sollte zudem die wichtigsten Daten für die Berechnungen halten. Anders als der Cache den heutige CPU einsetzen wurde dieser aber per Programm gefüllt.

Da sich die Fertigstellung der Cray 2 verzögerte, baute Stephen Chen basierend auf der Cray 1 die Cray X-MP, im wesentlichen nichts anderes als ein Zwei/Vierprozessorausgabe der Cray 1. Sie verkaufte sich rund sechsmal besser als die Cray 2. Als dann Seymour Cray bei der Cray 3 auf Galliumarsenid wechselte, machte das Management nicht mit. Cray Research baute in der Folge weitere Rechner, die auf der Architektur der Cray 1 basierten, mehr Geschwindigkeit erreichte man durch die evolutionäre Verringerung der Schaltzeiten, vor allem aber durch erst zwei, dann vier, acht und 16 Prozessoren. Seymour Cray machte seine eigene Firma auf. Die Cray Computer Corporation. Er konnte die Cray 3 noch fertigstellen, doch das Ende des kalten Kriegs bedeutete einen drastischen Rückgang der Aufträge für Supercomputer für alle Firmen. die Cray 3 hatte nur einen Kunden und der zahlte nicht. Noch während der Entwicklung zur Cray 4 ging seine neue Firma Cray Computer Corporation bankrott.

Dagegen nahmen ab Mitte der neunziger Jahre Multiprozessorsysteme zu. Es gab diese schon vorher. Schon in den Achtzigern gab es Versuche Supercomputer auf Basis von kommerziellen Mikroprozessoren (8086, MC 68000) oder speziell konstruierten Mikroprozessoren wie die Connection Maschine (CM-1 und CM-2). Doch sie waren damals noch eine Nischenlösung. Schwer zu programmieren, weil der lokale Speicher klein war und viel der Leistung ging durch Kommunikation verloren. Mitte der neunziger kamen Mikroprozessoren auf den Markt der Takt einige Hundert Megahertz erreichte. Sie konnten 4 Gigabyte Speicher ansprechen und um einen Vektorprozessor zu ersetzen brauchte man von diesen nun nicht mehr Tausende sondern vielleicht ein Dutzend. Durch deren Massenfertigung und die Benutzung von Standardtechnologie waren damit aber Rechner billiger zu fertigen und setzten sich schnell durch. Im Juni 1993 führte die erste Top 500 Liste 310 Vektorrechner auf. im November 1997 waren es nur noch 107. Innerhalb von etwas über vier Jahren eine Reduktion auf ein Viertel. Cray Research selbst führte den ersten Rechner mit MPP (Massive Parallel Prozessors) 1993 ein, 1995 erschien der letzte Vektorprozessor T90.

So nach dieser Einleitung lest ihr morgen, welche technische Gründe es gab, warum die MPP über die Vektorrechner triumphierten. Morgen gibt es weil es Feiertag ist nur ein Rätsel.

5 thoughts on “Warum die Vektorrechner ausstarben – die Entstehung einer Architektur

  1. Vielleicht etwas mehr wenn ich den Cray 3 Artikel fertiggestellt habe. Derzeit arbeite ich aber vom Beginn an, das heißt an der cdc 6600. Bzw. Ganz aktuell bin ich im Urlaub und versuche einigermaßen mit einem Raspberry pi nach dem Blog zu schauen (angeblich soll das ding ja so schnell wie ein Pentium 200 sein, aber angesichts der wartezeit bei allen Aktionen glaube ich das nicht. Selbst mit meinem amd 486-100 und Modem war Internet schneller).

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.