ComputerBase

Bericht: Hyper-Threading: Windows XP vs. Windows 2000

von Thomas Hübner

Vorwort

Vor über einem Jahr [1] stellte Intel mit den neuen Xeon-Prozessoren auf Basis des in 0,13µm gefertigten Prestonia-Kerns eine Technologie vor, welche den Prozessor in die Lage versetzt, zwei Threads parallel zu verarbeiten. Hierbei sollte es sich natürlich nicht um den letzten Prozessor handeln, der mit der sogenannten Hyper-Threading-Technologie [2] ausgerüstet ist. So wurde Hyper-Threading erstmalig und doch für viele überraschend beim 3,06 GHz Pentium 4 [3] vor gut einem halben Jahr auch für Desktop-Computer aktiviert. Mittlerweile gibt es zusammen mit den neuen 800 MHz Frontside-Bus [4] Pentium 4 Prozessoren insgesamt fünf CPUs mit aktivem Hyper-Threading (HT). Dies alleine reicht jedoch nicht aus, um HT nutzen zu können; auch das Betriebssystem muss diese Technologie beherrschen.

Da sich HT dem Betriebssystem gegenüber wie ein Dual-Prozessor-System offenbart, es bedarf auch nach einem Betriebssystem mit Dual-Prozessor-Support. Diesen Support bieten hierbei bekanntlich Windows 2000 Professional und Server, Windows XP Professional sowie Windows Server 2003 (ehemals Windows .NET) und natürlich ältere Windows NT basierende Betriebssysteme.

Laut Intel ist der Hyper-Threading-Support für die Desktop-Prozessoren allerdings nur in Windows XP Home Edition und Professional integriert. Die Nutzung von Windows 2000 Professional wird nicht empfohlen. Dies ist insofern verwunderlich, da die ersten Xeon Prozessoren von Intel mit Hyper-Threading eine ganze Weile mit Windows 2000 Server als Betriebssystem auskommen mussten. Schließlich wurde die neue, auf Windows XP basierende Serverversion, Windows Server 2003, erst im April dieses Jahres zum Verkauf freigegeben. Wenn Windows 2000 Server also lange Zeit mit HT-Prozessoren zusammenarbeiten durfte, warum sollte Windows 2000 Professional mit ihnen nicht zusammenarbeiten können? Bietet Windows 2000 gar die gleiche Performance mit HT wie Windows XP? Wir haben Windows 2000 Professional SP3 gegen Windows XP Professional SP1 auf einem System mit und ohne aktiviertem Hyper-Threading antreten lassen.

Grundlagen

Die Idee von Hyper-Threading [1] kommt eigentlich aus dem Serverbereich, wo häufig Rechnersysteme mit mehr als nur einem Prozessor zum Einsatz kommen. Mit zwei Prozessoren ist es z.B. möglich, zwei Threads (Kleinster ausführbarer Teil eines Tasks) pro Taktzyklus zu verarbeiten, da jede CPU unabhängig mit Aufgaben beschäftigt werden kann. Wenn eine Anwendung vom Programmierer in mehrere Threads aufgeteilt wurde, lässt sich so die Geschwindigkeit deutlich steigern, wenn nicht sogar nahezu verdoppeln.

Die Hyper-Threading Technologie ist hierbei nichts anderes, als die Technik, die dieses simultane Multi-Threading in einem einzigen physikalischen Prozessor (mit Einschränkungen) ermöglicht. Dieser eine Prozessor spaltet sich somit in zwei logische Prozessoren auf, wobei sich die beiden logischen/virtuellen Prozessoren einen Teil der physischen Ausführungs-Ressourcen teilen. Ziel ist es, die vorhanden Ressourcen effektiver auszunutzen. Doch da spielt, wie bereits erwähnt, natürlich auch das Betriebssystem eine entscheidende Rolle. Laut Intel wird HT der Desktop-Prozessoren nur unter Windows XP (Home oder Professional) oder Linux ab Kernel-Version 2.4.18 unterstützt. Allerdings hat sich Microsoft bezüglich Hyper-Threading auch eigene Gedanken gemacht, und hat diese in einem Word-Dokument [5] veröffentlicht.

Zitat:

Although Windows 2000 is compatible with Hyper-Threading Technology, we expect customers will get the best performance from Hyper-Threading Technology using Windows .NET Server. This is because the Windows .NET Server Family is engineered to take full advantage of the logical processors created by Hyper-Threading Technology.

Wer also das volle Potential von Hyper-Threading aus nutzen möchte, der braucht laut Microsoft den Windows XP basierenden Windows .NET Server, welcher inzwischen mit der Bezeichnung Windows Server 2003 im Handel erhältlich ist. Somit empfiehlt also auch Microsoft den Einsatz von Windows XP basierenden Produkten, wenn es um den Einsatz Intels neuer Technologie geht. Allerdings könnte man an dieser Stelle natürlich auch eine verkaufszahlenorientierte Intention implizieren. Doch es gibt in der Tat Unterschiede bei der Erkennung von Dual-Prozessor-System zwischen Windows 2000 und Windows XP.

Zitat:

Because Windows 2000 Server does not distinguish between physical and logical processors, Windows 2000 simply fills out the license limit using the first processors counted by the BIOS. […] In contrast, Windows .NET Server distinguishes between logical and physical processors, regardless of the way they“re counted by the BIOS.

Windows XP ist also erstmalig in der Lage zwischen virtuellen und physischen Prozessoren zu unterscheiden. Deshalb ist es z.B. auch mit Windows XP Home Edition möglich, einen Prozessor mit HT-Support erfolgreich zu nutzen, wenngleich die Home Edition an für sich nur eine reale CPU unterstützt. Doch dies bedeutet natürlich noch lange nicht, dass es Leistungsunterschiede zwischen Windows 2000 und Windows XP beim Einsatz von HT gibt.

Testsystem

Als Testsystem haben wir Intels derzeit schnellsten Pentium 4 Prozessor mit 3,00 GHz und einem 800 MHz schnellen Frontside-Bus gewählt, welcher auf einem Asus P4C800 Deluxe mit i875P (Canterwood) Chipsatz zu Werke gehen durfte. Als Betriebssystem diente uns zum einen Windows XP Professional mit installiertem Service Pack 1 und Windows 2000 Professional, wo man inzwischen beim dritten Service Pack angelangt ist.

Somit durften beide Betriebssysteme auf der selben Plattform zeigen, wie gut sie das Potential von Hyper-Threading entfesseln können.

Benchmarks

Für Tests haben wir die üblichen Prozessor-Tests genutzt, die sich bei uns [7] inzwischen etabliert haben. Getestet wurde mit den üblichen Settings, die ihr in jedem aktuellen Prozessortest erfahren könnt. Es ging uns übrigens nicht darum, die Möglichkeiten von Hyper-Threading zu präsentieren, schließlich haben wir uns mit diesem Thema schon in einem älteren Artikel [8] beschäftigt, vielmehr ging es uns lediglich um die Performance einiger Anwendungen unter Windows 2000 und Windows XP, wenn Hyper-Threading im Bios des Rechners aktiviert ist.

Theorie

Beginnen möchten wir mit synthetischen Benchmarks, welche uns zumindest in der Theorie das Potential von Hyper-Threading zeigen.

Sandra 2003 Speicherdurchsatz

Windows 2000 ohne HT
5.055
Windows XP ohne HT
5.050
Windows 2000 mit HT
5.045
Windows XP mit HT
5.030
Angaben in Megabyte pro Sekunde (MB/s)

Beim Speicherdurchsatz liegen beide Betriebssysteme nahezu gleich auf. Allgemein schwanken hier die Ergebnisse immer innerhalb einer bestimmten Bandbreite.

Sandra 2003 Arithmetic

 Dhrystone:
Windows 2000 mit HT
9.186
Windows XP mit HT
9.136
Windows XP ohne HT
7.669
Windows 2000 ohne HT
7.530
 Whetstone:
Windows 2000 mit HT
5.769
Windows XP mit HT
5.743
Windows 2000 ohne HT
3.974
Windows XP ohne HT
3.952
Angaben in Punkten

Sandra 2003 Multimedia

 Integer:
Windows XP mit HT
13.910
Windows 2000 mit HT
13.897
Windows XP ohne HT
11.971
Windows 2000 ohne HT
11.965
 Floating-Point:
Windows XP mit HT
22.067
Windows 2000 mit HT
22.048
Windows 2000 ohne HT
15.227
Windows XP ohne HT
15.221
Angaben in Punkten

Auch der Arithmetic und Mutlimedia-Test kann keine Unterschiede zwischen beiden Betriebssystemen aus machen. Die Leistung steigt in beiden Fällen durch den Einsatz von Hyper-Threading drastisch.

PCMark2002

 CPU Mark:
Windows 2000 ohne HT
7.530
Windows XP mit HT
7.460
Windows XP ohne HT
7.407
Windows 2000 mit HT
5.565
 RAM Mark:
Windows 2000 ohne HT
9.730
Windows XP mit HT
9.620
Windows XP ohne HT
9.587
Windows 2000 mit HT
9.368
Angaben in Punkten

Beim Futuremark PCMark2002 gab es die erste Überraschung: Windows 2000 bricht mit aktivierten Hyper-Threading deutlich ein. Bleibt Hyper-Threading aus, so geht die Performance vollkommen in Ordnung.

Anwendungen

Beim Einsatz synthetischer Tests konnten wir erstmals mit PCMark2002 einen deutlichen Performance-Nachteil von Windows 2000 Pro gegenüber Windows XP Pro ausmachen. Letztendlich ist jedoch die Anwendungs- und Gameleistung entscheidend, mit der wir uns im Folgenden näher beschäftigen wollen.

Cinema 4D XL R8

Windows XP mit HT
01:26
Windows 2000 mit HT
01:33
Windows XP ohne HT
01:34
Windows 2000 ohne HT
01:37
Angaben in Minuten, Sekunden

Cinema4D XL R8 ist einer der klassischen Benchmarks, die klar von Hyper-Threading profitieren können. Allgemein kann Windows 2000 hier zwar nicht mit Windows XP mithalten. Mit HT lässt sich die Leistung allerdings auch unter Windows 2000 steigern.

