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.
Ja, wird dann so aussehen.
Nein. Du gehst von 4C/8T (4 cores / 8 threads) und 4 threads im Programm auf 4C/4T und 4 threads im Programm. Es wird prinzipiell nicht schneller, du belegst jetzt halt 4 von 4 threads und nicht mehr 4 von 8.
Ja gut, dass ich hier frage. Die Sache ist halt, dass jeder thread des Programms 12,5 der CPU auslasten, da ist dann ja noch was frei…
Und wenn du Hyperthreading ausschaltest entfernst du diese frei Kapazität statt sie zu nutzen.
Ich kann sie ja so oder so nicht nutzen.
Ich glaube einfach, dass ich noch nicht so ganz verstanden habe, was hyperthreading tatsächlich tut. Ich dachte bisher, dass damit quasi ein Kern seine Rechleistung auf zwei Aufgaben parallel aufteilt und daher nur dann vollständig verwendet wird, wenn ausreichend viele Aufgaben anstehen. Da die Simulation nur 4 threads unterstützt, dachte ich, dass dadurch die halbe CPU ungenutzt ist.
Ist wohl noch so und ich probiere es einfach mal aus.
Hyperthreading ist im Prinzip ein Mittelding zwischen einem und zwei Cores, ein paar Teile der Hardware sind doppelt vorhanden, die meisten nicht. Das ganze ist sehr hilfreich wenn man z.B. weniger CPU-lastige Tasks hat da man dann ohne erst aufwändig Context-Switch in Software machen zu müssen die gleiche Hardware für einen zweiten Task verwenden kann während der erste auf z.B. ein Laden von Daten aus dem RAM wartet und wenn die Daten dann da sind kann der erste weiter arbeiten während der zweite z.B. gerade seine Daten an die Festplatte schickt usw.