Hallo zusammen! Ich wollte mal fragen, ob ich es richtig verstehe, dass in meinem Fall hyperthreading stört…
Und zwar benutze ich eine Simulationssoftware, die bis zu 4 Threads gleichzeitig verwenden kann. Meine CPU ist ein i7 mit 4 Kernen und 8 Threads durch hyperthreading. Wenn die Simulation läuft, ist meine CPU zu 50% durch diese ausgelastet.
Wenn ich hyperthreading jetzt ausschalte, wird dann damit die CPU zu 100% verwendet, weil die 4 Threads exakt auf die 4 Kerne passen, oder habe ich da etwas übersehen? Das sollte ja die Rechenzeit etwa halbieren.
Hyperthreading macht nicht aus 4 Kernen plötzlich 8. Es erlaubt lediglich mehr oder weniger 2 Aufgaben gleichzeitig auf einem Kern laufen zu lassen was im Bestfall ~20% extra Leistung für einen recht geringen Hardware Aufwand bringt. Also auch wenn HT aktiviert ist, sollte ein Programm mit 4 Threads die CPU mehr oder weniger vollständig auslasten können. Es gibt allerdings einige Programme, die immer noch nicht gut mit HT klar kommen, also zb zwei Hauptaufgaben über HT auf dem selben Kern laufen lassen und so letztlich langsamer laufen als ohne HT. Sollte aber bei moderner Software wirklich selten sein, HT gibt es schließlich seit über 20 Jahren.
Das könnte hier der Fall sein, denn jeder thread macht 12,5% der CPU Nutzung aus…
Als erstes würde ich hinterfragen, wie diese Auslastung bestimmt wird, auf die du da schaust. Das hängt ziemlich sicher von der jeweiligen Monitoring Anwendung ab.
Windows task Manager… bisher hat das immer Sinn ergeben, wenn ich Benchmarks laufen lasse, die alles auslasten, geht der auf 100% hoch.
50% wenn du 4 Cores zu 100% und 4 Cores zu 0% ausnutzt ergibt doch auch Sinn. Und 12.5% für jeden der Threads die jeweils 1/8 deiner Cores voll auslasten.