Krieg der Kerne

Im Trend liegt die Vervielfachung der Prozessorkerne, bei dem sich Intel und AMD ein Kopf-an-Kopf-Rennen liefern. Doch auch alle anderen Schmieden habe ihre Dual-Cores im Feuer, einige legen in Kürze mit Vierpacks nach und Spezialisten brennen gleich acht in einen Chip. Allein die Zahl der Kerne sagt aber noch nichts über die Eignung für den gewünschten Einsatz.

In Pocket speichern vorlesen Druckansicht 8 Kommentare lesen
Lesezeit: 12 Min.
Von
  • Ralph Hülsenbusch
Inhaltsverzeichnis

Es ging beim Rennen zwischen Intel und AMD um das Durchbrechen der Performance-Mauer, die derzeit bei etwa 4 GHz steht. Seit nicht ganz einem Jahr lautet aber die Antwort auf die Kernfrage nach der Leistung eines neuen Rechners anders: Nicht Gigahertz heißt es als Erstes, sondern von der Zahl der Central Processing Units (CPUs) ist die Rede. Seit nahezu alle Prozessorschmieden von AMD über Intel bis hin zu IBM, HP, SGI und Sun mehr als eine CPU in ihrem Chip unterbringen, gibt es Diskussionen um Sinn und Zweck dieser Technik. Und das nicht erst seit kurzem, denn die Idee hat fast ein halbes Jahrhundert auf dem Buckel, fand aber erst in der 60ern ihren Niederschlag in Mainframes und Hochleistungsrechnern. Seit sie jedoch den Massenmarkt erreicht hat, ist der Wettstreit vor allem zwischen AMD und Intel in eine neue Runde gegangen.

Nun wollen alle mehr Leistung, aber nicht unbedingt immer mehr bezahlen. Doch die Kosten für die Steigerung des Prozessortaktes wachsen exponentiell, schon allein durch die Notwendigkeit, Designveränderungen vornehmen und neue, noch feinere Produktionsprozesse auflegen zu müssen, damit im Innern der CPUs nicht zu lange Wege entstehen. Nachdem ein gewisser Herr Moore mal wieder recht behalten hatte und alle vor die 4-GHz-Wand gelaufen waren, besann man sich auf einen klassischen Ausweg: mehrere CPUs in einem Chip unterzubringen.

Geplant: Schon bei der Single-Core-Version hatte AMD die Technik eingebaut, die das Zusammenspiel zwischen mehreren Kernen regelt - nicht ganz frei von Engpässen, denn die Kerne können nur über einen Memory-Controller auf den Speicher zugreifen (Abb. 1).

Multicore-Technik (MC) braucht erst mal wenig Platz und kein völlig neues Design, solange es beim CPU-Takt etwas zurückhaltender zugeht. Im Grunde müssten etwas mehr als 2 GHz pro Kern reichen, um die 4-GHz-Mauer zumindest in der Gesamtleistung durchbrechen zu können. Und wenn es heiß hergeht, verteilt sich das auf zwei Kerne, was den Aufwand für die Kühlung gegenüber einer extrem getakteten CPU verringert. Letztlich sieht die Energiebilanz deutlich günstiger aus: mit der Zahl der Kerne steigt der Verbrauch „nur noch“ fast linear an, während beim Anheben des Prozessortaktes durch Erhöhung der Core-Spannung der Energieverbrauch im Quadrat zunimmt. Das lässt sich nur durch einen neuen Fabrikationsprozess mildern, der die Leitungswege wirksam verkürzt, aber nach einer neuen Fab verlangt. Das lohnt sich nur, wenn der Sprung groß genug ist und sich die Ausbeute pro Waver merklich erhöhen lässt. Durch die Dual-Core-Technik allein lassen sich aber in der bestehenden Produktionsstätte mehr CPUs pro Fläche produzieren als bei Single-Core.

Doch verteiltes Rechnen hat seine Tücken. Selbst bei Supercomputern findet man Systeme mit mehreren tausend Prozessoren, wobei aber jeder Rechenknoten nur aus einer einzigen CPU besteht, bei Multicores gar alle bis auf einen abgeschaltet sind. Andere wiederum begnügen sich mit Dual-SMP-Knoten, obwohl Vierer- durchaus möglich wären. Der Grund liegt in den Anwendungen, die, obwohl aufs Feinste parallelisiert, Quad-System nicht auslasten können. Und das liegt an der Aufgabenstellung: Aufgrund von Abhängigkeiten der Daten untereinander lassen sich die Algorithmen nicht in beliebig kleine selbstständige Einheiten zerlegen.

Doppelhertz: Intels Dual-Core-Prozessoren sind echte siamesische Zwillinge, sie müssen sich den Frontside-Bus teilten (Abb. 2).

Nun sollen MC-CPUs dem Alltagsgeschäft und dem Spielspaß auf die Sprünge helfen. Bei den ersten Desktops mit zwei Prozessoren traten Dilemmas zu Tage: Den meisten Applikationen ist es schnurzegal, wie viel Prozessoren auf Arbeit warten, sie kennen und nutzen eh nur einen. Das verschärft sich bei der Integration in MC.

„Ja, wo laufen Sie denn?“ leitet das mehr oder weniger missliche Vergnügen ein, das beim Nutzen von Multi-core-Systemen aufkommen kann. Ohne zusätzliche Eingriffe von außen verteilen die Scheduler die anstehenden Prozesse nach eigenem Gutdünken. Zwar sind die aktuellen Betriebssysteme inzwischen darauf geeicht, die Wanderschaft zwischen den Kernen nicht ausufern zu lassen, doch wann und auf welchem Kern ein Prozess zum Zuge kommt und vor allem, wann er zum Ende kommt, ist nicht vorhersagbar. Es sei denn, Entwickler oder Anwender greifen zu Hilfsmitteln wie Affinities (Windows), taskset (Linux) oder pbind (Solaris), um nur einige zu nennen. Damit verspielt man aber einen wesentlichen Vorteil des MC: die Arbeit dynamisch verteilen zu können. Unter dem Strich kommt wieder heraus: ein Großteil des Rechenwerks schläft.

Verhältnisse: Die ermittelte Rechenleistung gilt für jeweils einen Prozess bezogen auf die Leistung im Single-Run (Abb. 3).

Nähere Untersuchungen mit Bordmitteln, etwa mit den eben genannten Werkzeugen, bestimmte Zusammenstellungen von Kernen zu wählen, lieferten beachtliche Abweichungen in den Laufzeiten. Es gilt die Faustregel: je höher die Optimierung, desto stärker der Effekt. Als Messinstrument dienten SPECs CPU2000, in erster Linie ein Prozessortest. Besonders auffällig sind die Nebenwirkungen von MC-Prozessoren im Gleitkommatext SPECfp (siehe Abbildung 3). Als Plattformen standen zur Verfügung: A&Rs Ariane und HP DL380R04 mit Xeon-CPUs unter Linux, aus der Opteron-Klasse Tyans VX50 unter Windows und Linux, Suns X4200 unter Solaris und Linux, mit UltraSparc-T1 Suns T2000 sowie IBMs P505 und P550 mit Power5 (ab Seite 52). Damit schließt sich der Reigen aktueller Multicore-CPUs fast, was in dieser Untersuchung mangels Verfügbarkeit fehlt sind Spezies wie HPs PA-RISC 8900 [6], Intels Itanium [7], SGIs R14000 [8] und Apples G5 in der Dual-Core-Version.

Nun drängt es jeden Hersteller, der etwas auf sich hält, für sein neuestes System mit Zahlen à la SPEC CPU2000 aufzuwarten, wie jüngst Apple beim propagierten Umschwung zu Intels Hardware. Inzwischen sind solche Hausnummern in Labors in der Regel erreichbar, mit den Einschränkungen der Verfügbarkeit bei zusätzlichen Libraries oder exotischen Hardwarekomponenten wie speziellen Speichermodulen. All dies entfernt sich aber zunehmend von der Realität. Aktuelle Benchmarkergebnisse zeigen heutzutage eher das Erreichbare denn das tatsächlich Stattfindende - insofern unterscheiden sich Testberichte in der IT deutlich von denen der Automobilbranche.

