Das Aufkommen der Parallelrechner – Teil 1

In den Achtziger Jahren war der Begriff „Supercomputer“ praktisch simultan belegt mit der Architektur eines Vektorrechners. Diese von Seymour Cray und seinen Nachfolgern bei Cray Research entwickelte und eingesetzte Architektur, erlaubte es pro Takt eine Registeroperation durchzuführen. Im Normalfall besteht die Ausführung eines Befehls aus drei Operationen:

  • Dem Holen aus dem Speicher (Fetch)
  • Dem Dekodieren (was soll eigentlich gemacht werden, Decode)
  • Dem Ausführen (Execute)

Bei einer Vektoroperation fielen die ersten Schritte nur einmal an, lediglich pro Registeroperation gab es einen weiteren Ausführungszyklus. So war die Ausführung natürlich deutlich beschleunigbar, wenn die Anwendung so gestrickt war, das ein und dieselbe Rechnung bei sehr vielen Zahlen durchgeführt wird. Das war bei vielen Simulationen gegeben, bei denen man in Tausenden oder Millionen von Zellen immer mit denselben Gleichungen rechnete. War dies nicht der Fall, so waren Vektorrechner deutlich langsamer.

Der Preis für die damaligen Supercomputer war, dass sie aus eigenen Bausteinen bestanden, die speziell für sie gefertigt wurden. Bei Cray sehr lange in ECL-Technologie, einer Halbleitertechnologie mit sehr geringen Schaltzeiten, aber sehr hoher Verlustleistung, die dadurch keine sehr hohe Integration zuließ. Die Cray 1 wog 5,5 t und hatte eine Verlustleistung von über 115 kW. Auch wenn die Firma in den achtziger Jahren dazu überging, anstatt ECL-Bausteinen zumindest beim Speicher schnelles statisches RAM einzusetzen, änderte sich daran nichts, dass die CPU immer noch aus ECL-Bausteinen bestand.

Die Anfänge

Zur selben Zeit gab es aber auch die ersten Versuche einen schnellen Rechner aus Standard-Mikroprozessoren zusammenzustellen. Der erste war der „Cosmic Cube“, der ab 1981 als dreidimensionaler Würfel aus 4 x 4 x 4 = 64 Prozessoren entstand. Anfangs wurden 8086 mit 8087 Coprozessor gewählt, das war eine Notlösung, weil nur die 8086 damals einen numerischen Coprozessor hatte, der die Geschwindigkeit bei Fließkommaoperationen um bis zum Faktor 100 beschleunigte.

Ursprünglich nur als Experimentalprojekt gedacht, war der Rechner immerhin 5-10 mal schneller als der Standardminicomputer dieser Tage, die VAX 11/780. Dabei kostete er mit Herstellungskosten von 80.000 Dollar nur halb so viel. Der Cosmic Cube konnte noch nicht in die Bereiche eines Supercomputers vorstoßen, aber immerhin einen Minicomputer ersetzen,

1986 entstand mit dem 68020 Prozessor eine weitere Version, die mit einem Weitek Coprozessor bei 8 MHz 16 MFlops pro Knoten (aus zwei Prozessoren) erreichte. Ein 128 Knotensystem erreichte 1989 bei Anwendungen eine Geschwindigkeit von 500 MFlops, womit dieser Cosmic Cube schon in den Bereich der Supercomputer vorstieß.

Die Firma NCube baute basierend auf selbst entwickelten RISC-Chips Rechner mit bis zu 1024 Prozessoren. Intel veröffentlichte mit dem iPSC (Intel Personal Supercomputer) eine Serie basierend zuerst auf dem 80286/7 und später (ab 1990) auf dem i860. 1990 erreichte eine iPSC/860 mit 128 Prozessoren eine Maximalleistung von 7,6 GFlops zu dem moderaten Preis von 5,5 Millionen Mark.

Anfangs suchte man nach der besten Vorgehensweise wie man die Prozessoren vernetzt und optimal auslastet. Die Rechner der Firma Thinking Maschine zeigen dies sehr deutlich. Sie alle hatten die Bezeichnung „CM“ für Connection Maschine. Die erste CM-1 hatte schon 65536 Prozessoren, die jedoch nur jeweils 1 Bit verarbeiteten. Sie waren in Form eines Hypercubes verbunden. Die CM-1 war noch kein Universalrechner, sondern für die Programmierung in LISP für Probleme aus dem Bereich künstlicher Intelligenz ausgelegt.

CM-2 setzte das SIMD Prinzip ein: Single Instruction, Multiple Data. Ein Kontrollprozessor schickte einen Befehl an die Rechenprozessoren und diese bearbeiteten die Daten im lokalen Speicher. Das Prinzip des Vektorrechners ist solch eine SIMD Implementierung. Eine zweie Möglichkeit und bei vollwertigen Mikroprozessoren besser geeignet ist die MIMD Vorgehensweise: Multiple Instruction, Multiple Data. Dabei arbeitet jeder Mikroprozessor ein eigenes Programm mit eigenen Daten ab. Die CM-2 war die erste universell einsetzbare. Die !-Bit Prozessoren wurden durch einen Weitek Coprozessor unterstützt, der von je 32 Prozessoren geteilt wurde.

