Microsoft veröffentlichte zwei Hotfixes, welche individuell eingesetzt werden können, allerdings für den gemeinsamen Einsatz gedacht sind. Es handelt sich dabei um KB2645594 für Verbesserungen beim Scheduler und KB2646060 für Verbesserungen beim Core Parking.
Wie wir in unserem
zweiten Artikel rund um die FX-Prozessoren herausgefunden haben, kann mit der richtigen Verteilung der Threads ein gutes Stück Performance gewonnen werden. Nämlich dann, wenn das dem Bulldozer zugrunde liegende
CMT-Design (
Cluster-based
Multi
threading) quasi ausgehebelt wird. Das Design des FX zielt darauf ab, dass jeweils zwei Kerne eines Moduls über gemeinsame Ressourcen verfügen (FPU, L1-Instruction-Cache, L2-Cache, Decoder), einige andere Ressourcen jedoch so oft zur Verfügung stehen, wie der jeweilige Prozessor Kerne hat (L1-Daten-Cache, Integer-Einheiten). In der Praxis hat sich gezeigt, dass einige Anwendungen deutlich davon profitieren, wenn die Threads nicht auf zwei Kernen ein und desselben Moduls laufen, sondern wenn sie auf mehrere Module verteilt werden und dort jeweils einen Kern in Anspruch nehmen können (und nicht durch einen zweiten Thread "behindert" werden). Dadurch stehen dem jeweiligen Thread im Idealfall die Ressourcen eines Kerns und auch die sonst geteilten Ressourcen eines Moduls zur Verfügung. Genau diese Verteilung zugunsten besserer Performance soll durch KB2645594 erreicht werden. Vom Ansatz her dürften Anwendungen, die zwischen zwei und vier Threads verwenden, am meisten profitieren. Denn Anwendungen, deren Workload nur einen Thread umfasst, können bereits heute auf die komplette Hardware eines Kerns sowie die gemeinsame Hardware eines Moduls zugreifen. Und werden es mehr Threads als die Anzahl der Module, so müssen sich zwangsläufig mindestens zwei Threads ein Modul "teilen". Mit steigender Thread-Zahl (über die Anzahl an Modulen hinaus) kann auch der Windows-Hotfix nur noch wenig Abhilfe schaffen.
Mit KB2646060 soll es Verbesserungen beim Core Parking geben. Wie der Name schon impliziert, werden Kerne während Ruhephasen "geparkt", also de facto schlafen gelegt. So wird erstens die Leistungsaufnahme verringert und zweitens wird der TDP-Spielraum für eventuell notwendige Turbo-Eingriffe erhöht. Im Prinzip bietet Core Parking also nur Vorteile, scheint nach Meinung von AMD aber zu häufig zu greifen. Wenn dies der Fall ist, kehrt sich der Vorteil um. Denn auch zum Aufwecken der Kerne wird etwas Zeit benötigt, was im schlechtesten Fall zu einer geringeren Performance führt. Hier soll der zweite Hotfix etwas Linderung bringen.
Vor- und Nachteile
Beide Hotfixes haben das Ziel, die Performance des nicht ganz überzeugend auftretenden AMD FX (bzw. der Opteron-Varianten im Server-Segment) zu verbessern. Wunder dürfen hier grundsätzlich nicht erwartet werden, die eine oder andere Verbesserung auf dieser Basis ist aber gern gesehen. Dennoch könnten die Eingriffe am Scheduler und beim Core Parking einen Nachteil nach sich ziehen: Eine gesteigerte Leistungsaufnahme.
Konstruieren wir zur Verdeutlichung einen anstehenden Desktop-Workload, welcher auf vier Threads aufgeteilt werden kann. Aus Sicht der Leistungsaufnahme wäre es wünschenswert, wenn diese vier Threads komplett auf zwei Modulen laufen. Die anderen beiden Module könnten schlafen gelegt werden, was eine Aktivierung des Turbo-Modus zur Folge haben kann. Durch die beiden Hotfixes werden nun aber die vier Threads auf alle vier Module verteilt, sodass alle Module des Desktop-FX aktiv sein müssen. Lediglich einzelne Kerne können nun noch abgeschaltet werden, was unter Umständen eine höhere Leistungsaufnahme mit sich bringt. Gleichzeitig kann es im Extremfall sein, dass der Turbo-Modus nicht mehr so effizient arbeitet und die anstehende Arbeit länger dauert als ohne Anpassungen, was zu Lasten der Energieeffizienz geht.
Man bewegt sich hier auf einem schmalen Grat zwischen Aufwand und Nutzen, der verdeutlicht, dass keine großen Performance-Sprünge zu erwarten sind, gleichzeitig sogar ungewünschte Nebeneffekte auftreten können.
Diesen Artikel bookmarken oder senden an ...