Mehrkerntechnik beendet Taktrennen

17.05.2006
Von Holger Hennig und Jan Heichler 
Der nominelle Leistungszuwachs durch Multicore-Architekturen ist enorm. Doch wenn die Software nicht mitspielt, hilft die zusätzliche Hardware-Power wenig.

Mehr Körner erhoffen sich Radprofis, falls Höchstleistung gefordert ist. An "Körnern" - sprich Leistung - sollte es Rechnern ebenfalls nie mangeln, und mehr Leistung muss dabei nicht gleichbedeutend mit teuer sein. Denn die Multicore- beziehungsweise Mehrkern-Technik, bislang ein Privileg kostspieliger Server-Systeme, hält seit rund einem Jahr Einzug in den Massenmarkt der x86-Prozessoren. Auslöser für diese Entwicklung ist ein Preis-Leistungs-Dilemma, vor dem AMD, Intel & Co. standen. Das gewohnte Vorgehen, weiter an der Prozessor-Taktrate zu drehen, ließ sich nicht mehr beibehalten, da die Performance-Ausbeute immer magerer wurde. Die Ursache hierfür liegt in den exponentiell steigenden Kosten der Produktion. Zugleich überfordert der steigende Energiebedarf der hochgezüchteten Prozessoren einschließlich der Wärmeentwicklung die herkömmlichen Kühlungstechniken. Und die sich permanent drehenden Lüfter sorgten für einen unakzeptablen Geräuschpegel.

Hier lesen Sie …

Der Charme der Mehrkern-Prozessoren

• Die Taktraten einzelner CPUs lassen sich langsam nicht mehr steigern.

• Eine Taktfrequenz von 4 Gigahertz gilt als Grenze für Massenprozessoren, auch wenn Intel mit der "Pentium Extreme Edition 965" die alte Netburst-Architektur doch noch über die 4-Gigahertz-Hürde hievte.

• Klassische Mehrprozessor-Architekturen als Alternative zum Doppelkern-Design vergrößern den CPU-Sockel und damit die Komplexität des Mainboards.

• Mehr als ein Kern auf einem DIE spart Produktionskosten.

• Niedrigere Taktung erlaubt die Weiterverwendung älterer Chipdesigns ohne Strukturverkleinerung.

• Der Rechendurchsatz der CPU steigt, ohne die Taktrate zu erhöhen.

• Die Energieausnutzung ist besser, da sich die Kerne einzeln abschalteten lassen.

Player, Produkte, Pläne

Von den einstigen Plänen zu Prozessoren mit einer Taktrate von 10 Gigahertz und höher will heute niemand mehr etwas wissen. Stattdessen setzen Intel und AMD seit rund einem Jahr auf die Karte des Mehrkern-Prozessors. Sie folgen damit einer Entwicklung, die IBM 2001 mit zwei Kernen im "Power-4-Chip" auslöste und die ihren aktuellen Höhepunkt im "Ultra-Sparc T1" (mit acht Kernen und jeweils vier Threads) von Sun findet. AMD und Intel traten 2005 erstmals mit eigenen Doppelkern-Angeboten auf, wobei AMD in puncto Markteintritt stets die Nase ein wenig vorne hatte. In schneller Folge wurden die Doppelkern-Chips auf Basis von Xeon (Server), Pentium D (Desktop), Athlon 64 x2 (PC) und Opteron (Server) eingeführt.

AMD wartete von Beginn an mit einem eleganter anmutenden Design als Intel auf, da bereits das Zusammenspiel der zum jeweiligen Kern zugehörigen Cache-Speicher über einen Crossbar-Switch erfolgt. Dieser regelt zugleich den Zugriff auf den Memory-Controller und die Hyper-Transport-Technik für andere I/O-Aufgaben.

Intels erster Doppelprozessor-Entwurf handelte sich den Vorwurf des Quick-and-dirty-Designs ein. Der Grund: Die jeweils mit einem L2-Cache ausgestatteten Kerne eines Sockels teilen sich wie siamesische Zwillinge einen Frontside-Bus. Die ersten Dualcore-CPUs "Smithfield", "Paxville" und "Dempsey" folgten alle diesem Konzept. Mit dem Core Duo für Laptops ("Yonah"), der auch in den neuen Apple-Laptops genutzt wird, wechselte Intel zu einem gemeinsamen L2-Cache.

