Im Jahre 2005 führte Intel den ersten Prozessor mit zwei Kernen, einen Dualcore ein. Und die Firma kündigte an, dass sich alle 2 Jahre die Zahl der Kerne würde verdoppeln. Das ist eingetreten. Das Maximum liegt derzeit soweit ich weiß bei 12 Kernen auf dem Chip, wobei das noch die teuren Serverprozessoren sind. Bei den in Desktop PCs verbauten sind es immer noch 8 Kerne.
Nur hat das der Verbraucher noch nicht so verinnerlicht. Die meisten PCs haben heute Zweikernprozessoren, die Vierkerner haben inzwischen auch einen guten Marktanteil, doch Sechskern und Achtkernprozesoren nur einen kleinen. Der Verbraucher fragt also die neuesten Produkte kaum nach und beide Firmen produzieren auch laufend neue Zweikern und Vierkernprozessoren. Früher war es einfach so, dass die alten Chips ausliefen. Als der Pentium II herauskam, konnte man den Pentium I noch eine Zeitlang kaufen, doch es gab keine neuen Versionen. Das ist heute anders und dabei orientieren sich beide Firmen nach der Nachfrage. Warum ist die aber so verhalten?
Nun eigentlich sind Computer die mehrere Prozessoren oder zumindest mehrere Kerne enthalten, nichts neues. Ich weiß wir haben hier unter den Bloglesern einige Experten, die können dass noch genauer angeben, doch der älteste Rechner den ich kenne ist die Cyber 6600 von 1969. Seitdem haben zumindest alle Supercomputer mehrere Prozessoren und ich denke die meisten Großrechner auch. Heute geht die Zahl der Prozessoren bei den größten Rechnern in die Zehntausende. Man sollte annehmen, dass in den Vierzig Jahren die seitdem vergingen, die Software an diese Situation angepasst ist. Das ist sie auch – bei Servern oder Großrechnern. Dort gibt es zwei entscheidende Unterschiede zu dem PC: Entweder gibt es mehrere Nutzer oder man lässt ein Problem auf dem Rechner laufen, bei dem die Software ausgelegt ist für die Anzahl der Prozessoren.
Zum ersten: Das heute populärste Beispiel ist der Webserver. Nehmen wir diese Website. Viele Benutzer rufen HJTML-Seiten gleichzeitig ab. Jeder erzeugt einen Prozess, der von allen anderen unabhängig ist. Er kann daher auf einem Kern alleine laufen. Wenn es der Blog ist, so kommt noch eine Datenbankabfrage und etwas höhere Last durch PHO dazu, die auch einen Prozess erzeugt. Und auf derselben IP-Adresse sind mehrere Websites gehostet. Das bedeutet dass ein Mehrkernprozessor leicht auszulasten ist. Es gibt immer zig Prozesse die gleichzeitig aktiv und voneinander unabhängig sind. Bei Simulationen ist es oft so, das man die Gesamtsimulation in einzelne Teile unterteilen kann. Oder es nicht eine Simulation ist sondern viele die durchprobiert werden (z.B. um festzustellen ob ein Arzneimolekül in ein Enzym passt, muss man das Enzym vor jedem Test räumlich etwas drehen bzw. mögliche Positionen von Seitenketten untersuchen. Jeder einzelne Test kann daher auf einem Prozessor laufen.
Ein PC unterscheidet sich dadurch, dass man nicht vorhersehen kann, was der Benutzer gerade tut und wie viel Prozessorlast er erzeugt, bzw. wie viele unterschiedliche Programme gleichzeitig laufen. Die Zweikernprozessoren waren noch eine echte Erleichterung. Wann immer eine Anwendung sehr viel Rechenlast erzeugte stand bei einem Kern das System. wer einmal den Duden Korrektor auf einem Singlecoreprozessor einsetzte, der weis was ich meine. Es gibt immer einige Hintergrundprozesse die laufen und Rechenlast erzeugen – Videos ansehen, Surfen, Virenscan. Etwas ist immer los. Mit einem Zweikernprozessor sinkt so die Wahrscheinlichkeit, das das System ausgelastet ist.
Nun ist das bei mir nun sehr selten der Fall. (Dualcore AMD 5050e) Das bedeutet dass der Übergang auf vier oder noch mehr Prozessoren durchaus keine Arbeitserleichterung mehr bringt. Das liegt auch darin, dass bald andere Dinge zum Flaschenhals werden. Wenn mehrere Anwendungen auf die Festplatte zugreifen, dann wird bald diese die Geschwindigkeit begrenzen oder es ist die Internetverbindung beim Darstellen. Da macht es auch keinen Unterschied das bei Google Chrome jede Website einen Prozess erzeugt – schlussendlich ist sie in einem Sekundenbruchteil gerendert und dann liest der Anwender nur noch.
Was bleibt ist, dass nur noch wenige Gebiete bleiben wo mehrere Kerne von Vorteil sind, die üblichen Verdächtigen: Bildbearbeitung, Videoschnitt, Spiele. Doch wie viele setzen das ein und vor allem wie lange? Sicher es gibt viele Spieler, doch in 50% aller verkauften PCs steckt keine Grafikkarte und von dem Rest würde ich sagen in einem Großteil eine einfache. Selbst diese Kundschaft profitiert eher von einer schnellen Grafikkarte als von mehr Prozessoren, zumal selbst neueste Spiele mehr als zwei Kerne kaum nutzen. Bei Videoschnitt aber auch Bildbearbeitung ist es mittlerweile auch so, dass spezielle Treiber die Grafikkarte dafür einsetzen. Diese kann vor allem diese immer gleichartigen Aufgaben, die ja dort anfallen, viel schneller als Prozessor absolvieren, zumindest wenn man von der gleichen Preisklasse spricht. Bei Videodarstellung ist es ja schon so, dass dies der Chipsatz übernimmt und die CPU-Last so stark absenkt – Quadcores sind für Blue-Ray und HD-Videos überflüssig. Wenn es nicht zig verschiedene Varianten von Grafikchips geben würde, so denke ich würde sich auf die Lösung mit Grafikkarten vieles zu berechnen eher durchsetzen, doch vielleicht wird mal die Schnittstelle dafür standardisiert. Das würde dem Konzept zum Durchbruch verhelfen.
So gesehen sehe ich schwarz für eine große Nachfrage nach Mehrkern-CPU’s, zumal ja auch als neuer Markt die ganzen Tablett-PCs, Netbooks oder Webpads eher nach etwas stromsparenden, lüfterlosen nachfragt. Dieser Markt boomt und vielleicht wären Intel/AMD beraten eher stromsparende CPU’s mit nur einem oder zwei Kernen zu entwickeln. Ich vermute aber auch dann wird man mit auf das Stromsparen optimierten ARM Prozessoren nicht mithalten können, die in vielen der neuen Geräten stecken.
Was bleibt ist die „Turbo“-Lösung. Wer einen Vier- oder noch mehr Kernprozessor kauft kann bei den meisten Exemplaren ein Feature nutzen: Wenn nur einer oder zwei Kerne viel zu tun haben, so kann die CPU die anderen kurzzeitig abschalten und diese beiden höher takten, da dann die Hitze die praktisch die maximale Taktfrequenz diktiert nur von wenigen Kernen kommt. Doch dann würde ich eher einen höher getakteten Zweikernprozessor kaufen, da alleine dadurch, dass die Caches und Kerne ja synchronisiert werden müssen und Daten austauschen müssen, die maximale Taktfrequenz niedriger ist als bei zwei Kernen ist.