Hyper-Threading im Detail

Threads

Der Einsatz von Threads bietet zwei wesentliche Vorteile:

  • Nebenläufige Vorgänge lassen sich innerhalb von Anwendungsprogrammen elegant umsetzen. Viele moderne Programmiersprachen haben das Konzept der Nebenläufigkeit implementiert. Beispiele sind Java oder die Microsoft Foundation Classes (MFC) für C++.

  • Die Abhängigkeit zwischen den Befehlen in den unterschiedlichen Threads ist meist sehr gering, so dass die Thread-Ebene eine hervorragende Plattform für die Verteilung der Befehle auf unterschiedliche Ausführungseinheiten darstellt.

In modernen Anwendungen ist die Aufteilung in unabhängige Prozesse und Threads zu beobachten:

  • Leistungsfähige Server müssen unabhängige Anfragen von zahlreichen Clients beantworten.

  • Auf Workstations wird mittlerweile vielfach Software eingesetzt, die bereits in mehrere Prozesse und Threads aufgeteilt ist. 3D-Programme sind hierfür ein Beispiel.

  • Aber auch im Bereich normaler Desktop-PCs laufen in zunehmendem Maße mehrere unabhängige Anwendungen, die ebenso parallelisiert werden könnten.