c't 9/2023
S. 160
Wissen
40 Jahre c’t

Arbeit für zwei

c’t klärte über Hyper-Threading im Pentium 4 auf

Wir schreiben das Jahr 2002. AMD hat den ersten 64-Bit-Prozessor für Desktops-PCs angekündigt. Intel kontert mit dem 3-GHz-„Pentium 4“ und der bisher nur auf Servern eingesetzten Hyper-Threading-Technik, die dem PC-Betriebssystem eine zweite CPU vorgaukelt. Die c’t-Artikel von Matthias Withopf und Christof Windeck deckten Vor- und Nachteile von Intels Geheimwaffe auf.

Von Rudolf Opitz

Der Prozessor-Primus Intel hatte es 2002 nicht leicht: Die ersten AMD-Prozessoren mit dem schon 1999 angekündigten 64-Bit-Design „Hammer“ standen vor der Markteinführung. Dem hatte Intel zu der Zeit nichts entgegenzusetzen. Als Alternative blieb, die Rechenleistung der 32-Bit-Systeme zu erhöhen. Mehrere Prozessoren auf einem Board waren sehr teure Lösungen und eher für Server interessant. Symmetrisches Multiprocessing (SMP) bedeutete zwei Prozessorsockel auf einem Board – mehrere Rechenkerne auf einem Chip (Die) kamen erst Jahre später. Allerdings gab es schon 2002 Windows-Workstations mit zwei Athlon-MP- oder Xeon-CPUs. Apple stattete Power-Mac-G4-Modelle mit zwei PowerPC-7400-CPUs aus. Höhere Taktfrequenzen standen eh auf der Agenda, aber warum lastete man die Prozessoren, die die meiste Zeit auf Eingaben und Speicherzugriffe warteten, nicht besser aus?

Die Lösung war ein virtueller zweiter Prozessorkern, der die CPU mit zusätzlichen Aufgaben (Threads) beschäftigte, wenn ein Teil der Recheneinheiten gerade digitale Däumchen drehte: Simultanes Multithreading (SMT) – das Intel-Marketing erfand dafür den schmissigen Namen „Hyper-Threading“. Matthias Withopf erklärte dazu in seinem Artikel „Virtuelles Tandem“:

„Diese Erweiterung benötigt nicht einmal mehr als ein Prozent an zusätzlichen Transistoren und erhöht die Die-Fläche lediglich um ein Prozent.“

In der c’t 24/2002 schaffte es das Thema Hyper-Threading erstmals aufs Titelbild.
In der c’t 24/2002 schaffte es das Thema Hyper-Threading erstmals aufs Titelbild.

Das Betriebssystem sieht bei Prozessoren mit Hyper-Threading (HT) zwei Prozessorkerne und kann auf diese verschiedene Aufgaben verteilen. Intel setzte die Technik Anfang 2002 zuerst in einem Xeon-Serverprozessor ein. Im November folgte dann ein Pentium 4 mit Northwood-Kern und HT, der erstmals die Taktgrenze von 3 Gigahertz überschritt. Ein echtes SMP mit zwei Prozessoren ist HT aber nicht:

„Die beiden Hyper-Threading-Prozessoren haben eigene Registersätze sowie getrennte Reorder- und Store-Buffer. Den Rest der Prozessor-Ressourcen teilen sie sich brüderlich.“

Mit dem ersten Pentium 4 mit HT konnte Intel daher den Kunden ohne großen Mehraufwand bis zu 35 Prozent mehr Performance versprechen. Doch rechnete der eigentliche Prozessorkern nicht schneller und um die Mehrleistung des Tandems auszunutzen, brauchte es ein SMT-kundiges Betriebssystem, das weiß, dass hinter den beiden logischen Kernen nur ein physischer steckt.

„Denn die Prozessoren sind nicht alle gleichwertig, das ‚S‘ in SMT bedeutet eben nicht ‚symmetrisch’ ‘wie in SMP, sondern ‚simultaneous‘.“

Geeignet für HT waren etwa Windows XP und Linux-Kernels ab 2.14.18, die 2002 noch verbreiteten Windows-Versionen NT und 2000 hatten damit noch Schwierigkeiten. Im Praxistest „Der unsichtbare Zweite“ stellte Christof Windeck außerdem fest:

„Hyper-Threading bietet aber nicht zwangsläufig Vorteile. Schlecht geschriebene Multithread-Software kann sogar langsamer laufen als auf nur einem Prozessor.“

Auch fehlten zu der Zeit noch passende Benchmarks; die meisten ermittelten 2002 nur die maximale Leistung eines Systems mit Single-Thread-Anwendungen. Manchmal müssen die c’t-Hardware-Tester daher auch auf ihr Gefühl zurückgreifen:

„Große Vorteile bietet HT bei der Reaktionsgeschwindigkeit des Rechners, ein gefühltes, subjektives Leistungsplus zeigt sich vor allem beim flüssigen Arbeiten mit vielen gleichzeitig laufenden Anwendungen.“

Die beiden auch heute noch lesenswerten Artikel finden Sie über untenstehenden Link. (rop@ct.de)

Retro-Artikel über Hyper-Threading: ct.de/yza7

Kommentieren