Home Computer Crays Supercomputer Site Map counter

Die Cray 2 - Architektur eines Supercomputers

Einleitung

Der Begriff "Supercomputer" ist eng mit Seymour Cray verbunden. Er leitete die Entwicklung der CDC 6600, die als erster Supercomputer gilt. Später machte er sich selbstständig und schuf die Cray 1 und 2. Ich möchte mich in diesem Artikel mit der Architektur der Cray 2 näher befassen. Dazu ergänzend sollten sie den Artikel über die Cray 1 lesen. Insbesondere wird dort die Architektur genauer besprochen, die sich im wesentlichen auch in der Cray 2 wiederfindet. Zudem enthält der Artikel die Vorgeschichte der Entwicklung von Seymour Cray bei CDC.

Cray 2Die Cray 2 sollte wie ihre Vorgänger zehnmal schneller als die jeweils letzte Generation sein. Als sie aber entwickelt wurde, war die Entwicklung der Halbleiter schon abgeflacht, alleine die Schaltzeiten sanken nicht zwischen den Entwicklungszyklen um den Faktor 10. Das war vorher der Fall, auch weil man Technologien geändert hatte, z. B. von einzelnen Transistoren auf integrierte Schaltkreise wechselte. Die Cray 2 hatte schließlich eine Zykluszeit von 4,1 ns - dreimal schneller als die Cray 1, aber eben nicht zehnmal. Dem Problem war Seymour Cray schon bei der Entwicklung der Cray 1 begegnet. Doch damals war es noch nicht so groß und er konnte ihm durch die neu geschaffene Architektur des Vektorrechners begegnen. Für die Cray 2 musste er eine andere Lösung suchen, denn die Architektur hatte mit den Grund für den Verkaufserfolg der Cray 1

Verschärft wurde das Problem durch die Signallaufzeiten. Bei einem Supercomputer wie der Cray ist die CPU nicht in einem Chip, oder auch nur einer Platine, sondern vielen Platinen, die durch Leitungen verbunden sind. Innerhalb einer Nanosekunde legt ein Signal im Vakuum aber 30 cm zurück, in Leitungen mit dem Widerstand durch Atomen ist es langsamer unterwegs, typischerweise mit 20 cm/ns. Dazu kommen Transistoren auf dem Weg die erst mal schalten müssen. Bei 4,1 ns sollten Leitungen nicht viel länger als 80 cm sein, sonst erreicht ein Signal nicht mehr einen Chip im selben Taktzyklus. Als Folge packte Cray Chips in ein Modul, das dreidimensional verdrahtet war und alle Module in ein selbst für heutige Verhältnisse sehr kleines Gehäuse von der Größe eine Kühlschrankes - heute füllen Supercomputer ganze Hallen.

Die Entwicklung der Cray 1 begann 1981, fast neun Jahre nach der Cray 1. Kommerziell verfügbar war sie ab 1985. Vorarbeiten gab es schon ab 1978. Verschiedene Quellen sprachen davon, dass Seymour Cray schon für die Cray Galliumarsenid als Halbleiter einsetzen wollte, aber als er erkannte dass diese Technologie noch nicht reif genug 1980 auf Silizium umstieg. Schon vorher bekam das Lawrence Livermore Lab einen Prototyp für Tests. Diese Praxis hatte sich schon bei der Cray 1 bewährt als bei Tests sich herausstellte, dass die Cray 1 eine hohe Ausfallrate aufgrund Speicherfehlern hatte. Das führte zur Einführung eines Codes der 1 Bit Fehler korrigierte und 2 Bit Fehler erkannte, dieselbe Technologie wurde fortan in allen Rechnern von Cray Research eingesetzt. Die erste Cray 2 außerhalb der USA ging an die Uni Stuttgart. Sie wurde 1985 bestellt, als ich gerade dort das Studium anfing und neben dem Stolz den weltschnellsten Rechner im Rechenzentrum zu haben kam noch ein zweiter Aspekt dazu - der Dollarwechselkurs war gerade sehr niedrig und so kostete die Cray 2 "nur" 47 Millionen DM. Der Verkaufspreis betrug 17,6 Millionen Dollar.

Allgemeiner Aufbau

Der Rechner bestand aus einem sehr ästhetischen Kreissegment in Form eines "C". In dem kleinen Schrank von 43 Zoll Höhe (109,2 cm) befanden sich 14 Modulsäulen die zueinander jeweils einen Winkel von 20 Grad hatten. (Zusammen: 300 Grad)  Jeder Stapel hatte eine Höhe von 24 Zoll (61 cm). Darunter war die Stromversorgung. Ein Modulstapel bestand wiederum aus 24 Modulen. Jedes Modul bildete eine dreidimensionale Struktur aus maximal 8 x 8 x 12 Chips auf acht Platinen. Ein Modul war 8 x 4 x 1 Zoll (20,3 x 10,1 x 2,5 cm) groß. Es gab in allen drei Dimensionen Verbindungen zwischen den Elementen eines Moduls. Das gab es vorher noch nie, sondern Platinen hatten hatten am Ende einen Anschluss und waren über diesen mit dem Bus und den anderen Platinen verbunden. Jedes Modul war mit 288 Twisted-Pair Steckern für die Verdrahtung ausgestattet. Die Logikmodulen bestanden aus 20 verschiedenen ECL-Schaltungen. Jede Schaltung hatte maximal 6 Eingänge und bis zu 16 Gatter in zwei Ebenen. Die Zahl der Gatter war gleich hoch wie bei der Cray X-MP, der Rechner jedoch bedeutend kompakter. Während eines Taktzyklus konnte das Signal maximal 4 Logikebenen passieren. Ein Chip hatte 16 Pins zum Anschluss. Es gab pro Modul bis 750 Schaltungen, 336 Module pro Rechner. 40% des Volumens eines Moduls bestand aus integrierten Schaltungen auf einer Platine mit acht Lagen. Das war eine sehr hohe Packungsdichte. Daher gab es 300 bis 500 Watt ab - eine enorme Leistung bei diesem kleinen Volumen und wog alleine ein Kilogramm. Von den Modulen entfielen 128 auf den Speicher und 152 auf die CPU. Die IC's waren die gleichen wie in der Cray X-MP es waren Logikschaltungen mit 16 Gattern pro Chip, eine selbst 1985 sehr niedrige Integrationsdichte.

Der Takt betrug 250 MHz. Aus dem Taktsignal wurde ein 800 ps Impuls abgeleitet. Die Leitungslänge wurde so gewählt, das die Wegzeit zu einem Modul überall innerhalb einer Spanne von 100 ps die gleiche ist, d.h. bei 200.000 km/h Signalgeschwindigkeit musste die Kabellänge auf 2 cm genau stimmen. Die Verdrahtung erfolgte durch verdrillte Drahtleitungen (twisted wire) von Punkt zu Punkt. Es gab also nicht wie man es sonst vom Computer kennt einen Stecker mit einem genormten Anschluss oder mehreren Pins die in einem gemeinsamen Kabel münden. Bedingt durch die höhere Zykluszeit musste die Leitungslänge kürzer werden und die Kabellänge lag zwischen 5 und 63 cm. Die gesamte Kabellänge betrug über 9 km.

