Performance optimieren: HyperThreading deaktivieren?

KeepXtreme

Lt. Commander
Registriert
Sep. 2008
Beiträge
1.402
Hallo Leute,

Bevor alle protestieren: Ja, ich weiß, dass HyperThreading die Gesamtleistung des Systems durch bessere Ausnutzung von Ressourcen steigert. Und jetzt bitte weiterlesen...

Was mich interessiert ist, wie sich die Leistung von Programmen auf Core i-CPUs verändert, wenn HyperThreading deaktiviert wird?
Hintergrund: Gerade im professionellen Bereich gibt es leider sehr häufig Software (wie z.B. CAD-Anwendungen), die nur einen Kern auslasten jedoch die ganze Zeit zwischen den logischen Kernen springen (Z.B. 12-16% Systemlast auf einem 7700K während die Anwendung ca. 30min vor sich hin rechnet und dabei auch keine Eingaben möglich sind). Da diese Anwendungen meist der einzige Leistungsfresser sind sehe ich hier keine Engstelle beim deaktivieren von HT... Da ist natürlich jedes % mehr Leistung für das Programm bares Geld...

Nun zu meiner Frage: kennt jemand aktuelle Tests, die so etwas untersuchen oder hat damit jemand selber Erfahrungen gemacht? Könnte so etwas eventuell etwas mehr Leistung bringen?
 
Ich kenne das Cad Problem von der Arbeit nur zu gut.
Alle Threads schlummern, Einer ist auf Vollanschlag.
Ob Ht an oder aus wird gar nicht so viel bringen, aber ggf. entsprechend schneller RAM.
Gerade im absolutem CPU Limit, ist schneller RAM sehr viel Wert und kann Unterschiede von bis zu 7-15% je nach Ausgangssituation bringen.

3200er 14CL RAM ist der derzeitige P/L Sweetspot

Was für RAM hast du denn installiert?
 
Laß eine Berechnung deines verwendeten Programms mit aktiviertem Hyperthreading laufen und stoppe die Zeit.
Laß die gleiche Berechnung deines verwendeten Programms mit deaktiviertem Hyperthreading laufen und stoppe die Zeit.

Vergleiche beide Zeiten.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Stuntmace, tony_mont4n4 und Mydgard
Ich frage mich warum es aktuelle Tests mir irgendwelchen Programmen braucht, wenn es speziell um ein bestimmtes Programm geht. Bei HT war es doch schon immer so das einige Programme reagieren und andere nicht. Da wir keine Ahnung haben um welches Programm es geht, haben wir auch keine Ahnung was Du Dir von Tests die keine CAD-Programme beinhalten bringen würden. Lass doch das Kind mal in den Brunnen fallen. Vielleicht findest Du dann auch jemanden der genau damit Erfahrungen gemacht hat.

Ich würde ja drauf tippen das es keinen Unterschied gibt.
Wenn ein Programm nicht mehr Threads, als das System ohne HT hat, benutzt. Dann ändert das Abschalten nix.
Nutzt aber ein Programm mehr Threads, als man ohne HT hätte, dann würde das Abschalten Leistungseinbußen herbeiführen.

Hier mal als Beispiel ein Game. PUBG nutzt 4 Kerne. Man achte auf die FPS wenn ich HT und Kerne abschalte.
Da passiert gar nix bis ich bei 4 Kernen angekommen bin.

 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Bob.Dig und coasterblog
CAD Benchmarks sind leider Mangelware im Internet.
Mich würde das Thema auch interessieren.

Das kann man auch nicht verallgemeinern. Jede CAD-Software verhält sich anders. Ich habe z.B. bei AutoCAD noch nie eine Auslastung auf mehr als drei Kernen beobachtet (und limitieren tut immer die Single Core Performance). Ich hatte auch schonmal den Eindruck, dass HT in AutoCAD eher kontraproduktiv ist.

Wenn jemand Zahlen hat nur her damit.
 
Ja, nach wie vor kann HT in einigen Fällen die Performance verschlechtern. Meistens tut es das aber nicht und auch eine Single-Thread-Last ist nicht das Problem.

Hier sind Benchmarks von Spielen: https://www.techpowerup.com/forums/...ing-test-2018-update-with-gtx-1080-ti.248471/
Man sieht, Doom z.B. bricht mit HT stark ein. Auch ein paar andere Spiele verlieren Leistung.

Hier sind optimierte Software unter Linux: https://www.phoronix.com/scan.php?page=article&item=intel-ht-2018
HT ist immer im Vorteil.

Man muss also wirklich die entsprechende Anwendung testen, um sicher zu sein.
 
Aktuelle Betriebssysteme (aktueller Patchlevel) wissen welche Kerne physisch vorhanden sind und welche nur virtuell. Wenn wirklich nur wenige Threads laufen, werden diese Threads auf die physischen Kerne verteilt. Das Einzige was dann noch gemacht wird, ist dass die Threads bei Gelegenheit immer mal wieder den physischen CPU Kern wechseln (solang man sie nicht pinnt, was aber meist keine gute Idee ist).

