Rechenpower satt: Mehrprozessor- und Mehrkernsysteme

Mehrprozessorsysteme

Noch vor wenigen Jahren definierten Dual-Prozessorsysteme die Obergrenze des gerade noch erschwinglichen Leistungsspektrums für Privatpersonen und kleinere Firmen. Vorschau: Compaq Proliant 4500, ein alter 19-Zoll-Server Schon zu Pentium-Zeiten gab es entsprechende Server, die mehrere CPUs vereinten, die aber auch entsprechend teuer waren. Auf dem Foto links oben sieht man einen Compaq 4500, der bei seiner Markteinführung 1995 in der abgebildeten Ausstattung mit 3 CPU-Karten und 256MB ECC-Speicher, 5 Hot-Plug-2.1GB-SCSII-Platten und einiger Zusatzhardware wie einer Speicherkarte schon fast einen 6-stelligen DM-Betrag kostete. Für die damalige Zeit waren die CPU-Karten allerdings extrem leistungsfähig - immerhin verfügten die 133er-Karten über jeweils 2MB Cache. Ein paar Jahre später konnte man schon weitaus preisgünstiger mehr Rechenleistung mit einem Dual-Pentium2 erzielen. Auf dem Bild rechts ist ein Mainboard des Typs Tyan S1682 mit zwei Pentium2-266MHz-CPUs und 192MB Speicher zu sehen. Vorschau: Tyan-Mainboard s1682 mit Dual Pentium2 Die Rechenleistung dieses Systems ist, nicht zuletzt durch die 512kB Second-Level-Cache pro CPU, bei Cache-intensiven Berechnungen wie man sie z.B. bei Distributed-Computing-Projekten vorfindet, mit der Rechenleistung eines Pentium-IV-Celeron mit ca. 2400MHz vergleichbar. Daran läßt sich sehr schön das Potential von großem und schnell angebundenem Cache erkennen, aber auch die Leistungssteigerung durch weitere CPUs mit somit zusätzlichen Pipelines etc. ist nicht zu verachten. Firmen wie Sun Microsystems und SGI setzten daher in ihren teuren Highendlösungen schon lange auf Mehrprozessorsysteme mit teilweise bis zu 8MB Cache pro CPU. Durch die gleichzeitig immer weiter gehende Miniaturisierung ist es inzwischen möglich, immer mehr Cache und vor allem auch mehrere CPUs auf einem Die (das ist die Silicium-Scheibe mit dem Prozessor selbst innerhalb des Gehäuses) unterzubringen.

Multicoreprozessoren

Die Tendenz ist somit schon seit Jahren deutlich sichtbar: der Trend geht hin zu mehr CPUs pro Rechner, um die Geschwindigkeiten weiter steigern zu können. Die Erfahrungen aus dem Bereich hochperformanter Server und auch aus dem Bereich der Grafikkarten, die mit ihren spezialisierten Chips und zahlreichen Berechnungspipelines enorme Geschwindigkeiten erreichen können, führten dazu, dass auch die Entwicklungen bei den x86-Marktführern Intel und AMD in die Richtung von mehr Prozessoren pro Die gingen. Im November 2002 fand die Markteinführung von Hyperthreading-Pentium-IV-CPUs statt. Das zuvor bereits in Xeon-CPUs verwendete Hyperthreading bietet zwar nicht die gleiche Leistung, wie 2 echte CPUs mit gleichem Takt, aber man bekommt immerhin eine beachtliche Steigerung der Rechenpower auf gleichem Raum in nur einem CPU-Sockel. Der Pentium IV erwies sich allerdings recht zügig als Fehlentwicklung, die nur durch bedeutend höhere Taktraten gegenüber dem Pentium 3 punkten konnte. Diesen Fehler berichtigte Intel inzwischen mit seiner neuen Core-Technologie, die in den Grundzügen wieder auf dem P3 basiert und z.B. im Core Duo zwei richtige Prozessoren vereint und mit bedeutend weniger Takt und Stromverbrauch trotzdem die Leistungen eines “alten” Hyperthreading-PIVs übertrumft.