Erstens sind Applikationen auf älterer Hardware entstanden und zweitens dürften sich die Entwickler hüten, scharfe und moderne Optionen oder Optimierungen zu nutzen, denn zum einen gibt es keinerlei Garantie, dass die Applikation dann auf allen Systemvarianten fehlerfrei läuft, und zum anderen kann es sich niemand leisten, Nutzer betagter Hardware im Regen stehen zu lassen. Das gilt vor allem im kommerziellen Bereich, denn dort verhält man sich weitaus konservativer, als in Forschung und Entwicklung oder gar im Privaten. Schließlich muss der Betrieb laufen und will nicht durch irgendwelches Unausgereiftes, so en vogue es auch sein mag, gestört sein.

Trotzdem stehen Entscheidungen an, oder genauer: die Vorbereitungen derselben. Da gilt es, allem, was neu ist, auf den Zahn zu fühlen. Hardware altert wegen kürzerer Innovationszyklen zunehmend schneller, zum anderen verbrauchen sich Ressourcen: Die Lebensdauer von Festplatten ist begrenzt und gängige Applikationen wie Webbrowser entwickeln dank Java und HTTPS zunehmenden Speicherhunger. Was heute als Hauptspeicher gang und gäbe ist, war vor nicht einmal 20 Jahren noch der Traum an Festplattenkapazität. Hinzu kommt, dass man bei unvermeidbaren Neuanschaffungen zwangsläufig neue Technik ins Haus bekommt. Es drängen immer mehr MC-Syteme zu verhältnismäßig günstigen Preisen auf den Markt. Der Wandel hat auch den Massenspeicher erfasst: SATA (serielles ATA) oder SAS (seriell attached SCSI) paaren sich mit IDE-CD-ROMs und selten noch mit Floppies, umrahmt von Mini-Kartensteckplätzen und USB-Anschlüssen aller Orten. Wer für sein altes System eine Festplatte mit weniger als 30 GByte braucht (weil sich das BIOS nicht mehr auffrischen lässt), darf lange suchen und viel Geld bezahlen.

Der Sprung in die Multicore-Technik birgt einiges mehr an Effekten als die Einführung der Threading-Verfahren, sei es Hyper-Threading bei Intel, Multithreading bei Sun oder die simultane Variante (SMT) bei IBM. Der Punkt: Threadings lassen sich in der Basiskonfiguration abschalten, ein Core nicht.

Fakt ist, dass Multicore-Technik gegenüber ähnlich performanten Single-Core-CPUs Vorteile hat, was den Energieverbrauch, die Wärmeentwicklung und indirekt damit verbunden den Geräuschpegel betrifft - und sie sind billiger als die hochfrisierten Roadrunner. Für das Gros der Alltagsanwendungen gilt, dass es (noch) keine spürbaren Nebeneffekte durch die Vervielfachung der Kerne gibt. Typische Serverapplikationen, die ihre Aufgaben in verteilbaren Prozessen oder Threads erledigen, profitieren von der Kernvielfalt. Nur dort, wo es auf präzisierbares Laufzeitverhalten ankommt, vorwiegend im F&E- oder Steuerungsbereich, ist Vorsicht geboten. Vor allem, wenn die Kerne gemeinsamen Cache benutzen, kann dies bei speicherintensiven Programmen negativ zu Buche schlagen.

Welcher Hersteller aber nun die bessere CPU baut, lässt sich nicht eindeutig beantworten. Neben dem konkreten Einsatz spielen Faktoren wie Ausbaubarkeit, Energiebedarf, Verfügbarkeit der Hard- und Softwarekomponenten bis hin zu speziellen Kenntnissen und Vorlieben eine Rolle.