Problematisch wird es, wenn das Betriebssystem / Treiber veraltet sind und damit das OS kein Wissen über den Aufbau der CPU hat oder irgend ein Programmierer sich mal wieder für schlau gehalten hat und am Sheduler des Betriebssystems vorbei Prozesse pinnt -.-
 
GERmaximus schrieb:
3200er 14CL RAM ist der derzeitige P/L Sweetspot

nicht mehr. kostet mittlerweile ein vermögen. siehe GH link in meiner sig. meine 64gb hab ich bei amazon für 519€ gekauft und jetzt mehr als das doppelte.

€dit ich korrigiere. preis ist wieder normal.
war gestern noch sehr hoch...
 
Erstmal danke für die vielen schnellen Antworten. Also der Reihe nach...


@GERmaximus RAM war ein guter Hinweis, in meiner CAD-Maschine hängen z.B. 16GB (ok...), aber nur 2400er :freak:. Gut, mehr RAM wäre bestimmt nicht verkehrt, aber meist limitiert doch die CPU-Leistung...

@DeusoftheWired wird schwer. Viele Operation laufen zusätzlich über das Netzwerk, d.h. Einfluss darüber will ich nicht ausschließen. Aber ich teste es und probiere es nochmal

@HisN: vorausgesetzt der Scheduler arbeitet richtig. Leider haben wir hier diverse Tools im Einsatz, z.B. AutoCAD, Revit, Plancal nova,...
Games kannst du damit aber nicht vergleichen... Games lassen sich normalerweise bis zu einem gewissen Grad parallelisieren, bei CAD-Programmen kriegen das die Hersteller iwie nicht hin, teilweise weil der Softwarekern Ansbach Uralt ist und nur immer weiter aufgepumpt wird...

@Piktogramm eigentlich sind die eingesetzten Win10-Rechner aktuell genug um die Architektur zu kennen... Anbei mal die Auslastung im Taskmanager beim Datei öffnen
 

Anhänge

  • 38064926-FB45-4E3E-A2FC-6C6914B24B87.jpeg
    38064926-FB45-4E3E-A2FC-6C6914B24B87.jpeg
    132,3 KB · Aufrufe: 582
Nicht mehr RAM,
Schnelleren mit entsprechend strammen Timings
 
@Keepextreme
Du meinst es macht einen Unterschied ob ein Programm einen Kern nutzt oder 4 Kerne, wenn mein System 8 Kerne und HT anbietet? Glaub ich halt nicht.
 
Also ich denke nicht dass es was bringt HT zu deaktivieren.
Wenn du nicht möchtest, dass der Prozess den Kern wechselt, kannst du im Taskmanager per Rechtsklick für den Prozess festlegen welche Kerne dieser nur nutzen darf.
807687
 
KeepXtreme schrieb:
@Piktogramm eigentlich sind die eingesetzten Win10-Rechner aktuell genug um die Architektur zu kennen... Anbei mal die Auslastung im Taskmanager beim Datei öffnen
Schaut doch gut aus. Bei den Core i CPUs schaut es so aus
cpu0 - physical
cpu1 - virtual
cpu2 - physical
cpu3 - virtual

Es sollte also bei 2 aktiven Threads so aussehen, dass ein Thread auf 0 oder 1 läuft und der andere Thread auf 2 oder 3. Nicht aber so, dass 0 und 1 gleichzeitig belastet werden während 2 und 3 frei sind. Ansonsten ist durch Hintergrundprozesse immer minimal Last auf allen Kernen. Was aber in Ordnung geht, ist es doch deutlich besser als wenn das Betriebssystem anfängt intensive Prozesse von der CPU zu kegeln nur um Hintergrundprozesse auszuführen.
 
Ich schalte SMT immer ab, weil meine Programme (Spiele, Videoencoding) nicht davon profitieren sondern schon mal das Gegenteil auftritt. Aber, wie schon gesagt, da hilft nur selbst testen. Gerade bei einer CAD-Anwendung müsste doch ein Test super easy sein.
 
@rocketworm das ist kurzfristig natürlich möglich aber keine dauerhafte Lösung für alle Kollegen

Den Rest bearbeite ich morgen. Danke euch allen schonmal:)
 
KeepXtreme schrieb:
Was mich interessiert ist, wie sich die Leistung von Programmen auf Core i-CPUs verändert, wenn HyperThreading deaktiviert wird?

Ich habs auf meinem Haswell i7 4790k getestet und es sind ca 7-9% Leistung, die das Ausschalten in einem SingleThreaded Program gebracht hat. Hab seitdem HT aus. Kann man sich auch ne Reihe von weiter Performance ziehenden Patches schenken.
 
Ich stand vor der gleichen Frage. Ich hab ganz einfach mal die Performance im CPU-Z Benchmark gemessen. Die Multithread Performance ist natürlich massiv eingebrochen (ca. 20 %), aber die Single-Thread Performance ist gestiegen um ca. 5 %. Auch ich habe Programme die bei genau einem Thread im CPU-Limit hängen und die jetzt minimalst besser laufen.
Also das mit CPU-Z kann jeder selbst testen ob seine CPU ohne HT schneller läuft auf einen Thread hin gesehen.

CPU-Z / Reiter Bench / Bench CPU
 
  • Gefällt mir
Reaktionen: KeepXtreme und pvcf
Zurück
Oben