Auf dem jüngsten Developer Forum in San Francisco stellte der Hersteller nun die lang erwartete neue Mikroarchitektur vor. Diese folgt dem Vorbild von Yonah und stattet die Prozessoren mit einem gemeinsamen, bis zu 4 MB großen L2-Cache aus, der den Kernen dynamisch Platz zuweisen kann. Noch in diesem Jahr sollen auf Basis der Core-Mikroarchitektur Prozessoren für die Bereiche Desktop ("Conroe"), Notebook ("Merom") und Server ("Woodcrest") eingeführt werden. Für 2007 ist mit "Covertown" ein erster Quadro-Kern-Prozessor geplant, der zwei Doppelkern-Prozessoren über einen schnellen Frontside-Bus bündelt.

Mehr zum Thema

www.computerwoche.de/

572819: Zum Wettstreit zwischen Intel und AMD.

571940: Die zukünftige Strategie von Intel und AMD in der Chipentwicklung.

575420: Zum Markt für PC-Server-CPUs.

Schluß mit dem Taktrennen

Anstatt nun weiter an der Taktrate zu drehen, besannen sich die Hersteller auf das Konzept, mehrere CPUs auf einem DIE (Siliziumkern) unterzubringen. Der Umstieg auf die Mehrkern-Technik verspricht, bei leicht abgesenkter Taktrate weitaus mehr Leistung zu vertretbaren Preisen zu liefern. Denn ein zusätzlicher Prozessorkern lässt den Aufwand für die Kühlung nur linear steigen, während eine Takterhöhung wegen der gestiegenen Betriebsspannung den Energieverbrauch zum Quadrat aufpumpt. Statt mit Hilfe kostspieliger Fabrikationsprozesse immer kürzere Leitungswege zu realisieren, können nunmehr bestehende Produktionsverfahren und -stätten länger genutzt werden.

Hightech für den Alltag

Die Idee der Multiprozessortechnik ist dabei keineswegs neu. Sie wurde bereits vor Jahrzehnten in Mainframes oder spezialisierten Hochleistungsrechnern eingesetzt und ist im Segment der leistungsstarken Server-Boliden seit zwei Jahren Standard. Neu ist allerdings, dass die Mehrkern-Prozessoren nun in das Alltagsgeschäft der x86-Server, Desktop-PCs und Notebooks drängen. Anstatt sich zu immer neuen Höchstmarken bei der Taktrate zu treiben, werden AMD und Intel künftig die Auseinandersetzung auf dem Feld der "Kern-Kraft" suchen.

Ungeachtet der konzeptionellen Unterschiede im Design stoßen die Architekturen beider Hersteller allerdings auf eine Problematik, die seit jeher Mehrprozessor-Architekturen begleitet: Die Software muss in der Lage sein, alle CPUs beschäftigen zu können. Um das Mehrkern-Design auszunutzen, muss eine einzelne Aufgabe in mehrere Teile (Threads) aufgebrochen, separat abgearbeitet und die Teilergebnisse müssen anschließend zusammengefügt werden. Die Beschleunigung hängt entscheidend davon ab, wie gut eine Anwendung dafür programmiert ist.

Parallelisieren lässt sich ein Programm aber nur dann, wenn sich die Abhängigkeiten zwischen Daten und Berechnungen entsprechend auflösen lassen. Eine mangelhafte Parallelisierung frisst durch aufwändige Abstimmungsprozesse den potenziellen Zeitgewinn sofort wieder auf. Hinzu kommt, dass der Einsatz von Mehrkern-Prozessoren ebenfalls nicht frei von Engpässen ist: Bei AMD greifen beispielsweise alle Kerne eines Sockels über einen einzigen Memory-Controller auf den Speicher zu. Intel hält dagegen an dem Konzept eines Front Side Bus fest, den sich die Kerne aller CPU-Sockel teilen.

Server profitieren sofort