Im Serverbereich spricht vor allem für AMDs CPUs, dass die passenden Anwendungen vom CPU-lokalen Speicher profitieren und sich die Server mit viel RAM ausrüsten lassen [5]. Gegen die Architektur sprechen die manchmal nicht nachvollziehbaren Randeffekte durch den verteilten Speicher, besonders die Umwege zur I/O, der noch nicht verfügbare schnelle DDR2-Speicher und die (noch) fehlenden Schnittstellen für serial attached SCSI (SAS). Außerdem ist die Auswahl an Motherboards überschaubar, die unter Umständen nur mit speziellem BIOS und angepassten Betriebssystemen laufen (siehe Artikel „Kernfrage“ im gleichen Heft auf Seite 52)

Intel hat mit seiner Dual-Core-Technik derzeit die Nase vorne, was die Spannweite vom Notebook bis zum Enterprise-Server und die Unterstützung der Virtualisierung durch die CPU (Vanderpool) angeht. Außerdem bieten Intels Xeon zu- und abschaltbares Hyper Threading, was je nach Anwendungsfall Vorteile bringt. Sie unterstützen schnellen DDR2-Speicher und es gibt für Intels CPUs Boards mit SAS. Allerdings treten Schwierigkeiten bei den neuen Chipsets von Intel mit Treibern, vor allem bei 64-Bit-Systemen auf.

Ein direkter Vergleich des Preis-Leistungs-Verhältnisses ist nicht herstellbar. Intels CPUs brauchen für die gleiche Rechenleistung einen höheren Takt als die von AMD, was sich an den Veröffentlichung der SPEC ablesen lässt, nehmen sich aber von den Anschaffungskosten her wenig. Grundsätzlich sind Server mit Intels CPUs und Chips dank breiter Unterstützung durch OEMs mehr als General-Purpose-System zu werten, die von AMD eher als geeignet für den Spezialeinsatz.

[1] Ralph Hülsenbusch, Matthias Withopf; Multiprozessoren; Fadenzähler; Nutzen von Hyperthreads in Intels Xeon MP untersucht; iX 10/2002, S. 62

[2] Ralph Hülsenbusch; Prozessoren; Zug um Zug; Zur Lage der 64-Bit-Systementwicklung; iX 11/2003, S. 100

[3] Fred Hantelmann; Server; Angriff von unten; Server mit Intels 64-Bit-Xeons; iX 11/2004, S. 91

[4] Michael Riepe, Jürgen Seeger; Intel-Macs; Kernfragen; Erster Blick auf Apples Intel-iMacs; iX 3/2006, S. 62

[5] Ralph Hülsenbusch; Multiprozessorsysteme; Mit Sechszehn; AMDs Dual-Core-CPUs im 16er-Pack; iX 10/2005, S. 66

[6] Fred Hantelmann; Prozessoren; Doppeldecker; Neue Risc-CPUs von HP und Sun mit Dual-Core; iX 5/2004, S. 103

[7] Ralph Hülsenbusch; 64-Bit-CPU; Alles Beta; Zwei komplette Itanium-Server in der Erprobung; iX 8/2001, S. 102

[8] Fred Hantelmann; Grafik-Workstation; Stelldichein; Drei High-End-Grafikrechner im Vergleich: HPs zx6000, IBM p275 und SGIs Tezro; iX 2/2004, S. 66

Einen aktuellen Test verschiedener Rechner mit Multicore-CPUs vom Laptop bis zum Server finden Sie in einem weiteren Artikel im Print-Medium.

Mehr Infos

iX-TRACT

  • Multi-Core-Prozessoren bieten den Ausweg aus dem Gigahertz-Dilemma. Mit der derzeitigen Technik sind CPUs mit 4 GHz und höher nicht mehr mit vertretbarem Aufwand herstellbar.
  • Alle namhaften Prozessorhersteller stellen inzwischen Dual-Core-Chips her, IBM und Sun etwa bieten inzwischen Mutlicore-Prozessoren mit vier und acht Kernen an.
  • Dank der Entwicklung der Server-Betriebssysteme und -Anwendungen mit verteilbaren Threads und Prozessen profitieren diese von der Multi-Core-Technik.
  • Kosten und Aufwand für Entwicklung, Herstellung und Betrieb von MCs sind deutlich geringer als bei Extrem-CPUs.

(rh)