Mit der CM-5 setzte die gleiche Firma beide Verfahren zusammen um. Sie wechselte auch auf normale Industrieware. Die CPU war nun ein Sun SPARC 32-Bit-Prozessor, der alleine arbeiten konnte. Er war der MIMD Teil. Er wurde jedoch um eine eigens entwickelte Vektoreinheit ergänzt, die Vektoroperationen 25-mal schneller als die SPARC CPU abarbeiten konnte. eine CM-5 mit 1024 Prozessoren erreichte 128 GFlops und war damals (1992) der schnellste Rechner der Welt, mehr als doppelt so schnell wie eine Cray 90. Damit gab es Ende der achtziger Jahre schon eine Alternative zu den Vektorrechnern die deutlich preiswerter waren.

Trotzdem blieben viele Kunden bei den Vektorrechnern, obwohl sie Anfang der neunziger Jahren weder die schnellsten Rechner waren, noch preisgünstig. es waren die praktischen Fortschritte die (noch) den Ausschlag für die Vektorrechner gaben. Vektorrechner hatten nun zwar auch mehrere Knoten, doch stellten die sich aus Programmsicht als mehrere Recheneinheiten dar. Alle Rechner griffen aber auf denselben Arbeitsspeicher zu. Es gab also ein Programm, das alle Knoten steuerte. Dagegen gab es bei den Multiprozessorrechnern pro Prozessor ein Programm. War eine Routine abgearbeitet, so mussten sich die Prozessoren synchronisieren und die Rechenergebnisse austauschen – zumindest bei den Anwendungen, die nicht isoliert auf einem Prozessor laufen konnten.

Massive paralleles Processing (MPP) setzt sich durch

In den neunziger Jahren führte die Einführung eines schnellen gemeinsamen Speichers für den Datenaustausch zum Durchbruch der massive parallelen Rechnern. (MPR) Es war aber auch ein anderer Grund für den Wechsel zu dieser Technologie entscheidend: Es gelang kaum noch die ECL-Technologie in der Geschwindigkeit zu steigern. Von 1976 bis 1990 stiegt die Taktfrequenz einer Cray von 80 auf 438 MHz. In derselben Zeit stieg sie bei Mikroprozessoren von 4 auf 40 MHz und die Verarbeitungsbreite stieg von 8 auf 32 Bit. Alks dann die Verarbeitungsbreite kaum noch anstieg stieg die Taktfrequenz noch schneller an. Etwa 20 Jahre später ist auch die Taktfrequenz bei Mikroprozessoren an eine Grenze gekommen, die kaum noch steigerbar ist. bei mehr als 3 GHz wird die Luft dünn.

Schließlich wechselte auch Cray Mitte der neunziger Jahre von der Technik der Vektorrechner auf den Paralellbetrieb vieler Prozessoren. Speziallösungen, wie die von NCube oder Erweiterungen gängiger Prozessoren wie bei der CM-5 verschwanden nach und nach vom Markt wie der Intel 860, der auch SIMD Instruktionen hatte. Heute dominieren die beiden Marktführer bei PC-Prozessoren Intel und AMD auch bei den Supercomputern. Danach kommt IBM mit dem Power Prozessor, die nur wenige Systeme im Einsatz haben, dafür aber diese sehr weit oben platziert (mit sehr vielen Prozessoren).

Was bei immer mehr Knoten (so wird meistens ein austauschbarer oder erweiterbarer Teil eines Computers genannt, das kann eine Platine mit mehreren Prozessoren oder ein Rack-Einschub sein) aufkam, war die Forderung Daten auszutauschen. Frühe Konzepte nutzten dazu noch einen gemeinsamen Speicher. Doch zum einen wurde auch Speicher kaum noch schneller, da er meist aus billigem DRAM bestand, dessen Zugriffszeit sich kaum noch steigern lässt und zum andern gibt es mehr und mehr Konflikte bei immer mehr Prozessoren. Als Supercomputer mit vielen Prozessoren dann nicht mehr in einen Schrank passten, musste sowieso eine neue Lösung her. Früher wurden vorwiegend proprietäre Netzwerke eingesetzt, heute dominieren normale Industrietechnologien wie Gigabit Ethernet oder 10G Ethernet oder Varianten des Infinibands.  In der Vernetzung liegt heute die Stärke der Firma Cray, die sonst auch nur Opterons wie alle anderen Hersteller einsetzt. Ihr Gemini-Interconnect ist ein proprietäres System, aber um einiges leistungsfähiger als andere Lösungen.

So morgen kommt dann  Teil 2

3 thoughts on “Das Aufkommen der Parallelrechner – Teil 1

  1. In der Mitte der 80er gab es den Transputer, aus dem eine ganze Reihe von parallele Systemen gebaut wurden.
    Das Tolle an den Transputern war:
    – System on a chip:
    — man konnte direkt DRAM anschließen, ohne zusätzliche Support Chips
    — jeder Chip hatte vier Links über die die Kommunikation zu bis zu vier Nachbarprozessoren lief
    — es passten mehrere CPU RAM Systeme auf eine Einsteckkarte.
    – Der Scheduler war Bestandteil des Microcode.
    Die Probleme mit den Transputern waren:
    – Es gab zu Anfang nur eine eigene Programmiersprache, Occam dafür.
    – Es gab keine MMU, und keine Möglichkeit eine MMU nachzurüsten.
    – Spätestens 1989 konnten die Transputer mit der Leistung der aktuellen RISC Prozessoren nicht mehr mithalten, und wurden nur noch als I/O Gridprozessoren verwendet.

    Aus Transputern bestehende parallele Rechner wurden z.B. für Crash Berechnungen verwendet. (Finite Elemente ???)
    Für Wettervorhersagen war die Datentransferleistung zwischen den Knoten nicht ausreichend.

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.