Das Aufkommen der Massiv Parallelen Rechner – Teil 2

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. Continue reading „Das Aufkommen der Massiv Parallelen Rechner – Teil 2“

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. Continue reading „Das Aufkommen der Parallelrechner – Teil 1“