Der gesamte Computer war erstaunlich klein. Der Durchmesser betrug 134,6 cm und die Höhe 114,3 m. Er belegte 1,49 m² Fläche, wog aber 5,5 t und brauchte im Durchschnitt 180 kW an Strom.

Architektur

ModulDie Architektur eines Computers ist bestimmend für die Geschwindigkeit. Dabei gibt es sehr viele Faktoren von der physikalischen Umsetzung wie die Verdrahtung, Bestückung der Platinen und Integrationsdichte bis zur Maschinensprache. Die Cray 1 hatte eine kombinierte Vektor/Skalararchitektur eingeführt und erreichte auch bei Skalaroperationen eine sehr hohe Spitzenleistung. Für die Programme die meist unterschiedliche Daten mit immer denselben Formeln bearbeiten war dies von Vorteil. So änderte Cray an der Maschinensprache und den Funktionseinheiten des Computers wenig. Doch da der Taktzyklus nur um den Faktor drei anstieg musste er um auf die gewünschte zehnfache Cray 1 Geschwindigkeit zu kommen zu einer Technik greifen, die nicht neu war: er setzte nicht einen Prozessor ein sondern fünf. Davon waren vier identische Hintergrundprozessoren, ein jeder mit großer Ähnlichkeit zu einer Cray 1. Der Fünfte war ein Vordergrundprozessor.

Die Hintergrundprozessoren waren reine CPU's, sie konnten alle gemeinsam auf den Speicher zugreifen. Der Vordergrundprozessor konnte dies auch, doch war er auch das Interface zur Außenwelt. So hingen an ihm die I/O Geräte oder die Konsole mit der man den Rechner steuerte. Er füllte auch das P-Register des Hintergrundprozessors welches den Befehlszeiger repräsentierte.

Beim Hintergrundprozessor hatte Seymour Cray die bei der Cray 1 noch vorhandenen skalaren (Ganzzahl) und Fließkommarecheneinheiten leicht reduziert. Sie konnte sie nun auch die Multiplikation und Wurzelziehen in der Hardware. Es gab noch acht Skalarregister für Rechnungen mit 64 Bit Ganzzahlen oder Fließkommazahlen. Dazu kamen 8 Adressregister die Adressen im Speicher hielten. Sie konnten aber auch für 32 Bit Ganzzahladditionen zweckentfremdet werden.  Die Vektorregister waren wie in der Cray 1 angelegt: Es gab acht Vektorregister, jede fasste bis zu 64 Zahlen zu je 64 Bits. Eine Vektoroperation war wie eine normale Operation nur wurde sie eben mit mehreren Werten durchgeführt. Eine skalare Operation ist z.B.

KarteA = B+ C

eine Vektoroperation dagegen

For I=1 to 64

a[i]=B[i]+C[i]

Anstatt einen Wert zu berechnen wurden bis zu 64 Werte addiert, wobei der Index des i-ten Wertes pro Zyklus um 1 erhöht wurde. Der Vorteil war eine höhere Geschwindigkeit die meisten Operationen brauchten bis der erste Wert berechnet war, mehrere Takte, typisch 6. Jeder folgende Rechnung konnte dagegen weil die Operationen nun parallel durchgeführt wurden in einem Takt durchgeführt werden. Cray bot Compiler an, die solche Schleifen erkannten und die Vektoroperationen nutzten. Wenn man mehr als 64 Werte berechnen wollte nutzte man mehr als ein Vektorregister um die Werte unterzubringen. Bei skalaren Operationen wurde eine Instruktion im Durchschnitt in zwei Takten ausgeführt, die Spitzengeschwindigkeit eines 4-Prozessorsystems betrug daher 500 MIPS.

Die Operationen schrieben das Ergebnis in einem Zielregister unterbrachten. Bei vielen Prozessoren dieser Zeit war dagegen das Zielregister meist auch eines der Quellregister, d.h. der ursprüngliche Inhalt ging verloren.

Skalaroperationen wurden langsamer ausgeführt, eine alle zwei Takte, so erreichte eine Cray 2 zwar theoretisch fast zwei GFlops pro Sekunde, aber nur 500 MIPS.

Es gab folgende funktionale Recheneinheiten:

VerdrahtungJede Einheit war von den andern unabhängig. Solange also ein Befehl z.B. eine Fließkommaeinheit beschäftigte konnte er nächste eine Integereinheit beschäftigen. So konnten mehrere Operationen parallel durchgeführt werden, selbst wenn jede Operation mehrere Taktzyklen benötigte. Die Vektoreinheiten konnten auch zwei 32 Bit Operanden aufnehmen und jeweils einen der beiden bearbeiten. Als Peak-Performance konnte eine Cray 2 zwei Fließkommaoperationen pro Taktzyklus und Prozessor durchführen. Der Vordergrundprozessor konnte Wurzeln berechnen und den Kehrwert einer Zahl. Dieser wurde für die Division benötigt, für die es keine Einheit gibt. Sie wurde über newtonsche Tangentenverfahren berechnet.

Die Hintergrundprozessoren entsprachen weitgehend einer Cray 1. Neben der veränderten Funktionseinheitenzahl die vornehmlich auch auf einer höheren Integration beruhte und den von 22 auf 32 Bit erweiterten Adressregistern war die einzige Änderung in der CPU Architektur das Weglassen der B und T Register. Sie wurden stattdessen durch einen 16 Kworte großen lokalen Speicher ersetzt. Die B und T Register dienten zum Zwischenspeichern der Adress- und Skalarregister, so konnten diese einen Takt früher für andere Operationen freigegeben werden. Der lokale Speicher hatte nun dieselbe Funktion des Zwischenspeichers, nur war er auch für Vektorregister nutzbar.

Eine Besonderheit waren acht "Shared Register", mit denen die vier Hintergrundprozessoren Adressen austauschen konnte. Ein Wert konnte in die 32 Bit breiten Register von einem Prozessor geschrieben und von einem anderen in ein Adressregister ausgelesen werden. Das war nützlich wenn alle Prozessoren an einem Problem arbeiteten, so konnte verhindert werden, das eine Berechnung doppelt durchgeführt wurde, indem vor dem holen von Daten erst die Adresse aus dem Shared Register geholt wurde, die wiederum von einem anderen Prozessor geschrieben wurde um zu signalisieren wo er er gerade bei der Berechnung ist. Es gab auch ein 32 Bit Basis- und Limitregister für einen geschützten eigenen Speicherbereich und 8 Semaphorregister mit denen der Zugriff signalisiert wurde.

