Bugreport: Nehalem plus Hyper-V ergibt Bluescreen

Bei Intel scheint man derzeit an eine Beseitigung des Problems nicht zu denken. Ein November-Update (PDF) der Spezifikation für die Xeon-3400-Serie listet den Bug unter der Bezeichnung AAO89 auf. Erneut heißt es dort: „Intel hat dieses Erratum bei keiner kommerziell verfügbaren Software beobachtet“. In der Zwischenzeit sollte man jedoch davon ausgehen können, dass sich das Problem mit Nehalem und Hyper-V bis zu Intel herumgesprochen hat.

Wenngleich das Problem offensichtlich von Intel verursacht wurde, muss man feststellen, dass auch Microsoft beim Design von Hyper-V nicht alles richtig gemacht hat. Die Verwendung des APIC als Zeitquelle hatte in der Vergangenheit immer wieder zu Problemen geführt. Ausgerechnet Microsoft legte das bereits im September 2002 überzeugend dar.

Microsoft hatte damals die Einführung eines neuen Timer-Bausteins gefordert, der vollkommen unabhängig von der CPU arbeitet. Damals ging es nicht um Virtualisierung, sondern um Multimedia-Anwendungen.

In dem Dokument heißt es: „Der Advanced Programmable Interrupt Controller (APIC) beinhaltet viele Eigenschaften der Echtzeituhr [des IBM AT aus dem Jahr 1984]. Er wurde entwickelt, um mehrere Prozessoren synchron zu halten. Er verfügt nur über eine niedrige Auflösung, und das Silizium dieser Uhr ist manchmal ziemlich buggy. Entscheidender ist jedoch, dass der Timer in einigen Implementierungen durch das Power-Management angehalten wird, was ihn als zuverlässige Zeitquelle unbrauchbar macht. Er wird daher nur selten verwendet.“

Ein Softwareentwicklungsleiter mit ein wenig Erfahrung hätte daraus durchaus schließen können, dass man sich auf Komponenten besser nicht verlassen sollte, bei denen schon öfter „Errata“ dokumentiert wurden und die durch neue Power-Management-Methoden, etwa Deep Sleep einzelner Cores oder Turbo-Modi, nicht vorsehbare Nebeneffekte zeigen.

Der von Microsoft und Intel gemeinsam entwickelte High Performance Event Timer (HPET) ist auf jedem modernen PC vorhanden. Da Hyper-V ohnehin nur auf Prozessoren mit Hardwarevirtualisierungsunterstützung läuft, kann man davon ausgehen, dass jeder Rechner, auf dem Hyper-V grundsätzlich lauffähig ist, auch über einen HPET-Baustein verfügt.

Ganz so einfach darf man es sich jedoch nicht machen. Die Verwendung des APIC-Timers, der jeweils lokal auf jedem Core vorhanden ist, hat durchaus Vorteile bei der Virtualisierung. Nutzt man ihn, so muss man sich jedoch über mögliche Konsequenzen im Klaren sein. Die Hypervisor-Hersteller halten Details darüber, wie sie welche Timer-Bausteine verwenden, unter Verschluss. Fakt ist jedoch, dass Konkurrent VMware keine Stabilitätsprobleme beim Einsatz von Nehalem-Prozessoren hat, sei es durch geschickte Umgehung des dokumentierten Bugs oder durch Verwendung anderer Timer-Mechanismen an kritischen Stellen.

Themenseiten: Intel, Microsoft, Nehalem, Prozessoren, Security-Analysen, Server, Servers, Storage, Storage & Server, Virtualisation, Virtualisierung

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Bugreport: Nehalem plus Hyper-V ergibt Bluescreen

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *