Wie funktioniert die Hyper-Threading-Technik?
Die Intel® Hyper-Threading-Technik ist eine Hardware-Innovation, mit der mehr als ein Thread auf jedem Kern ausgeführt werden kann. Mehr Threads bedeutet, dass mehr Arbeit parallel erfolgen kann. Wie funktioniert Hyper-Threading? Wenn die Intel® Hyper-Threading-Technik aktiv ist, legt die CPU zwei Ausführungskontexte pro physischem Kern frei.
Was ist der Vorteil von Threads gegenüber Prozessen?
Der Vorteil von Threads gegenüber Prozessen besteht darin, dass sich die Threads eines Prozesses denselben Speicherbereich für globale Variablen teilen. Verändert ein Thread eine globale Variable, ist der neue Wert auch in dieser Variablen sofort für alle anderen Threads des Prozesses sichtbar.
Welche Anwendungen werden in einem Thread ausgeführt?
Jede einzelne Anwendung, die im Betriebssystem ausgeführt wird, ist entweder ein oder mehrere Threads (stellen Sie sich jeden Thread als „Unteranwendung“ vor). Single-Threaded-Anwendungen benötigen nur einen Thread, um auf der CPU ausgeführt zu werden, wohingegen bei Multi-Threaded-Anwendungen viele Sub-Threads gleichzeitig ausgeführt werden.
Ist der neue Thread auch für alle Threads sichtbar?
Verändert ein Thread eine globale Variable, ist der neue Wert auch in dieser Variablen sofort für alle anderen Threads des Prozesses sichtbar.
Wie profitieren sie von Hyper-Threading?
Damit kann die Nutzung der Instruktions-Pipeline des Prozessorkerns und damit auch die augenscheinliche Leistung des Prozessors erhöht werden. Auch virtuelle Umgebungen können von Hyper-Threading profitieren. Sie erlauben dem Hypervisor die effektive Verdoppelung der für die VM-Provisionierung verfügbaren virtuellen Prozessoren.
Wie ist das mit Multithreading möglich?
Sinnvoll ist das beispielsweise bei der Videobearbeitung: Hier kann zum Beispiel eine Szene im Hintergrund gerendert werden, während der Nutzer die nächste Szene editiert. Mit Multithreading haben Chip-Hersteller die Möglichkeit, ihre CPUs zu beschleunigen, ohne dabei sehr viel höheren Energieverbrauch zu generieren.
Was ist das ultimative Ziel von Multithreading?
Das ultimative Ziel von Multithreading ist es, die Rechengeschwindigkeit eines Computers und damit dessen Leistungsfähigkeit zu erhöhen. Dafür versucht man, die CPU-Auslastung zu optimieren. Statt einen Prozess lange vorzuhalten, auch wenn dieser noch auf Daten wartet, wechselt das System beim Multithreading schnell zur nächsten Aufgabe.