Trotz dieser Schwierigkeit bie-ten Zweikern- beziehungsweise Mehrkern-Prozessoren im realen Anwenderleben durchaus Vorteile. Denn üblicherweise wird ein Server nicht für Höchstleistungsrechenaufgaben eingesetzt. Er ist primär auf Durchsatz ausgelegt und muss viele Aufgaben parallel bewältigen. Ein Server profitiert deshalb sofort von den neuen Prozessorarchitekturen, da hier in erster Linie das Multitasking der voneinander unabhängigen Aufgaben gefragt und weniger das Multithreading einzelner Anwendungen gefordert ist. Auch spielen die höheren Kosten für die Doppelkern-Prozessoren beim Gesamtpreis eines Servers kaum eine Rolle. Der Einsatz in Servern wird spätestens mit dem Aufkommen von Vierkern-CPUs den Sog in Richtung 64 Bit verstärken. Denn der Hauptvorteil, einen größeren Adressraum ansprechen zu können, kommt vor allem bei der parallelen Nutzung mehrerer Anwendungen zum Tragen.

Bei den Client-Systemen ist die Sache nicht so einfach. Hier zählt zunächst die Performance einer einzelnen Anwendung. Die wenigsten gängigen Programme sind aber Multithreading-fähig. Entsprechend begrenzt ist der Nutzen des zusätzlichen Prozessors. Ein hoch getakteter Einkern-Prozessor bewirkt deshalb häufig mehr als ein Doppelkern-Chip. Andererseits zeigen erste Benchmark-Tests, dass "leistungshungrige" Anwendungen etwa zur Video- und Bildbearbeitung durch mehrere Kerne nachweislich schneller werden - vorausgesetzt, sie können ein wenig Multithreading.

Betriebssysteme wie Linux, neuere Versionen von FreeBSD, Windows XP oder Mac OS X nutzen den zweiten Prozessorkern ebenfalls für ein besseres Multitasking der Desktop-Anwendungen. Verwendet man einen Launcher oder Task-Manager, lassen sich die Programme sogar mit selbst definierten Prioritäten auf den unterschiedlichen Kernen starten. Wegen des zweiten Prozessorkerns steht der Rechner so selbst bei aufwändigen Konvertierungsjobs in der Video- oder Bildverarbeitung für weitere Aufgaben zur Verfügung. Bei Betriebssystemen, die wie Mac OS X oder Aero/Vista ausgiebig mit mehreren animierten Anwendungen im Hintergrund arbeiten, führt dies zumindest zu einem subjektiv als schneller empfundenen System. Allerdings behandeln auch Einkern-Prozessoren die Hauptanwendungen vorrangig gegenüber Hintergrundjobs wie einem Virenscanner oder einer Personal Firewall. Die Effekte des zweiten CPU-Kerns sind deshalb im praktischen Einsatz kaum messbar.

Programmierer sind aufgefordert

Letztlich bleibt es dabei, dass zunächst einmal die Softwarehersteller aufgefordert sind, ihre Desktop-Programme Multithreading-fähig zu machen. Dennoch schreckt der im Vergleich zum Standard-PC hohe Preis der Doppelkern-Desktops viele Interessenten von einem Kauf ab. Ähnliches lässt sich für den Durchbruch von 64 Bit bei Desktop-Anwendungen beobachten: Eine 64-Bit-Integer-Fähigkeit stiftet heute kaum Zusatznutzen, aber allein die Kosten des zusätzlichen Hauptspeichers würden bei vielen Anwendern den Preis ihres Rechners übertreffen. Vor der Verfügbarkeit von Microsofts zukünftigem Desktop-Betriebssystem "Vista" ist deshalb kaum mit einem Durchbruch auf breiter Basis zu rechnen.

Im Unterschied dazu wird spätestens Anfang 2007 das Gros der x86-basierenden Server zumindest mit Doppelkern-Prozessoren ausgeliefert werden und die bisherigen Einzelkern-Maschinen als Standard ablösen. Es zeichnet sich auch ab, dass nach dem Mehrkern-Prozessordesign mit den Virtualisierungstechniken eine weitere aus der Mainframe-Ecke stammende Technik massenmarkttauglich wird. Das Konzept der "Logischen Partitionen" (LPARs) einschließlich der dynamischen Ressourcenzuordnung zieht so in die x86-Standardarchitekturen ein. Szenarien wie der Betrieb einer großen Zahl von Thin-Client-Systemen an zentralen Servern ließen sich dann mit Hilfe der Virtualisierung und der Kraft der vielen Kerne zu deutlich günstigeren Konditionen umsetzen, als dies heute der Fall ist. (kk)