Um die Geschwindigkeit zu erhöhen gab es eine Pipeline, das bedeutete bei jedem Takt wurde schon vorrausschauend der folgende Kode übersetzte, das geschah in 16-Bit Happen. Reservierungsflags zeigten an, ob Register frei waren oder die Instruktion auf die Ausführung warten musste bis das Register frei war. Ein kleiner Befehlsbuffer von 16  oder 32 Worten Größe nahm Code aus der gerade ausgeführt wurde. Solange eine Schleife oder der Code in diesem Bereich bleib konnte er schnell abgearbeitet werden, ohne den langsamen DRAM Speicher zu bemühen. Dafür gab es pro Hintergrundprozessor 8 Instruktionsbuffer. Verließ eine Instruktion einen Buffer so wurde der älteste Puffer verworfen und mit 16 neuen Worten aus dem Teil des Codes gefüllt, der nun gerade abgearbeitet wurde. Dieses Konzept wie auch die Pipeline findet sich in jedem heutigen Prozessor, nur wird der Puffer dort Cache genannt und ein zusammengehörender Teil eine Cacheline.

Vier Instruktionen dienten dazu einen Speicherbereich im gemeinsamen Speicher zu sperren und damit eine Datenkorruption zu verhindern. Diese kann entstehen, wenn zwei Prozessoren auf denselben Speicherbereich zugreifen. Nehmen wir an Prozessor A rechnet mit dem Inhalt der Speicherzelle X. Er schreibt das Ergebnis X' in die Speicherzelle, das wiederum von Prozessor B als Basis für die Berechnung benötigt wird. Ohne Sperrung könnte Prozessor B mit dem alten Wert (X) rechnen, da der neue X' noch nicht vom Prozessor A berechnet wurde.

Speicheradressen waren anders als bei der Cray 1 nun 32 Bits lang, das bedeutet der Speicher konnte auf 4 Milliarden Worte (32 GByte) ausgebaut werden. Spätere Modelle hatten auch noch mehr Speicher (bis zu 512 MWorte). Über zwei Register in jedem Hintergrundprozessor konnte die Basisadresse und die höchste Adresse festgelegt werden. Ein Überschreiten der Grenzen wurde dann als Fehler gemeldet. Auch diese Technologie kennt man auch von anderen Prozessoren: der 8086 Prozessor nutzte segmentierten Speicher konnte also den Gesamtspeicher nur in Segmenten von 64 KByte ansprechen. während dies beim 8086 eine Krückenlösung war, weil man keine Architektur schuf die die auf den ganzen Speicher ohne Segmente zugreifen konnte, war die Segmentierung ein Weg den Speicher aufzuteilen ohne dass sich die Prozessoren in die Quere kamen. Jeder hatte dann seinen eigenen Speicher. Die Abstimmung über Synchronisation war zwar auch möglich aber sehr zeitintensiv. So konnte diese verhindert werden,

Befehlssatz

ArchitekturDie Cray 2 kannte drei native Datenformate:

Befehlsworte waren immer 16 Bit breit, davon waren 7 Bit für den Opcode vorgesehen und je drei Bit für die Angabe der Register die für die Operation benötigt wurden. (Ein Ziel und zwei Quellregister, damit waren jeweils 8 Register adressierbar). Wurden nicht alle Felder benötigt, so wurde der Rest mit binären Nullen aufgefüllt. Aufgrund des fixen Formates war die Cray 2 wie schon ihr Vorgänger ein reinrassiger RISC Computer.

Datenblöcke die man brauchte um Werte und Adressen zu verarbeiten hatten drei Größen:

Viele Befehle wurden von der Cray 1 übernommen, doch da es neue Befehle gab um den lokalen Speicher zu adressieren und Flags zu setzen, dass ein Speicherzugriff der anderen Prozessoren auf eine Adresse derzeit nicht möglich ist, war die Cray 2 auf Maschinencodeebene inkompatibel zur Cray 1.

Speicher

Bei der Cray 1 stellte sich bald heraus, das der Speicher zu klein war. Es wurden mehrere Modelle angeboten, doch verkauft wurde vor allem das größte Modell mit 1 MWorten Speicher. Bei der Cray 1 wurde später die Version Cray 1M nachgeschoben, bei dem der Hauptspeicher aus schnellen MOS-Speicher wie er auch in kleineren Rechnern üblich war bestand. MOS Speicher war deutlich langsamer als der in der Cray 1 verwendete ECL-Speicher, aber er hatte eine höhere Kapazität pro Baustein und gab auch weniger Wärme ab. Das war von Bedeutung weil schon die Cray 1 aufwendig gekühlt werden müsste. MOS (Metalloxid on Silicium) ist die Standardtechnologie in der Speicherbausteine, aber auch Schaltungen gefertigt werden. Sie schaltet langsamer, lässt aber höhere Integrationsdichten als die ECL-Technologien zu, die für die Logik verwendet wurde und verbraucht weniger Strom, erzeugt damit auch Abwärme. Später gab es für die Cray 1S und X-MP einen Zusatzspeicher von 32 bis 256 MWorten MOS Speicher der allerdings wie ein Dateisystem angesprochen wurde. Die Problematik war Cray nicht neu: Schon bei seinem ersten Supercomputer, der CDC 6600 wurde ein Zusatzspeicher eingeführt weil der eingebaute Speicher einigen Kunden nicht reichte.

Der Speicher der Cray 2 betrug 256 MWorte - während die Geschwindigkeit im Vergleich zur Cray 1 also um den Faktor 12 gesteigert wurde, war es beim Hauptspeicher der Faktor 256. Das war nur möglich durch die Benutzung von Standard-DRAM Bausteinen der neuesten Generation mit 256 KBit Kapazität. Der Übergang auf MOS-Technologie führte dazu, dass trotz des erheblich vergrößerten Arbeitsspeicher nur 73.728 Chips aus DRAM bestanden, das war weniger als ein Drittel der 240.000 Chips des Rechners. Bei der Cray 1 waren es mit 75.000 von 200.000 Chips ein größerer Anteil, obwohl der Arbeitsspeicher viel kleiner war. Die Größe des Speichers war so enorm, dass es ein Jahrzehnt dauerte bis er von einem anderen Computer übertroffen wurde - und das obwohl sich gemäß Moor'schem Gesetz die Speicherkapazität alle 24 Monate verdoppelt.

Der Speicher war aufgeteilt in 128 Memory Banken von jeweils 2 Millionen Worten Größe (da ein Wort 64 Bit breit ist, entspricht dies 16 Mbyte). Er diente zur Aufnahme der Daten und Programme der Hintergrundprozessoren, Es gab keinen separaten Programm- und Datenspeicher. Der Puffer für die Ein/Ausgabe auf Laufwerke lag auch hier und die Systemtabellen des Vordergrundprozessors, nicht jedoch dessen Programmcode. Die 128 Banken wurden in vier Quadranten jeweils mit einem Memoryport organisiert. An ihm hing jeweils ein Hintergrundprozessor und der Vordergrundprozessor.

Damit sich die vier Prozessoren nicht in die Quere kamen, war der Zugriff organisiert. Ein Prozessor konnte nacheinander auf jeden der vier Quadranten zugreifen. Nach vier Takten wieder auf den gleichen Quadranten. Jeder Prozessor hatte also pro Takt exklusiv auf einen Quadranten Zugriff und so kamen sich die Prozessoren nicht in die Quere. Allerdings dauerten Speicherzugriffe länger als 4 Takte, so gab es Befehle mit denen Flags gesetzt werden konnten das eine Speicherzelle gerade in Bearbeitung ist. Solange mussten andere Prozessoren auf den Zugriff dieser Speicherzelle warten, konnten aber andere Daten aus dem Quadranten abrufen.

