Wenn ich zum Task-Manager gehe, sehe ich 8 Prozessoren, aber ich weiß, dass ich 4 habe. Warum?
Wenn ich zum Task-Manager gehe, sehe ich 8 Prozessoren, aber ich weiß, dass ich 4 habe. Warum?
Antworten:
Hyper-Threading abstrahiert das Wechseln von Aufgaben von den Betriebssystemen. Normalerweise muss ein Betriebssystem mit dem Planen von Prozessen auf verschiedenen CPUs fertig werden und sicherstellen, dass jede auf dem System ausgeführte Aufgabe ihren angemessenen Anteil an der CPU hat, jedoch nicht zu viel (wenn etwas anderes dies wünscht).
Hyper-Threading ist eine Möglichkeit, dem Betriebssystem den zweiten Prozess der Aufgabenteilung zumindest für kurze Zeit zu nehmen. Der Grund dafür ist, dass der Prozessor den Taskwechsel viel schneller ausführen kann, als das Betriebssystem dies vorschreibt. Durch die Darstellung von zwei logischen Prozessoren, wenn es tatsächlich nur einen gibt, muss das Betriebssystem nur halb so viele Aufgabenwechseloperationen ausführen, aber mehr CPU-Zeitplanung. Das Nettoergebnis ist jedoch angeblich eine schnellere Maschine für Multitasking-Vorgänge.
Die tatsächlichen Vorteile hängen stark von der Arbeitsbelastung ab, die Sie ausführen. Für die meisten Menschen ist es kein Problem, das Gerät ein- oder auszuschalten. 4 vs 8 Threads sind wie die Wahl zwischen einem Ferrari oder einem Lamborghini für Heimanwender.
In Serverszenarien kann dies jedoch einen großen Unterschied bewirken. Beispielsweise können Hypervisoren durch die Verwendung von Hyperthreading häufig eine große Geschwindigkeitssteigerung erzielen, da sie sehr strenge Anforderungen an die CPU-Zeitplanung haben.
SQL Server erhalten diese Erhöhung jedoch häufig nicht, da es oft besser ist, vier "große" Threads als acht "mittelgroße" Threads zu haben.
Das mein Freund Hyper-Threading ist .
Hyperthreading ist eine Form des simultanen Multithreading , bei dem die Vorteile der superskalaren Architektur genutzt werden. Mehrere Anweisungen, die parallel auf separaten Daten arbeiten. Sie erscheinen dem Betriebssystem als zwei Prozessoren, sodass das Betriebssystem zwei Prozesse gleichzeitig planen kann . Außerdem können zwei oder mehr Prozesse dieselben Ressourcen verwenden. Wenn ein Prozess fehlschlägt, können die Ressourcen problemlos neu zugewiesen werden. Das Betriebssystem muss simultanes Multi-Threading (SMT) unterstützen.