Windows XP SP 2 hat ein Problem mit manchen Dual-Core-CPUs

Das Service Pack 2 für Windows XP, das auch fester Bestandteil der Media Center Edition 2005 ist, hat ein Problem mit Stromspar-Funktionen von Mehrkern-Prozessoren.

In Pocket speichern vorlesen Druckansicht 172 Kommentare lesen
Lesezeit: 5 Min.

Das Service Pack 2 für Windows XP, das auch fester Bestandteil der Media Center Edition 2005 ist, hat ein Problem mit Stromspar-Funktionen von Mehrkern-Prozessoren. Laut Artikel 896256 der Online-Support-Datenbank von Microsoft (Knowledge Base) ist die Ursache des Fehlers ziemlich kompliziert: Das Problem tritt auf Computern mit mehr als einem Prozessor(-Kern) auf, wenn diese Kerne auch noch über Stromspar-Funktionen verfügen. Das ist bei fast allen der neuen Doppelkern-Desktop-Prozessoren (Athlon 64 X2, Pentium D) der Fall. Die Energiespar-Techniken (etwa Cool and Quiet und PowerNow! von AMD oder Intels Enhanced SpeedStep Technology/EIST beziehungsweise Demand-based Switching/DBS) können im laufenden Betrieb die Taktfrequenzen der vorhandenen Prozessorkerne variieren. Um diese Sparfunktionen bei Systemen mit zwei Prozessoren, einem Prozessor mit zwei Kernen oder zwei Prozessoren mit jeweils zwei Kernen nutzen zu können, ist laut Microsoft das Service Pack 2 von Windows XP zwingend erforderlich. Es ist in neueren Windows-XP-Versionen (Home oder Professional Edition) bereits enthalten, ebenso wie in Windows XP Media Center Edition 2005.

Dummerweise können aber Fehler auftreten, vor allem wenn ein einzelner Code-Thread zwischen mehreren Prozessorkernen wechselt. Dieses Verhalten ist zwar völlig normal und gehört zu den typischen Eigenschaften des so genannten Schedulers des Windows-XP-Kernels. Einer der Fehler ist jedoch, dass bei diesem Wechsel von Core zu Core der jeweilige Kern versehentlich im falschen Energiezustand (Power State) läuft, weil sich Windows bei der Einstellung dieses P-States vertut. Die Anwendung läuft dann abwechselnd auf Kernen mit unterschiedlicher Taktfrequenz.

Ein weiteres Problem betrifft den Time Stamp Counter (TSC), weil verschiedene Anwendungen über verschiedene Windows-Timer-APIs oder sogar direkt auf die unterschiedlichen System-Timer (wie den ACPI Power Management Timer oder den HPET) zugreifen.

Das Dual-Core-Stromspar-Problem ist für Microsoft und Intel etwas peinlich, weil Intels kommende Digital-Home-Plattform "Viiv" genau auf solchen Doppelkern-Prozessoren und Windows Media Center Edition aufbaut. Intel hatte bereits auf dem IDF im Frühjahr einen kompakten Wohnzimmer-PC mit dem Doppelkern-Stromspar-Prozessor Yonah gezeigt. Außerdem bietet Intel eine Reihe von Software-Entwickler-Werkzeugen für Multi-Thread-Software an, darunter etwa die Threading Tools, die ähnliche Probleme finden sollen -- anscheinend nutzt Microsoft diese bisher nicht.

Der Dual-Core-Bug wirft auch ein neues Schlaglicht auf das Problem, dass die verfügbare Software kaum noch mit den Entwicklungen der CPU-Architektur Schritt halten kann. So setzen sich beispielsweise auch Befehlssatz-Erweiterungen wie SSE, SSE2, SSE3 oder AMD64/EM64T/x86-64 nur sehr langsam durch.

Microsoft kündigt in dem eingangs verlinkten Support-Artikel einen "Hotfix" an, doch den erhalten von Microsoft zunächst nur Besitzer einer Vollversion -- Inhaber einer OEM-, System-Builder- oder Recovery-Version müssen auf das nächste Service Pack warten oder ihren PC-Verkäufer fragen. Im Rollup 2 für (aktivierte Versionen der) Windows Media Center Edition (MCE) 2005 scheint der Patch nicht enthalten zu sein, auch das Update Rollup 908250 zum Rollup 2 enthält ihn wohl nicht.

Im c't-Labor traten auf einem AMD64-PC mit Windows MCE 2005 (und Rollup 2) Bildfehler bei der TV-Wiedergabe auf, sobald ein Athlon-64-Doppelkern im System steckte (Athlon 64 X2 3800+, Hauppauge WinTV PCR150 MCE, GeForce 6600, Asus A8N SLI Premium, 1 GByte RAM, DVD-Software-Decoder WinDVD 6.0). Tatsächlich lief auch der Media-Center-Prozess auf beiden CPU-Kernen. Duch gezieltes Auslasten eines Prozessorkerns reduzierte sich der Fehler. Es gelang leider nicht, diesen Prozess per Task Manager fest an einen bestimmten CPU-Kern zu binden (CPU Affinity), denn der Prozess läuft mit den Rechten des Nutzers "System". Möglicherweise lässt sich die CPU-Affinität der problematischen Prozesse mit dem Tool imagecfg.exe dauerhaft ändern, doch das ist für die meisten Anwender nicht möglich, weil sie an dieses Utility gar nicht erst herankommen (und seine Bedienung etwas kryptisch ist). Als praktikabler Trick bleibt, die Stromspar-Funktion des Prozessors abzuschalten: Wenn man in den "Energieoptionen" das Energieschema "Dauerbetrieb" statt "Minimaler Energieverbrauch" wählt, so verschwinden die Bildfehler. Allerdings schluckte der Rechner bei der TV-Wiedergabe dann 115 statt 93 Watt -- 22 Watt gehen also sinnlos verloren.

Die Stromspar-Funktionen neuerer (Mobil-)Prozessoren scheint Microsoft überhaupt recht schwer in den Griff zu bekommen. Ein Update war auch schon für den Mobile Pentium 4-M mit Hyper-Threading nötig. Um Cool and Quiet überhaupt nutzen zu können, benötigt man einen Windows-Treiber von AMD; für Intels Enhanced SpeedStep enthält Windows XP SP2 bereits den Treiber. (ciw)