Die gesamte Speicherbandbreite betrug 64 GBit/s, es konnten also 1 Milliarde Wörter pro Sekunde transferiert werden. Das klingt nach viel, doch teilt man dies durch die 128 Banken, dann sind es nur 8 Millionen pro Bank/Sekunde. Ein Transfer dauert 160 ns, während die Zykluszeit nur 4,1 ns beträgt. Der Speicher ist also 30-mal langsamer als die Logik, bei der Cray 1 war er nur viermal langsamer. Um dies auszugleichen wurde der Zugriff verteilt. Die niedrigsten zwei Bits einer Adresse selektierten den Quadranten, die nächsten 5 die Bank innerhalb des Quadranten und die obersten 21 Bits adressierten eine Speicherzelle in dem Quadranten (bei 256 MWorten waren die obersten vier Bits ungenutzt). Zählte man die Adresse hoch, so landeten Worte nacheinander erst in unterschiedlichen Quadranten, dann in unterschiedlichen Bänken und zuletzt in unterschiedlichen Modulen. Bei einem linearen Zugriff (hochzählen der Adresse) wurde dasselbe Modul erst nach 128 Taktzyklen oder 525 ns erneut angesprochen. Was Seymour Cray aber nicht verbessert hatte war ein Flaschenhals, der schon bei der Cray 1 auffiel und der bei der Cray X-MP beseitigt wurde: Jeder Port eines Prozessors zum Speicher war nur einmal vorhanden und unidirektional. Das bedeutete: es gab nur einen Zugriff der entweder lesend oder schreibend war. Bedenkt man dass die CPU mehrere Funktionseinheiten hatte die Daten brauchten oder Ergebnisse speichern sollten und es auch Ein/Ausgabeoperationen gab so war dies nicht ausreichend, Die Cray X-MP hatte vier Ports, zwei zum Lesen, einen zum Schreiben und einen für Ein/Ausgaben.

Jede Bank steckte in einem Modul. Zu den 64 Bit Datenworten kamen 8 weitere Bits für die Fehlererkennung und -Korrektur. (Single Error-Correction/double Error Detection SECDED) Jedes Modul hatte vier Ports. Jeder Port hatte eine direkte Verbindung zu einem Hintergrundprozessoren und dem Vordergrundprozessor. Die gesamte Bandbreite betrug 64 GBit/s (pro Modul also 512 MBit/s). Die Gesamtkapazität beträgt 17 Gigabit. Ein Hintergrundprozessor kann in einem Zyklus ein 64 Bit Wort pro Bank lesen.

Verwendet wurden DRAM Chips mit 256 Kbit Kapazität. In einem Modul gab es einen Block mit 8 x 8 x 9 dieser Chips (576 Stück), dazu kamen 192 Logikschaltungen um die korrekten Bausteine anzusprechen. Die Verwendung von Standardbauteilen hatte aber einen Nachteil: Die Zugriffszeit betrug 100 ns, (spätere Versionen mit schnelleren Chips: 80 ns) die Zykluszeit, d.h. die Zeit nachdem man erneut ein Wort aus einem Chip auslesen konnte, 160 ns. Das war viermal langsamer als die ECL-Bausteine die man für den Speicher der Cray X-MP eingesetzte hatte und 24-mal langsamer als die Zykluszeit des Rechners. So dauerte es drei Takte um eine 24 Bit Adresse an ein Modul zu übermitteln. 4 Takte dauerte es um die Daten von einem Speicherbaustein zu den Zugangsports zu transferieren. Dass die Cray 2 überhaupt schnell rechnen konnte und nicht vom Speicher ausgebremst wurde, machte also weitere Maßnahmen nötig.

