Hyper-Threading ausschalten - Frage

eightcore

Lt. Commander
🎅Rätsel-Elite ’24
Registriert
Juli 2008
Beiträge
1.689
Guten Morgen.

Da ich keine Anwendungen verwende, welche meinen i7 zu 100 Prozent auslasten, aber viele Applikationen, welche nur in einem Thread laufen, habe ich Hyper-Threading mal deaktiviert.
Der Grund dieser Entscheidung liegt darin, dass eine Ein-Thread-Anwendung bei aktiviertem HT nur höchstens 12.5 % der CPU-Leistung abkriegt, während bei deaktiviertem HT bis zu 25 % möglich sind.
Davon würde ich viel stärker profitieren als von aktiviertem HT.

Nun die Frage: Stimmt diese Überlegung oder habe ich etwas missachtet? Ich habe meine Behauptung noch nie gehört bzw. gelesen, deshalb möchte ich nachfragen.


MfG | eightcore
 
Hi,
ich gehe mal davon aus das du einen quad-core besitzt. Bei deaktiviertem HT werden dir im Taskmanager 4 Kerne angezeigt, daraus folgt eine maximale Auslastung von 25%, wenn du jedoch HT aktivierst sind es 8 "Kerne" im Taskmanager was zu einer 12,5% Auslastung führt. Unterm Strich ist immer ein Kern zu 100% Ausgelastet. Ich würde daher keinen Grund sehen den HT auszuschalten.
 
die CPU Leistung wird gleich bleiben nur die Abwärme geht um ein paar Grad runter
 
lass HT an , du hast dafür mehr bezahlt, also nutze es auch :D
 
Es gibt keine Grund HT abzuschalten, denn jedes aktuelle OS kann damit richtig umgehen. Wo dein Denkfehler liegt hat Trollolol ja schon erklärt.

Mach es wieder an, dann hast du wenigstens etwas davon wenn wirklich mal alle Kerne genutzt werden können.
 
Um das Optimum für eine Ein-Thread Anwendung herauszuholen müsstest du diese eine Anwendung an einen Kern fest binden. Das geht ist aber umständlich. Dann könnte sich die CPU das Herumschieben der Anwenung zwischen den Kernen sparen und den Overhead reduzieren.

Wenn dir das aber zu viel Arbeit ist, lass alles so wie es ist. Win 7 holt automatisch das Beste aus der HW raus.
 
öhm, das kann ich so nicht bestätigen. Hab einen i7-2700K @ 4,2 GHz mit Win7 64bit und dort werden alle Kerne benutzt, auch die HT Kerne. Vielleicht mal das OS wechseln, und auf 64 bit wechseln.
 
Hallo,

die Rechnung mit dem HT stimmt zwar nicht ganz (pro kern 2x die x GHz) aber trotzdem hast du einen Denkfehler:

- mit HT hast du 8x x GHz die deine 100% darstellen: 1x x GHz sind als 12,5%
- ohne HT hast du 4x x GHz die 100% darstellen: 1x x GHz sind jetzt natürlich 25%

schneller ist ein Kern/Thread mit x GHz deswegen ja trotzdem nicht. Du glaubst nur deiner Statistik die du selbst gefälscht hast :=)

Gruß,
d2boxSteve
 
Wenn bei Hyperthreading der "wahre" Kern ausgelastet ist, bringt der virtuelle kaum noch Leistung.
Das Hyperthreading ist nur da, um die Übrige Leistung eines Kernes parallel zur Verfügung zu stellen.
Also mit ausgeschaltetem HT wirst du keinen Leistungsgewinn haben, auch nicht bei 1-Thread Anwendungen.
 
Stimmt so nicht, wie oben schon erwähnt.
Wenn du nur einen Kern aktivierst, bekommst deine Anwendung im optimum 100%,
läuft dadurch aber auch nicht schneller ab. =)
 
Du sparst bis zu 10W Strom bei 100% Belastung (alle 4Kerne) - von daher gibt es also auch Vorteile.
 
Dafür ist die Berechnung mit aktiviertem HT schneller fertig und die CPU kann früher wieder in idle gehen... Effizienter ist es also mit HT.
 
eightcore schrieb:
Der Grund dieser Entscheidung liegt darin, dass eine Ein-Thread-Anwendung bei aktiviertem HT nur höchstens 12.5 % der CPU-Leistung abkriegt, während bei deaktiviertem HT bis zu 25 % möglich sind.

Die Beobachtung ist richtig, die Schlussfolgerung ist quatsch.

Bau dir doch einen Single Core ein, dann hast du 100% Auslastung und es ist dann am schnellsten ;-)
Achtung, Ironie und so......


Ob 12,5% beim 8 Thread System, oder 25% beim 4 Thread System bedeutet in beiden Fällen eine Vollauslastung eines Kerns.

Schalte HT doch ab und teste erneut. Der Taschenrechner calc.exe ist auch single threaded. Berechne eine große Fakultät und sieh dir im Taskmanager die CPU Sekunden an. Egal ob mit HT oder ohne, die Sekunden werden gleich sein.
 
Bagbag schrieb:
Das Hyperthreading ist nur da, um die Übrige Leistung eines Kernes parallel zur Verfügung zu stellen.

Ich habe mir das Handling zwischen logischem und physischem Kern anders vorgestellt. Nämlich dachte ich, dass einem logischen Kern höchstens die Hälfte der Rechenleistung des physischen Kerns zur Verfügung gestellt werden kann.
Der zitierte Satz schafft Klarheit. Vielen Dank, Bagbag und auch an alle anderen.
 
Man muss sich HT etwas anders vorstellen. Das sind nicht jeweils ein "echter" und ein "logischer" oder "virtueller" Core. Beide Cores sind gleich "echt" uoder gleich "logisch" bzw. gibt es auch mit Hyperthreading in Wirklichkeit nur einen Core.

Ich glaube von Intel selbst kam das Beispiel mit einer Fabrikhalle:
Ein CPU-Core ist wie eine Fabrikhalle. Mit HT hat man an dieser Halle dann jeweils zwei Eingänge und Ausgänge, statt nur einem. Dadurch können die Förderbänder und Maschinen (Recheneinheiten) in der Halle (Core) in einigen Fällen dann etwas besser ausgelastet werden.

Dass HT dem Betriebsystem zwei Cores vorgaukelt, ist mehr oder weniger nur ein Trick, mit dem man das OS dazu bringt, die beiden "Eingänge" eines Cores mit verschiedenen Threads zu versorgen.
So kommen dann aber stark missverständliche Werte zur CPU-Auslastung z.B. im Taskmanager zu Stande.
 
Zurück
Oben