Hyper-Threading - ja oder nein?

08/08/2011 - 13:50 von Andreas M. Kirchwitz | Report spam
Hallo Linux-User!

Vielleicht gibt es auf die Frage keine abschließende Antwort, aber
will man heutzutage unter Linux Intels Hyper-Threading an- oder ab-
schalten?

Gegeben sei eine 1-Kern-CPU mit der Option für Hyper-Threading.
Das làuft unter Fedora 14 mit Kernel 2.6.35.13-92.fc14.i686.

Linux scheint mehrere Prozesse gut auf den einen Kern verteilen
zu können. Mit aktiviertem Hyper-Threading wird es auch bei
Überlast nicht merklich "flüssiger" oder "geschmeidiger",
wie das zum Beispiel Windows gern nachgesagt wird.

Im Gegenteil, man hat eher das Gefühl, dass das System ohne HT
insgesamt runder und gleichmàßiger làuft.

Bedenklich finde ich, dass z.B. "openssl speed" bei einigen
Tests mit aktiviertem Hyper-Threading total einbricht. Woran
liegt das?

Einerseits gaukelt HT dem OS mehr CPU-Ressourcen vor, als es in
Wahrheit gibt. Das könnte ein OS, dass ansonsten mit mehreren CPUs
oder CPU-Kernen sehr gut umgehen kann, völlig aus dem Tritt bringen.

Andererseits wirbt Intel damit, HT könne die CPU-internen Ressourcen
viel besser verwalten und mehrere Prozesse viel besser bedienen, als
ein OS das könne.

Im Netz findet man meist den Ratschlag, unter Linux/Unix solle man
ruhig einschalten, da es keine Nachteile bringe und im Zweifelsfall
eher Vorteile habe. Wie man an "openssl speed" sieht, kann HT aber
massive Nachteile haben, jedoch erkennbare Vorteile konnte ich bisher
nicht ausmachen.

Okay, ich kann nun HT einfach abschalten und glücklich sein, aber
ich würde schon gern verstehen, warum unter Windows XP/Vista/7
HT angeblich so einen enormen Performance-Boost bringt (insbesondere
auf den schwachbrüstigen Atom-Netbooks), aber warum HT unter Linux
wenig überzeugend ist.

Gibt es verschiedene Implementierungen von HT? Verhàlt sich HT in
den kleinen Atom-CPUs anders als in Desktop- oder Server-CPUs?

Viele Grüße, Andreas
 

Lesen sie die antworten

#1 Uwe Premer
08/08/2011 - 14:02 | Warnen spam
Andreas M. Kirchwitz schrieb am 08.08.2011 13:50 Uhr:
Hallo Linux-User!



Auch, aber nicht nur.

Gegeben sei eine 1-Kern-CPU mit der Option für Hyper-Threading.
Das làuft unter Fedora 14 mit Kernel 2.6.35.13-92.fc14.i686.



Laut Wikipedia.de muß das OS SMP-fàhig sein, also bei Linux muß ein
smp-Kernel vorhanden sein.
Und nur dann habe HT ein Vorteil gegenüber Single-Threading.

Bei Ubuntu lese ich dann ausserdem, dass HT manchmal nicht
mitinstalliert/eingeschaltet wird, man könne dies aber spàter nachholen.
Man solle zuerst mit "cat /proc/cpuinfo" prüfen, ob ein
Single-Kern-Prozessor vorliegt, und wenn ja, dann eben ht=on oder acpi=ht
als Boot-Parameter für den Kernel hinzufügen.
Aber es sei nicht jeder Prozessor, der das ht-Flag beim CAT-Kommando
anzeige, auch wirklich ht-fàhig.

Okay, ich kann nun HT einfach abschalten und glücklich sein, aber
ich würde schon gern verstehen, warum unter Windows XP/Vista/7
HT angeblich so einen enormen Performance-Boost bringt (insbesondere
auf den schwachbrüstigen Atom-Netbooks), aber warum HT unter Linux
wenig überzeugend ist.



Intel zumindest lobt auf
<http://www.ibm.com/developerworks/l...l-htl/> das HT.

Uwe

Ähnliche fragen