Seti@Home

Windows XP mit HT
1:30
Windows 2000 mit HT
1:30
Angaben in Stunden, Minuten

Beim Test mit Seti@Home, bei der jede virtuelle CPU eine Workunit berechnen darf, ergibt sich kein Leistungsunterschied zwischen Windows XP und Windows 2000. Unter beiden Betriebssystemen benötigt das aktuelle Highend-System von Intel 3:02 Stunden für zwei oder 1:31 Stunden für eine Workunit.

Lame 3.91

Windows XP mit HT
01:06
Windows XP ohne HT
01:06
Windows 2000 ohne HT
01:06
Windows 2000 mit HT
01:26
Angaben in Minuten, Sekunden

Der Audio-Encoder Lame bricht unter Windows 2000 mit HT überraschend recht deutlich ein. Hier fehlen plötzlich 20 Sekunden zur Spitze.

WinACE 2.11

Windows 2000 ohne HT
02:30
Windows XP mit HT
02:31
Windows XP ohne HT
02:31
Windows 2000 mit HT
02:59
Angaben in Minuten, Sekunden

WinRAR 3.11

Windows 2000 ohne HT
01:00
Windows XP mit HT
01:04
Windows XP ohne HT
01:04
Windows 2000 mit HT
01:14
Angaben in Minuten, Sekunden

Auch beim Komprimieren von Dateien macht Windows 2000 mit HT keine gute Figur. Hier muss man sich deutlich geschlagen geben. Bleibt HT dagen unter Windows 2000 aus, so ist es für diese Aufgabe sogar schneller als Windows XP.

Games

In Anwendungen scheint es so, als müsste man als überzeugter Besitzer von Windows 2000 lieber auf Hyper-Threading verzichten. Diese Empfehlung scheint auch auf Spiele zuzutreffen.

3DMark 2001 SE

Windows 2000 ohne HT
15.210
Windows XP mit HT
15.152
Windows XP ohne HT
15.038
Windows 2000 mit HT
13.875
Angaben in Punkten

Comanche 4

Windows 2000 ohne HT
63,43
Windows XP mit HT
63,37
Windows XP ohne HT
63,13
Windows 2000 mit HT
52,97
Angaben in Bildern pro Sekunde (FPS)

Unreal Tournament

Windows XP mit HT
81,09
Windows 2000 ohne HT
80,80
Windows XP ohne HT
79,01
Windows 2000 mit HT
70,40
Angaben in Bildern pro Sekunde (FPS)

Unreal Tournament 2003

 1024x768x32 Flyby:
Windows XP mit HT
182,92
Windows XP ohne HT
182,85
Windows 2000 mit HT
175,76
Windows 2000 ohne HT
163,73
 1024x768x32 Botmatch:
Windows 2000 ohne HT
82,22
Windows XP mit HT
81,99
Windows XP ohne HT
79,01
Windows 2000 mit HT
68,39
Angaben in Bildern pro Sekunde (FPS)

Quake 3 Arena 1.31

 1024x768xMax:
Windows 2000 ohne HT
324,80
Windows XP mit HT
323,20
Windows XP ohne HT
322,70
Windows 2000 mit HT
302,30
Angaben in Bildern pro Sekunde (FPS)

Allgemein kann Windows 2000 mit Hyper-Threading keinen Blumentopf gewinnen. Offensichtlich scheint Windows 2000 in der Tat Probleme mit dem Umgang von virtuellen Prozessoren zu haben.

Fazit

Abschließend lässt sich somit sagen, dass man als Besitzer einer Hyper-Threading-fähigen CPU auf jeden Fall auf Windows XP setzen sollte. Auch Windows 2000 weiß ohne Abstürze mit dieser Technologie umzugehen, muss dabei jedoch stellenweise erhebliche Leistungseinbrüche hinnehmen. Bleibt Hyper-Threading dagegen im Bios deaktiviert, so kann Windows 2000 in einem gehörigen Teil unserer Benchmarks punkten. Allerdings sollte man nicht vergessen, dass sich alle Vorteile von Hyper-Threading nicht immer durch Benchmarks aufzeigen lassen.

URL-Liste:

  1. http://www.computerbase.de/news/hardware/prozessoren/intel/2002/januar/intel_013_xeon/
  2. http://www.computerbase.de/artikel/hardware/prozessoren/was_hyperthreading/
  3. http://www.computerbase.de/artikel/hardware/prozessoren/intel_pentium_4_3066_mhz/
  4. http://www.computerbase.de/artikel/hardware/prozessoren/pentium_4_30_ghz_800_mhz_frontsidebus/
  5. http://www.microsoft.com/windows2000/docs/hyperthreading.doc
  6. http://www.computerbase.de/artikel/hardware/mainboards/der_canterwood_pruefstand/
  7. http://www.computerbase.de/artikel/
  8. http://www.computerbase.de/artikel/hardware/prozessoren/intel_pentium_4_hyperthreading_spezial/
Copyright © 1999–2009 ComputerBase GmbH