Home Computer Computer Geschichte Site Map counter

Das Aufkommen der Massiv Parallelen Rechner

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:

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

Intels Paragons XP/S ComputerZur 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.

CM-5Mit der CM-5 (Bild links) 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.

Ein Wendepunkt war auch die veränderte Situation. Auch wenn Supercomputer zur Forschung genutzt wurden und auch Firmen begannen sie kommerziell zu nutzen um seismische Daten nach Ölvorkommen zu untersuchen oder die Form von Karosserien zu optimieren, so waren die wichtigsten Kunden der wenigen Hersteller dieser Rechner doch das Militär. Alleine die beiden Kernwaffenlaboratorien das Lawrence Livermore Nationallaboratorium und das Kernforschungslabor in Los Alamos hatten mehr Rechner als sonst größere europäische Nationalstaaten. 1990 waren am Lawrence Laboratorium z.B. 10 Supercomputer in Betrieb. Wenn man weiß, das von erfolgreichen Serien wie der Cray 1 oder Cray X-MP nur 80 bzw. 189 Stück verkauft wurden, dann kann man erahnen welche Bedeutung diese Kunden hatten. Dabei waren dies nur zwei militärische Kunden. Nach dem Zusammenbruch des Ostblocks brach aber die Finanzierung der Forschung nach neuen Atomwaffen, aber auch anderem militärischem Gerät wie Hyperschallflugzeugen, Stealthbombern etc. ein. Es wurden weniger Supercomputer gebraucht und nur achtete man mehr auf das Preisschild. Seymour Cray erlebte dies am drastischen. Den einzigen Kunden den er für seine Cray 3 bekam sprang ab, und ein Ersatzkunde der nur eine kleinere Version orderte, zahlte nicht, wodurch seine Firma Konkurs anmelden musste.

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.

Neuere Entwicklungen

In neuerer Zeit bekommen die Prozessoren selbst wieder Konkurrenz. Vor einigen Jahren brachte IBM den Cell Prozessor auf den Markt: Ein Verbund einer Power-PC-CPU und acht einfachen Recheneinheiten die jeweils 4 Zahlen einfacher Genauigkeit parallel verarbeiten konnten. IBM konnte einen Achtungserfolg verbuchen, jedoch nicht die Spitzenposition erreichen. Danach besannen sich die Grafikkartenhersteller NVidia und ATI dieses Marktes. Geht es nur nach purer Rechenleistung, so sind schon seit über 10 Jahren Grafikkarten viel leistungsfähiger als PC-Prozessoren. Während diese Mitte 2012 zwischen 2 und 16 Kerne haben, hat der aktuell schnellste Chip im HPC Umfeld (High-Performance Computering) GK-104 "Kepler" 1536 Recheneinheiten. Jede ist primitiver als ein PC-Prozessor, der Speicher auf den Graphikkarten ist zwar schnell, aber vergleichsweise klein und die Shader können auch keine große und komplexe Programme abarbeiten, doch sie können schnell rechnen. Die GK-104 CPU erreicht 1900 GFlops, während Intels leistungsfähigstes Exemplar bei rund 100 GFlops alt aussieht. Aufgrund der Einschränkungen in der Programmierung, die doch deutlich von dem normaler Prozessoren abweicht und des relativ kleinen Speichers auf den Grafikkarten werden sie heute vorwiegend als Coprozessor eingesetzt. ATI und NVidia haben jedoch viel getan um Mängel zu beseitigen. So war vor einigen Jahren die Geschwindigkeit in doppelter Genauigkeit, dem Standardformat für Rechnungen im wissenschaftlichen Bereich (15-16 Stellen Genauigkeit) sehr niedrig und lag bei einem Achtel der Geschwindigkeit bei einfacher Genauigkeit. (7-8 Stellen) Inzwischen ist sie halb so groß. Auch der Speicher für die "Shaderprogramme" und deren Komplexität wurde erhöht.

Auf der anderen Seite versucht auch Intel in diesen Markt einzudringen. Seit 2009 wurde unter der Bezeichnung "Larrabee" eine GPU entwickelt. Das Konzept von Larrabee, mit 256 sehr einfachen Recheneinheiten wurde dann gekippt und unter "Xeon Phi" erscheint die GPU nun mit nur 50 Kernen, die jedoch vollwertige Pentium Kerne sind. Damit soll eine Karte ebenfalls 1 Terraflop schaffen - zwar nur halb so schnell wie NVidias Karte, aber auch nur mit einem Dreißigstel der Prozessorenzahl.

Was sich allerdings auch geändert hat, ist der Platzbedarf. Eine Cray konnte man noch im Wohnzimmer aufstellen. Man brauchte zwar eine verstärkte Decke wegen der 5,5 t Gewicht, aber der Rechner hatte einen Durchmesser von weniger als 3 m. Der im Juni 2012 schnellste Rechner, der Sequoia (Bild rechts) - BlueGene/Q mit fast 1.6 Millionen PowerPC Prozessoren besteht aus 96 Racks, jedes so groß wie ein kleiner Kleiderschrank und füllt damit eine kleine Halle aus. Dabei handelt es sich um eine Variante mit sehr energiesparenden Prozessoren die von einer Embedded Linie abstammen. Sie können daher deutlich dichter gepackt werden als PC-Prozessoren. (Bild links: ein einzelnes Rack. Jeder Einschub (blaue Markierung) hat 32 Computerkarten, jede Computerkarte einen PowerPC-Prozessor mit 18 Kernen, davon stehen 16 zur Verfügung, die anderen beiden wickeln Kommunikation ab bzw. sind Reserve. Ein Rack hat dann 32 Dieser Einschübe.

Cloud Computing und Distributed Computing

Konkurrenz bekommen diese Systeme neuerdings durch das Internet. Weltweit gibt es Hunderte Millionen PC, die meisten davon hängen am Internet und die meisten werden von ihren Benutzern selten voll ausgenutzt. Bei typischer Schreibtischarbeit ist der Prozessor größtenteils nahe des Ruhezustands.

Schon Ende der neunziger Jahre kamen verschiedene Organisationen darauf, diese Ressource zu nutzen. Eines der ersten Projekte war SET@Home. Millionen von Nutzern holten sich ein kleines Datenpaket mit empfangenen Daten eines Radioteleskops ab und je nach Geschwindigkeit des Prozessors wurde in 10-40 Stunden nach intelligenten Signalen gesucht. Nur zum Abholen der Daten und senden der Ergebnisse musste das Programm den Server von SETI kontaktieren. Dazwischen arbeitete es autonom. Das führte zu Nachahmern. Man kann heute nach Heilmitteln für Kerbs, Beweisen für Einsteins Relativitätstheorie etc. suchen. alle diese Projekte nutzen Rechner die über das Internet Daten zum Auswerten bekommen. Jeder einzelne hat nur eine kleine Leistung, aber die Masse macht es. Wenn die Anwendung es zulässt, dann spart dies eine Menge Geld. Derartige Anwendungen gibt es. Sucht man nach Medikamenten, so untersucht man, ob ein Stoff wenn man ihn dreht, in das funktionale Zentrum bekannter Moleküle passt. Das ist durchaus aufwendig und bei vielen Enzymen kann man jede Kombination Wirkstoff/Enzym mit einem Rechner untersuchen lassen. Das erkannten auch Pharmafirmen, die dazu die zahlreichen PC's in Labor und Büro nach Büroschluss einsetzten. Andere Anwendungen, wie die klassischen Simulationen, eigen sich dafür nicht. In diesen wird der Untersuchungsgegenstand in kleine Flächen- oder Volumenteile unterteilt, für diese physikalische Gleichungen gelöst und dann die Daten mit den Nachbarzellen ausgetauscht. Dieser Vorgang wird dann sehr oft wiederholt. So funktionieren Modelle der Sonne, explodierender Sterne, von Flugzeugen (Aerodynamik) und Autos (Crashtest, Aerodynamik) aber auch des Wetters und der Klimavorhersage. Der Unterschied zu obigen Berechnungen ist, dass jede Einzelberechnung relativ schnell abgeschlossen ist, die Kommunikation also viel mehr Zeit beansprucht. Diese Projekte sind ein Beispiel für distributed Computing, also das verteilte Rechnen auf verschiedenen Rechnern die aber noch bekannt sind.

Bekannter ist eher der Begriff Cloud Computing, bei dem der einzelne Rechner nicht mehr bekannt ist, sondern sich für einen Nutzer nur noch als "Wolke" darstellt. Das können zum einen kommerzielle Services sein wie von Amazon und Google, wo viele Rechner des Anbieters arbeiten, ohne das der Kunde entscheiden kann wo seine Anwendung läuft, es gibt aber auch die Variante, wo Rechner nicht mehr wie bei set@Homne eine komplette Anwendung ausführen, sondern nur ein Applet und Rechenzeit zur Verfügung stellen. Der Anwender installiert kleine Anwendung mehr, sondern meldet sich nur bei einem Service an. Ähnliches gibt es auch für die Datenhaltung wo man Teile der Festplatte zur Verfügung steht.

Eine zweifelhafte Nutzung dieses "Cloud Computings " ist seit September 2012 die "Dienstleistung" einen beliebigen 56-Bit Schlüssel für ein WLAN-Netz durch Angabe des Hash-wertes innerhalb von 24 Stunden gegen Bezahlung berechnen zu lassen. Befürchtet wird, dass dies auch durch mit Viren verseuchten PCs erfolgen könnte oder schon durchgeführt wird. Wozu mit Viren befallene PCs fähig sind zeigen ja die Denial of Service Attacken durch solche Rechner. Bei einem Denial of Service (DOS) wird ein kommerzieller Anbieter wie Amazon so mit Anfragen von Tausenden PCs bombardiert, dass seine IT-Kapazität überfordert wird. Als Folge sind die Webseiten für normale Kunden nicht mehr zu erreichen. Ausgelöst wird dies durch mit Viren infizierte PC's die durch ein Kommando von einem zentralen Server instruiert werden.

Seymour Cray, der schon 1996 bei einem Autounfall starb, aber noch mitbekam, wie die Vektorrechner von den Clustern abgelöst wurden war Zeit seines Lebens Gegner dieses Ansatzes. Er sagte einmal: "Was nehmen sie zum Pflügen eines Ackers: zwei starke Ochsen oder 1024 Hühner?". Unbestritten ist die Programmierung weniger Vektorprozessoren mit einem gemeinsamen Hauptspeicher einfacher ist, als viele Prozessoren auszulasten, zu synchronisieren und vor allem ihre Spitzenleistung auch nutzen. Aber zumindest in der Form wie sie damals üblich war, war die Technologie nicht mehr in der Leistung steuerbar. Je nach Sichtweise könnte man auch Xeon Phi oder Tesla Grafikkarten als Vektorprozessoren ansehen - nur arbeitet nicht eine Recheneinheit mit 64 Registern, sondern viele Recheneinheiten mit nur wenigen Registern, aber parallel. Anders als vollwertige Prozessoren sind die Shaderkerne aber keine vollwertigen Kerne, sondern mehr mit einer arithmetrisch-logsichen Einheit (ALU) vergleichbar.

Vektorinstruktionen haben inzwischen in die PC-Prozessoren Einzug gehalten. Hier heißt es SIMD. Die neueste Implementierung ist AVX von Intel/AMD.

Artikel verfasst am 13.10.2012

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 Impressum / Datenschutz Neues Hier werben / advertisment here Buchshop Bücher vom Autor Top 99