Auch AMD bietet seit längerem mit den X2-Opterons Dualprozessorlösungen in nur einem CPU-Gehäuse, die auch gerne für Server, Cluster und natürlich auch Kandidaten für die Top500 der Supercomputer externerLink verwendet werden. Um die Leistungsfähigkeit weiter zu steigern, gehen die Entwicklungen immer mehr dazu, Prozesse zu parallelisieren. Dies geschieht zum einen durch mehr Pipelines, inzwischen vor allem aber auch durch mehr Prozessoren in einem Gehäuse. Bereits Anfang diesen Monats stellte Intel den neuen Core 2 Extreme QX6700 vor, der zwei Core-2-Duo-Dies mit je 4MB 2nd-Level-Cache in einem Prozessor vereint und somit 4 Kerne in einem Sockel bietet. Mit dem Xeon-5300 stellte Intel am 14.11. außerdem die ersten 4-Kern-Xeons vor, die als direkter Konkurent zum Dualcore-Opteron diesem wieder einiges an Marktanteilen abnehmen sollen. AMD wird für seine 4-Kern-Systeme zwar noch etwas brauchen (evtl. bis zu einem Jahr), diese sollen dann allerdings auf nur einem Die vereint sein. Für 2007 werden die 4-Kern-Systeme von Intel und AMD mit großer Wahrscheinlichkeit nicht nur im Serverbereich Einzug halten, sondern auch bereits nennenswerte Anteile im Consumermarkt verbuchen können. Andere Hersteller bieten technisch ähnliches schon heute - allerdings eben nicht für PCs und so wird diese Technik bisher auch kaum im vollen Umfang ausgenutzt. So werkelt in der aktuellen Playstation 3 von Sony eine von IBM gefertigte Cell-CPU, die über einen Hyperthreading-64Bit-PowerPC-Kern mit 512 KByte L2 Cache und satten 8 32Bit-FPU-Einheiten mit je 256kB Cache für Fließkommaberechnungen ausgestattet ist. Eine solche Cell-CPU ist für aufwendige Grafikberechnungen spezialisiert, bietet somit auch für viele im Distributed Computing verwendete Rechenoperationen und den Einsatz in Supercomputern eine sehr interessante Basis.

GPU-Power - Die Kraft der Grafikkartenprozessoren

Ähnliches läßt sich auch im bereits erwähnten Grafikkartenumfeld erkennen. Die heutigen High-End-Grafikkarten verfügen in ihrer GPU (Graphic Processing Unit) über zahlreiche Pipelines in einer Vielzahl von einzelnen Berechnungseinheiten, die genau betrachtet jeweils auf den Grafikbereich hochoptimierte ALUs (Arithmetic Logical Unit) bzw. FPUs (Floating Point Unit) sind. So besitzt die gerade kürzlich vorgestellte ATI Radeon X1950 ebenso wie ihr etwas langsamer getakteter Vorgänger X1900 satte 16 Textureinheiten, 48 Pixelshadereinheiten und 8 Vertexshadereinheiten, die wenn man sie problemlos auch für normale Anwendungen nutzen könnte, von der Rechenleistung her leicht einen ganzen 19″-Serverschrank ersetzen könnten. Wenn man dabei bedenkt, das man neben Platz vor allem auch unheimlich viel Strom spart, ist das schon beachtlich. Bereits seit mehreren Jahren gibt es Überlegungen und Ansätze, wie man die Möglichkeiten der Grafikkarten auch für andere Anwendungen nutzen kann. Schon für ältere GPUs gibt es openSource-Projekte, die die schnellen FFT-Berechnungen (Fast Fourier Transformation) der GPUs für normale Anwendungen verfügbar machen. Das Distributed-Computing-Projekt folding@home (neben Seti@home eines der Urgesteine des DC) bietet seit Anfang Oktober diesen Jahres einen Client an, der die Leistungen von ATIs X1900er Serie (später auch X1800er) für die Proteinfaltung nutzbar macht. Die Leistung dieses Folding-Clients cruncht (=rechnet) mit Hilfe der Grafikkarte um die 30 aktuelle High-End-Desktop-Systeme in Grund und Boden und ist damit vergleichsweise sogar etwa doppelt so schnell, wie ein Cell-Prozessor der aktuellen Playstation 3. Auch wenn es bisher außer dem Folding-Client keine weiteren nennenswerten Programme gibt, die die eigentlich für Spiele vorgesehenen Leistungsfähigkeiten der Grafikkarten nutzt, so wird sich dies mit großer Wahrscheinlichkeit schon in naher Zukunft ändern.
Einige Bereiche der Informationstechnik können nie genug Rechenleistung bekommen, dazu gehören vor allem die Aufgaben großer Simulationen und die zunehmend im Serverbereich Verbreitung findende Virtualisierung. Aber auch Einzelrechner, die für Spiele, Grafikverarbeitung oder Programmierung verwendet werden, können oft nicht schnell genug sein. Im Gegensatz dazu reicht z.B. für einen einfachen Office-PC bei intelligenter Auswahl der Software ein Pentium 3 mit 1GHz, 256MB Arbeitsspeicher und einer einfachen 4MB-Grafikkarte vollkommen aus. Dennoch wird man letzteres kaum noch in einem Büro vorfinden, was wiederum dazu beiträgt, dass gerade verteilte Anwendungen für verschiedene Aufgaben weiter erforscht werden und eines Tages vermutlich auch die normalen Büro-PCs problemlos in Firmencluster integriert werden können.

Einen Kommentar schreiben