15 Stimmen

Dual-Core Hyperthreading: Sollte ich 4 Threads oder 3 oder 2 verwenden?

Wenn Sie mehrere Threads (oder Prozesse) gleichzeitig erzeugen, ist es besser, so viele Threads zu erzeugen, wie die Anzahl der physisch Prozessoren oder die Anzahl der logisch Prozessoren, vorausgesetzt, die Aufgabe ist CPU-gebunden? Oder ist es besser, etwas dazwischen zu machen (z.B. 3 Threads)?

Hängt die Leistung von der Art der ausgeführten Befehle ab (z. B. würde sich der nichtlokale Speicherzugriff wesentlich von Cache-Treffern unterscheiden)? Wenn ja, in welchen Fällen ist es besser, die Vorteile von Hyperthreading zu nutzen?


Aktualisierung:

Der Grund, warum ich frage, ist, dass ich mich erinnere, irgendwo gelesen zu haben, dass, wenn Sie so viele Aufgaben wie die Anzahl der virtuellen Prozessoren haben, Aufgaben auf dem gleichen physischen Kern manchmal einige CPU-Ressourcen verhungern können und verhindern, dass jeder andere so viele Ressourcen wie nötig erhält, was möglicherweise die Leistung verringert. Deshalb frage ich mich, ob es eine gute Idee ist, so viele Threads wie virtuelle Kerne zu haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X