Die Cray 2 arbeitete mit 32 Bit Adressen, nutzte diesen Adressraum aber nicht aus. Adressiert wurden 64 Bit Worte, nicht einzelne Bytes, so hätte eine Cray 2 theoretisch 32 Gigabyte Speicher adressieren können (8 Bytes pro Wort x 4 Gbyte (2^32). Jede Bank hatte zudem zwei Busy Flags. Intern wurde die Bank nochmals in zwei oder vier Pseudobanks aufgeteilt. Für die es je ein Flag gab. War eine Pseudobank mit einem Lese/Schreibzugriff beschäftigt, so konnte nicht auf diese zugegriffen werden.

Später gab es die Option mit statischen Speicherchips (SRAM) den Speicher auszustatten, doch war der Speicher dann kleiner (anfangs 64 MWorte, später 128 MWorte), dafür waren die Geschwindigkeit bei Einsatz dieser Chips um 15 bis 25% höher.

Der große Speicher war eine Forderung des Kunden der zusagte mehrere Cray 2 zu kaufen, das amerikanische Ministerium für Energy (DOE). Anders als die harmlose Bezeichnung suggerierte ging es dabei vorrangig um die Erforschung von Kernwaffen. Für diese Simulationen brauchte man sehr viel Speicher, weil man in einem dreidimensionalen Modell die Vorgänge berechnen musste. Der Speicherausbau war von Vorteil bei allen Simulationen bei denen sehr viele Details berechnet werden mussten, wie der Automobilindustrie die mittels finitifer Elemente so die Belastungen auf den Karosserien berechnete oder den Luftwiderstand. Wollte man auch kleine Details wie Rippen im Kühler simulieren so brauchte man wegen der dreidimensionalen Modelle enorm viel Speicher. Für diese Programme war die Cray 2 optimiert. Bei anderen Rechnern verging viel Zeit bis Daten von Plattenlaufwerken gelesen wurden, die Cray 2 konnte sie im Speicher halten. Das der Speicher bisher nicht ausreichte zeigte auch eine "Speichererweiterung" in Form eines Cray 1 Segmentes die ab 1982 für die Cray 1S, 1M und Cray X-MP angeboten wurde. Doch selbst diese war in der größten Version viermal kleiner als der Speicher einer Cray 2. Die NASA konnte erstmals mit einer Cray 2 im Ames Research Center den Luftstrom um einen Space Shuttle Orbiter simulieren ohne dessen Modell stark zu vereinfachen, weil es bei dem Vorgängermodell X-MP sonst nicht in den Speicher gepasst hätte.

Der Speicher konnte auch genutzt werden um mehrere Programme gleichzeitig laufen zu lassen. Im Testbetrieb im Lawrence Livermore Labor waren bis zu 40 Jobs parallel aktiv. allerdings ist das bei einem Supercomputer eher ungewöhnlicher, verbreiteter sind Zeitkontingente, man hat den gesamten Rechner für einige Minuten oder sogar Stunden und dann werden andere Programme gestartet. so entfallen die Zeitverluste bei Taskwechseln. Durch die Adaption eines UNIX System V als Betriebssystems (UNICOS) war der Rechner aber multitaskingfähig.

Bei Programmen die dagegen sehr oft auf den Speicher zugriffen aber nicht viel Speicher benötigen konnte die Performance deutlich schlechter sein als bei anderen Supercomputern die nominell nicht die Geschwindigkeit der Cray 2 erreichten. Programme für die Cray 2 mussten mehr auf linearen Zugriff optimiert werden um die Geschwindigkeit voll auszunutzen, das war bei der Nutzung von schon vorhandenem Quelltext oft nicht gegeben. So kannte der vorhandene Quelltext einer Cray 1 natürlich nicht den lokalen Speicher in der CPU den es bei der Cray 1 nicht gab.

Um die Langsamkeit des Speichers zu kompensieren, hatte jeder Hintergrundprozessor 16 KWorte lokalen Speicher in ECL Technologie. Er war deutlich schneller mit einer Zugriffzeit von 38 ns. Er konnte skalare Daten aber auch mehrfach benutzte Vektordaten aufnehmen die dann schneller zur Verfügung standen. Mit eigenen Befehlen konnte man vom lokalen Speicher in die Vektor/Skalar und Adressregister lesen und schreiben. Auch dieses Konzept ist als Cache beim PC bekannt. Nur ist es nicht wie beim Befehlsbuffer ein Cache für Code, sondern für Daten. Auffällig ist das große Missverhältnis in der Größe - 128 oder 256 Worten Programmcache standen 16.384 Worte für Daten gegenüber. Dies ist der Architektur die mit einem Befehl bis zu 64 Worte bearbeiten kann geschuldet. Was den "local Mermory" von heutigem Cache unterscheidet, ist das er nicht vom Prozessor verwaltet wurde, sondern vom Programmierer. Es gab Instruktionen um ihn mit Daten aus dem globalen Speicher zu füllen.

Bei der Cray X-MP, einem in Konkurrenz entwickelten von Cray Research Muster, das sich mehr an die Cray 1 anlehnte hatte man ein ein anderes Konzept: es wurde wie bei der Cray 1 schneller ECL-Speicher verwendet, aber dafür eben nicht so großer, weil Speicherbausteine in dieser Technologie in der Integrationsdichte weit CMOS-Speicherbausteinen hinterherhinkten. Die schon bei der Cray bemängelte geringe Bandbreite wurde vervierfacht und viele Kunden fanden dieses Modell attraktiver, es war zudem preiswerter.

Der Vordergrund-Prozessor

Eine Neuerung war der Vordergrundprozessor, der bisher in keinem anderen Cray Rechner verwendet wurde. Er war nicht für Berechnungen zuständig, sondern für die Ein/Ausgabe. Er war mit einem oder zwei Hochgeschwindigkeitsbussen mit jedem Hintergrundprozessor verbunden. Dazu hatte er Zugriff auf den gemeinsamen Speicher und konnte die Hintergrundprozessoren überwachen.

Die zweite wichtige Aufgabe war die Ein/Ausgabe. An ihm konnten bis zu 40 Ein/Ausgabegeräte angeschlossen werden. Darunter Diskkontroller für bis zu 32 Wechselplattenlaufwerke, externe Ein/Ausgabekontroller konnten zwei Geschwindigkeiten von 6 bzw. 12 MByte/s nutzen. Hochgeschwindigkeitscontroller bis zu 100 MByte/s. An ihm war auch die Bedienkonsole angeschlossen und von ihm aus erfolgte der Start des Supercomputers. Der Vordergrundprozessor war selbst ein 32 Bit Rechner, allerdings ohne Fließkommafähigkeiten und auch ohne die Fähigkeit Vektoroperationen durchzuführen. Er konnte nur mit ganzen Zahlen rechnen.  Er hatte einen lokalen Speicher von 32 KWorten mit 16-Bit Wörtern und 2.048 Datenworten zu je 32 Bit für die Daten. Jeder der vier Hochgeschwindigkeitskommunikationskanäle hatte eine Geschwindigkeit von 4 Gigabit/s. Bei jedem Takt wurden 16 Bits über den Kanal transferiert, wobei jede Leitung in dem 16-Bit breiten Kabel eine direkte Verbindung war:

Der Vordergrundprozessor, der auch mit der Load/Store Einheit eines Mikroprozessors verglichen werden kann, war praktisch das Interface zwischen den Hintergrundprozessoren, dem eigentlichen Rechner und der Außenwelt. Vorher setzte Cray dazu kommerzielle Minicomputer ein, die aber vom Anwender mit dem Rechner verbunden werden mussten.

Peripherie

An eine Cray 2 konnten je nach Modell bis zu 36 Wechselplattenlaufwerke des Typs DD-49 angeschlossen werden. Die kühlschrankgroßen Laufwerke kosteten pro Stück 225.000 Dollar, hatten eine Kapazität von 1,2 Gigabyte pro Platte und transferierten Daten mit bis zu 9,8 Megabyte pro Sekunde. Das war natürlich sehr langsam, gemessen an der Zykluszeit einer Cray (nur 1,5 MWorte pro Sekunde). Daher konnte der Vordergrundprozessor 16 Laufwerke zu einem Verbund zusammen fassen. Sollten Daten gelesen werden, so gab er an alle 15 Laufwerke den Befehl die Spur und den Sektor anzufahren und die Diskkontroller transferierten Daten in 512 Byte Blöcken in einen 100.000 Wort großen Puffer. Dort lass er von jedem Laufwerk ein Wort aus. Nach 15 Zyklen lag das nächste Wort des ersten Laufwerks vor, während der Vordergrundprozessor gerade beim lesen des ersten Wortes der fünfzehnten Platte war. So konnte die Lesegeschwindigkeit auf 150 MByte/s gesteigert werden.

Kühlung

Cray 2 mit KühlturmDie Logik der Cray 2 bestand wie bei den Vorgängermodellen (und auch den Nachfolgern bis in die Neunzigern) aus ECL-Logikschaltungen. Damals war diese Technologie (Emitter-coupled-Logic), die einzige die Taktfrequenzen über 100 MHz erreichte, aber ECL-Bausteine haben eine sehr hohe Verlustleistung, sprich sie brauchen sehr viel Strom zum Schalten und geben diese Leistung als Wärme wieder ab. Auch wenn nun der Speicher in MOS-Bausteinen aufgebaut war, so enthielt die Cray 2 durch den großen Speicher noch mehr Chips als die Cray 1. Durch die niedrigere Zykluszeit und mehr Gatter pro Chip war die Wärmeabgabe noch höher. Eine Cray 1 gab 115 kW ab, bei einer Cray 2 waren es schon 180 kW. (Extremwerte: 150 und 200 kW, abhängig von Prozessorzahl und Speicherausbau) Zum Vergleich: eine Herdplatte hat eine Wärmeabgabe von 1,5 kW und ein Herd (mit Backofen) einen Anschlusswert von 10 kW. Die Energie hätte ausgereicht über 1500 m² Wohnfläche (Altbau) zu heizen.

Noch problematischer war aber, dass die kleine Zykluszeit es nötig machte, dass die Module noch enger aneinanderrücken. Das Gehäuse der Cray 2 war erheblich kleiner als das der Cray 1. Bei dieser durchzogen Röhren mit Kühlflüssigkeit die Module. Den Platz gab es bei den dicht gepackten Modulen der Cray 2 nicht. Als Lösung packte man den ganzen Rechner in Kühlflüssigkeit. Es wurde ein Perfluorcarbon von 3M verwendet. Das als "Fluorinert" bezeichnete Gemisch, vollfluoriertes Pentan oder Hexan hatte elektrisch isolierende Eigenschaften. Es wurde durch eine Pumpe umgewälzt und die warme Flüssigkeit abgesaugt und an einem zweiten Gehäuse mit Kühlrippen gab sie die Wärme wieder ab, wobei sie am oberen Teil wie bei einem Wasserfall herunterlief. Im Betrieb betrug der Fluss des Kühlmittels etwa 2,5 cm/s. Die Cray 2 war der erste Rechner der diese Technologie des "Full Immersion Coolings" erfolgreich einsetzte. Andere versuchten sich auch an dieser Technologie, die ETA-10 setzte sogar flüssigen Stickstoff zur Kühlung ein, brachten sie aber nicht zur kommerziellen Reife.

Musste man Reparaturen durchführen, so musste der Computer nicht nur ausgeschaltet werden, sondern die Kühlflüssigkeit auch abgepumpt werden. Dafür gab es ein Reservoir. Erst danach konnte man das Gehäuse öffnen und ein Modul entnehmen oder austauschen. Das Abpumpen in einen 1,50 m hohen Zylinder als Vorratsgefäß dauerte 90 s, das Herunterfahren, Austausch eines Modules und das hochfahren rund 5 Minuten Um die Standzeit zu reduzieren, gab es auch weniger Module (die komplett ausgewechselt wurden, erst danach lötete man den Chip aus und ersetzte ihn durch einen neuen) und die liquid Immersion Technologie verringerte auch die Wärmebelastung der Chips, Flüssigkeiten nehmen viel mehr Wärme aus als Luft (nicht umsonst werden Materialen die vorwiegend aus Lift bestehen wie Styropor als Isolationsmaterialen eingesetzt).  Der Rechner enthielt etwa 800 l Kühlflüssigkeit. Trotzdem war er bedeutend leichter als sein Vorgänger: während eine Cray 1 noch 5,5 t wog, waren es bei der Cray 2 nur noch 2,5 t.

Geplant war diese Kühlungsmethode nicht, doch nachdem die bisherige Kühlung sich bei der Wärme bei kleinem Volumen als nicht ausreichend entpuppte und keine Lösung funktionierte schwenkte Seymour Cray auf diese Kühlmethode um. Es gab schon Versuche des Full Immersion Coolings vorher, doch die Kühlflüssigkeiten griffen alle nach einiger Zeit die Platinen an. Seymour Cray ging einen neuen Weg: er suchte die Kühlflüssigkeit nicht nach ihren Kühleigenschaften aus, sondern nach der Reaktivität: gesucht war eine Flüssigkeit die inert war, also mit nichts reagierte. Das sind die fluorierten Kohlenwasserstoffe, da die Fluoratome das Kohlenstoffatom vollständig abschirmen und eine stärkere Bindung als jedes andere Element mit Kohlenstoff eingehen. Angeblich soll die Ausgangsbasis Kunstblut gewesen sein, das ebenfalls solche Stoffe enthält. es wird eingesetzt wenn jemand Blut verloren hat und man das Volumen auffüllen muss aber kein Blut parat hat. Solcher Blutersatz bestand damals aus Perfluorcarbonen, aber anderen als in der Cray 2 verwendet wurden. Sie bildeten aber die Basis für die Entwicklung von 3M.

Im Bild oben ist der Kühlturm rechts der Cray 2 mit dem durchsichtigen Aufsatz in dem das Kühlmittel in einem "Wasserfall" herunterrauschte. Hier gab die Kühlflüssigkeit ihre Wärme an eine Wasserkühlung ab. Im Hintergrund sieht man eine Cray 1, die deutlich größer ist, sowie eine Reihe von Wechselplattenlaufwerken.

Software

Die Softwareausstattung eines Super Computers differiert leicht von dem was ihr PC so verfügbar hat, obwohl jeder PC der zum Zeitpunkt als ich den Artikel schreibe die Cray 2 leicht in der Geschwindigkeit schlägt. Es gab nur das Betriebssystem UNICOS, eine Adaption von UNIX System V an die Cray, den Assembler CAL und Compiler für FORTRAN und C. FOTRAN war die klassische Sprache in der naturwissenschaftliche Probleme geschrieben wurden, dafür war sie geeignet (FORTRAN = FORmula TRANSlator). C war damals noch eine sehr neue Sprache, versprach aufgrund ihrer Hardwarenähe aber auch eine sehr hohe Geschwindigkeit. Typischerweise wurden die Programme von den Wissenschaftlern selber geschrieben oder vorhandene angepasst und erweitert. Der FORTAN Compiler hatte Optimierungen. Er konnte Schleifen untersuchen ob in diesen immer dieselbe Berechnung erfolgte und nutzte dann automatisch die Vektorregister und löste die Schleife auf. Anwendungsprogramme wie Office gab es nicht und sie machten bei einem Rechner dieser Art auch keinen Sinn. Sehr oft berechnete die Cray nur die Daten und die Visualisierung übernahm dann ein anderer Rechner.

Die Wahl eines UNIX Systems als Betriebssystem war eine Folge dessen, dass die Cray mehrere Prozessoren hatte. So war ein Betriebssystem das Multitasking konnte die beste Wahl. Das Betriebssystem der Cray 1 kannte nur den Batchbetrieb, also ein Programm wurde nach dem anderen abgearbeitet.

Auf der anderen Seite war die Cray wie jeder Vektorrechner nur schnell, wenn die Software auch viele Vektoroperationen umfasste. Gab es nur skalare Operationen, so konnte die Performance extrem einbrechen. Bei einem Vergleich der Cray 2 mit der Cray X-MP mit verschiedenen Programmen der NASA lag die Spitzenperformance in einem Betrieb mit anderen Programmen auf den anderen Prozessoren bei 244 MFlops (X-MP: 192 MFlops) pro Prozessor, das langsamste Programm aber nur 3,57 (X-MP: 9,56) MFlops.

Geschwindigkeit

Bedingt durch die Pipeline, das Vektorprinzip und die Möglichkeit mehrere Einheiten zu benutzen ist die Spitzenperformance der Cray 2 zwei Flops pro Taktzyklus und Prozessor, sie tritt auf bei Rechnungen in der Form:

A[i] = B[i] * C[I] + D[i]

Die Multiplikation kann unabhängig von der Addition verfolgen und das Ergebnis durch "chaining" an die Additionseinheit übergeben. (sie arbeitet mit Index N-1, wenn die Multiplikationseinheit bei Index N ist). Wenn die Daten alle in Registern sind so wurde eine praktische Maximalleistung von 430 MFlops pro Prozessor (theoretisch 488 MFlops) bei Matrizenmultiplikation (LINPACK Benchmark) berichtet. Bedingt durch den Speicher sank die Performance aber stark ein, wen die Daten aus dem Speicher kamen. Sie lag dann zwischen 56 und 199 MFLOP. In Worst Case Szenarien, indem man z.b. folgende Rechnungen ausführte:

A[i]:= B[i] * A[i-1] + C[i]

sank sie auf 12 MFlops ab, denn durch den Index -1 griff man beim nächsten Schleifendurchlauf auf dasselbe Modul zu und hebelte das Interleaving aus. Noch langsamer war folgende Konstruktion:

A[B[i]] = A[B[i]] + S

Die indirekte Adressierung machte zwei Speicherzugriffe notwendig, erst um den Inhalt von B [I] zu holen und dann den von A[i] und die Addition des Skalars lies keine Vektorrechnung zu. In diesem Falle erreichte die Cray 2 nur noch 2,8 MFlops pro Prozessor. Cray Research reagierte mit einem optimierten Fortran Compiler der 1987 verfügbar war. Er verbesserte die Performance vor allem bei solchen Problemkonstrukten (vorher erreichte die Cray 2 nur 1,4 MFlops bei obiger Zeile). Trotzdem war in der Praxis eine Cray 2 in etwa (abhängig vom konkreten Problem) wie eine Cray X-MP, die nominell nur 842 anstatt 1942 MFlops erreichte. Bei der Vorstellung der Cray 3 gab CCC die praktische Performance mit nur 1 GFlop an. Das ist in etwa die Performance eines Mittelklasseprozessors pro Kern der 2009 handelsüblich war. (Der Athlon 5050e des Autors erreicht z.b. bei Linpack eine Performance von 833 MFlops).

Die firmeninterne Konkurrenz und die Cray 3

Die Entwicklung der Cray 2 dauerte sehr lange und nachdem Cray erst fünf Jahre nach der Vorstellung der Cray 1 an sie heranging, befürchtete man andere Firmen würden leistungsfähigere Computer herausbringen. So entwickelte ein Team um Stephen Chen aus der Cray 1 die Cray X-MP. Bei ihr wurde die Architektur der Cray 1 kaum verändert. Lediglich schnellere Gatter erlaubten es die Zykluszeit von 12,5 ns (Cray 1) auf 9,5 ns zu steigern. Durch die inzwischen mögliche höhere Integration wurden auch zwei (später vier) Prozessoren in dem Gehäuse möglich.

Cray X-MPDier Cray X-MP war erfolgreich, obwohl es Einschränkungen gab. So war der Adressbereich de Cray 1 auf 24 Bits, also 16 Megaworte beschränkt. Sie hatte daher weniger Speicher zur Verfügung, konnte auf diesen, aber schneller zugreifen, was auch die Geschwindigkeit steigerte. Ihre Speicherbandbreite war ebenfalls größer. Für Kunden auch nicht unwichtig war dass sie 100% softwarekompatibel zu Cray 1 Familie war.

Die Cray 2 war optimiert auf Anwendungen die sehr viel Speicher erforderten. Beide Rechner waren anfangs etwa gleich teuer. Eine Cray X-MP kostete als sie 1982 vorgestellt wurde 15 Millionen Dollar, eine Cray 2 1985 17,6 Millionen Dollar, was wenn man die Inflation berücksichtigt nahezu der gleiche Preis ist. Nominell war eine Cray X-MP mit ebenfalls vier Prozessoren deutlich langsamer (800 zu 1942 MFlops bei den ersten Modellen), doch in der Praxis war durch den langsamen Speicherzugriff der Unterschied geringer und bei Anwendungen die sehr oft auf den Speicher zugriffen, konnte die Cray X-MP sogar schneller sein.

In der Praxis gab es nur wenige Kunden die den Speicherausbau der Cray 2 brauchten. Es wurden je nach Quelle nur 25 bis 30 Stück verkauft. Dagegen wurde die Cray X-MP 178-mal verkauft, was in diesem Markt (schließlich kostet jeder Computer ohne Peripherie einen zweistelligen Millionenbetrag) ein echter Kassenschlager war. Als Folge sanken die Preise für eine Cray X-MP stärker als für eine Cray 2. Als Gründe für den ausbleibenden Verkaufserfolg wurde aber auch das späte Erscheinen der Cray 2 verantwortlich gemacht. Drei Jahre lang war die Cray X-MP auf dem Markt, wurde verkauft, Kunden konnten ihre bisherige Software einsetzen und sie war erprobt. Nun kam die Cray 2, benötigte neue Software, hatte ein neues Konzept, und war nur bei optimierten Programmen wesentlich schneller als die Cray X-MP. klar dass viele Kunden beim bewährten blieben.

Langfristig kam man nicht an MOS RAM vorbei, so bot Cray Research auch die X-MP mit MOS RAM an und bei der Cray Y-MP war dies der normale Speicher. Doch griff die Firma dann auf statischen Speicher zurück, während die Cray 2 dynamischen Speicher verwandte. Der Unterschied liegt in der Architektur. Beim Dynamischen Speicher steckt die Information in einem in der Tiefe gehenden Kondensator bei SRAM Dagegen in einer Schaltung, einem Flip-Flop. SRAM schaltet daher schneller (bei der Cray X-MP rund drei bis viermal schneller als der Speicher der Cray 2), aber die Integrationsdichte ist um mindestens den Faktor 4 kleiner. Der Unterschied wurde im Laufe der Zeit größer und lag 1999 beim Faktor 16 (4 MBit bei SRAM und 64 MBit bei DRAM, beide in 0,25 mm Technologie). Vergleichen mit den Bipolarchips die man in ECL Technologie einsetzte waren SRAM aber noch hochintegriert und man konnte sie in CMOS Technologie herstellen, wodurch sie wenig Strom brauchten wenn kein Zugriff erfolgte. Dadurch konnte man sie enger packen. Hätte siech Cray für SRAM entscheiden, eventuell wäre die Cray 2 erfolgreicher gewesen.

Seymour Cray hatte schon 1980 den CEO Posten von Cray Research aufgegeben um sich mehr der Entwicklung zu widmen, jetzt war offensichtlich, dass die Firma nicht zwei Supercomputerlinien betreiben konnte. Cray trennte sich im Einvernehmen 1989 von seinem Unternehmen und gründete die Cray Computer Corporation (CCC). Anders als die beiden Firmennamen suggerieren fand die wichtige Grundlagenforschung bei CCC statt und Cray Research konzentrierte sich darauf die Architektur der Cray 1 in der Leistung zu steigern, ohne sie groß zu verändern. So blieben bis zum letztem Modell, der Cray T90 die Vektorregister z.B. 64 Einträge lang und es gab nach wie vor nur acht davon. Es gelang durch kleinere Zykluszeiten, aber auch acht, dann 16 und schließlich 32 Prozessoren die Leistung nochmals um den Faktor 32 gegenüber der Cray X-MP zu steigern. Doch dann stieg die Cray Research um auf massiv parallele Prozessorarchitekturen die schnelle Mikroprozessoren wie den DEC Alpha, MIPS R1000 oder den Pentium Pro einsetzten. Sie hatten inzwischen zur Leistung der Vektorrechner aufgeschlossen, waren aber erheblich preiswerter herzustellen.

Cray selbst widmete sich dem Design der Cray 3, die auf Galliumarsenid Halbleitern bestehen sollte. Er begann damit schon 1988, sie sollte 1991 erscheinen. Doch verzögerte sich die Entwicklung und wurde teuer. Gleichzeitig brach der Markt zusammen. In den achtziger Jahren war er um 50% pro Jahr gewachsen. Das Militär brauchte Supercomputer aber auch Universitäten, Forschungseinrichtungen und große Firmen wie Ford, Exxon oder General Motors kauften sie. 1998 wuchs der Markt nur noch um 10%, weil nun die meisten potentiellen Kunden einen Rechner hatten und es nur noch Ersatzkäufe zum Ersetzen alter Rechner gab. Weiterhin endete der kalte Krieg und mit der Entspannungspolitik nahm auch die militärische Forschung und Entwicklung ab - der beste Kunde, das US-Militär hatte keinen Bedarf mehr.

Seymour Cray1993 lieferte die CC den ersten Cray 3 aus, genauer gesagt, den einzigen bestellten. Er ging an das National Center for Atmospheric Research (NCAR), die jedoch die Bezahlung verweigerten, weil es einen Fehler in der Quadratwurzelroutine gab und einer von vier Prozessoren unzuverlässig lief. Offiziell wurde er einen Tag nach Anlieferung abgeschaltet, inoffiziell rechnete das NCAR mit zwei Prozessoren weiter. Die CCC hatte nun 300 Millionen Dollar in die Entwicklung gesteckt, aber keine Kunden und keine Einnahmen und ging zwei Jahre später bankrott.

Weitere Pläne Seymour Crays für weitere Rechner kamen über das Planungsstadium nicht heraus. Am 5.10.1996 starb Seymour Cray an den Folgen eines Autounfalls den er am 22.9.1996 hatte.

Das Vermächtnis

Die Cray 2 war in vielen Dingen ihrer Zeit voraus. Der Rechner war enorm kompakt, verglichen mit Konkurrenzmodellen wie der X-MP oder den japanischen Vektorrechnern NEC SX-2 oder VP200. Selbst heute ist ein einziger Turm eines Supercomputers (die heute aus Dutzenden dieser Türme bestehen und ganze Hallen füllen) größer als eine Cray 2.

Diese Kompaktheit hatte aber auch ihren Preis. Die Kühlung mit dem Eintauchen in Kühlflüssigkeit wurde bei keinem anderen Rechner erneut verwendet und auch von Cray selbst nicht mehr. Der Aufbau des Speichers mit Standard DRAM Bausteinen erzeugte so hohe Latenzen, dass andere Rechner doch lieber ECL-Speicher oder etwas später sehr schnellen SRAM (statischen Speicher, deutlich schneller als DRAM, aber nur mit einem Bruchteil der Kapazität erhältlich) auswichen.

Ebenso wurde das Konzept des lokalen Speichers und Vordergrundprozessors nicht von anderen Rechnern aufgegriffen. Die meisten Rechner setzten auf eine einfachere Architektur mit einem großen gemeinsamen Speicher oder separaten Bänken pro Prozessor. Anstatt einem Vordergrundprozessor setzte man lieber auf einem kommerziellen Großcomputer oder Supermini, der die Daten von der Peripherie holte oder speicherte.

Die Cray 2 war von 1985 bis 1988 der schnellste Rechner der Welt - drei Jahre waren schon damals eine lange Zeit. Heute kann sich ohne Upgrades kein System länger als ein Jahr an der spitze der schnellsten Computer der Welt (TOP-500) halten. 1988 überholte ihn die Crax Y-MP, eine Weiterentwicklung der Cray X-MP. Sie schaffte mit 2.188 MFlops zwar nur eine geringfügig höhere theoretische Leistung, brauchte dafür aber acht Vektorprozessoren. Die Zykluszeit der Cray 2 von 4,1 ns wurde bis Mitte der neunziger Jahre von keinem Rechner überboten.

Parameter Wert
Abmessungen: Höhe: 114,3 cm, Durchmesser: 134,6 cm
Gewicht: 2.500 kg ohne, 5.500 kg mit Kühlmittel
mittlere Leistungsaufnahme 180 kW
Prozessoren 4 + 1 Vordergrundprozessor, 2 Prozessormodell verfügbar
Zykluszeit 4,1 ns
Geschwindigkeit 1.942 MFlops (Peak),
1 GFlops (Durchschnitt)
500 MIPS (Peak)
Speicher 128 - 512 MWorte DRAM
64 - 128 MWorte SRAM
Kosten 17,6 Millionen Dollar (47 Millionen DM)
Verfügbarkeit: ab 1985
Chips: 240.000, davon 73.728 für den Speicher
verkaufte Exemplare 25 bis 30 je nach Quelle

Referenzen

Cray 2 Manual

Cray 2 Computer System Funktional Description Manual

A Perfromance Comparison of the cray X-MP and Cray 2 (NASA CR 127 461

Vwktor Prozessors, Past, Present and Future

The Cray 2 Computer System

Knowing Machines: Essays on Technical Change  von Donald A. MacKenzie

Parallel Computers 2: Architecture, Programming and Algorithms, Band 2 von R.W Hockney,C.R Jesshope

Artikel erstellt am 13.4.2013

Zum Thema Computer ist auch von mir ein Buch erschienen. "Computergeschichte(n)" beinhaltet, das was der Titel aussagt: einzelne Episoden aus der Frühzeit des PC. Es sind Episoden aus den Lebensläufen von Ed Roberts, Bill Gates, Steve Jobs, Stephen Wozniak, Gary Kildall, Adam Osborne, Jack Tramiel und Chuck Peddle und wie sie den PC schufen.

Das Buch wird abgerundet durch eine kurze Erklärung der Computertechnik vor dem PC, sowie einer Zusammenfassung was danach geschah, als die Claims abgesteckt waren. Ich habe versucht ein Buch zu schreiben, dass sie dahingehend von anderen Büchern abhebt, dass es nicht nur Geschichte erzählt sondern auch erklärt warum bestimmte Produkte erfolgreich waren, also auf die Technik eingeht.

Die 2014 erschienene zweite Auflage wurde aktualisiert und leicht erweitert. Die umfangreichste Änderung ist ein 60 Seiten starkes Kapitel über Seymour Cray und die von ihm entworfenen Supercomputer. Bedingt durch Preissenkungen bei Neuauflagen ist es mit 19,90 Euro trotz gestiegenem Umfang um 5 Euro billiger als die erste Auflage. Es ist auch als e-Book für 10,99 Euro erschienen.

Mehr über das Buch auf dieser eigenen Seite.

Hier geht's zur Gesamtübersicht meiner Bücher mit direkten Links zum BOD-Buchshop. Die Bücher sind aber auch direkt im Buchhandel bestellbar (da ich über sehr spezielle Themen schreibe, wird man sie wohl kaum in der Auslage finden) und sie sind natürlich in den gängigen Online-Plattformen wie Amazon, Libri, Buecher.de erhältlich.


© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Neues Hier werben Bücher vom Autor Buchempfehlungen Top 99