SMT und Hyperthreading erklärt: Was Multithreading für Gaming und Produktivität wirklich bringt

SMT und Hyperthreading erklärt: Was Multithreading für Gaming und Produktivität wirklich bringt

Simultaneous Multithreading (SMT) — bei Intel als Hyper-Threading vermarktet, bei AMD schlicht SMT genannt — ist eine der am meisten missverstandenen Spezifikationen auf einer CPU-Verpackung. Es wird oft als simple Verdoppelung der Kernzahl behandelt, was es aber nicht ist, und dieses Missverständnis führt zu echten Kauffehlern. Dieser Artikel erklärt, was SMT/Hyper-Threading auf Hardware-Ebene tatsächlich macht, wo es hilft, wo es nichts bringt und wo es gelegentlich sogar schaden kann.

Was im Kern tatsächlich passiert

Ein physischer CPU-Kern besitzt mehrere interne Ausführungseinheiten — für Integer-Mathematik, Fließkomma-Mathematik, Speicherzugriffe und Branch-Prediction — und im normalen Einzelthread-Betrieb liegt ein großer Teil dieser Einheiten in jedem gegebenen Moment brach, weil ein einzelner Instruktionsstrom sie nicht alle gleichzeitig auslasten kann. SMT lässt den Kern sich dem Betriebssystem als zwei logische Prozessoren präsentieren, von denen jeder Instruktionen in die gerade freien Ausführungseinheiten einplanen kann. Der Kern selbst wird nicht verdoppelt — es gibt weiterhin nur einen Satz Ausführungseinheiten, einen L1-Cache, einen Satz physischer Register (auch wenn Registerdateien für die beiden Threads meist partitioniert oder dupliziert sind) — aber zwei unabhängige Instruktionsströme konkurrieren jetzt in denselben Taktzyklen um diese gemeinsame Hardware.

Das unterscheidet sich fundamental von zwei echten Kernen. Zwei echte Kerne bekommen jeweils einen eigenen, vollständigen Satz an Ausführungsressourcen. Zwei SMT-Threads auf einem Kern teilen sich einen einzigen Ressourcensatz und profitieren nur, wenn sich die Leerlauflücken des einen Threads mit dem Bedarf des anderen überschneiden. In der Praxis ergibt das meist irgendwo zwischen 15 % und 30 % Durchsatzgewinn für das Thread-Paar zusammen, verglichen mit nur einem Thread auf diesem Kern — weit entfernt von den 100 %, die ein echter zweiter Kern bringen würde.

Warum Gaming es kaum bemerkt

Die meisten Spiele-Engines sind um eine Handvoll stark ausgelasteter Threads herum gebaut — typischerweise ein Haupt-Render-/Logik-Thread plus ein paar unterstützende Threads für Physik, Audio und Asset-Streaming — statt um Dutzende gleichmäßig ausgelasteter Threads. Diese wenigen kritischen Threads wollen die Ausführungsressourcen eines Kerns fast ausschließlich für sich; wenn SMT einen zweiten Thread auf denselben Kern setzt, konkurriert dieser um Cache-Platz und Ausführungsports mit einem Thread, dem das Spiel tatsächlich eine hohe Geschwindigkeit wichtig ist — das kann eher zu Mikrorucklern führen als zu einem sauberen Geschwindigkeitsgewinn. Genau deshalb werden Flaggschiff-Gaming-CPUs in jeder Preisklasse mindestens ebenso stark über Taktrate pro Kern und Cache-Größe spezifiziert wie über die Gesamt-Thread-Zahl — unser Vergleich von Kernzahl vs. Taktrate behandelt diesen Trade-off anhand von Intel Core i9-14900K und AMD Ryzen 9 7950X als Referenzpunkten.

Beim i9-14900K konkret gilt Hyper-Threading nur für die acht Performance-Kerne; die sechzehn Efficiency-Kerne sind bewusst single-threaded, da ihr gesamter Zweck Hintergrund-/Parallel-Durchsatz statt latenzempfindlicher Single-Thread-Arbeit ist. Das ergibt insgesamt 32 logische Threads (8×2 + 16) aus 24 physischen Kernen — ein Detail, das viele Käufer stolpern lässt, die annehmen, "32 Threads" bedeute 32 gleich leistungsfähige Kerne.

Wo SMT sich wirklich lohnt

Workloads, die viele unabhängige, etwa gleich schwere Threads erzeugen, sind dort, wo SMT seinen echten Wert zeigt: Video-Encoding/Transcoding, 3D-Rendering (Blender, V-Ray, Corona), Code-Kompilierung großer Projekte, wissenschaftliche/numerische Simulation und Virtualisierung mit mehreren gleichzeitigen Gast-Betriebssystemen. Diese Workloads haben weit mehr parallele Arbeit verfügbar, als es physische Kerne gibt, sodass das Auffüllen der Leerlauflücken mit einem zweiten logischen Thread pro Kern fast direkt in kürzere Fertigstellungszeiten übersetzt. Der Ryzen 9 7950X, mit aktiviertem SMT über alle sechzehn physischen Kerne für insgesamt 32 Threads, ist explizit auf diese Art von Workload ausgelegt — er ist für alle, die regelmäßig Video-Export oder 3D-Render-Arbeit machen, eine deutlich bessere Wahl als ein ähnlich teurer, gaming-fokussierter Chip.

Die seltenen Fälle, in denen Deaktivieren hilft

Eine kleine Zahl latenzempfindlicher, hochoptimierter Workloads — manche kompetitiven E-Sport-Titel, bestimmte Audioproduktions-Ketten und spezielle Benchmarking-Szenarien — laufen gelegentlich minimal schneller, wenn SMT im BIOS deaktiviert wird, weil der Betriebssystem-Scheduler sonst einen Hintergrund-Thread auf den logischen Geschwister-Kern des kritischen Spiel-Threads legen und unerwünschte Konkurrenz erzeugen kann. Dieser Effekt liegt meist unter 5 % und ist stark titelabhängig, also nicht etwas, dem man um seiner selbst willen hinterherjagen sollte — es ist hauptsächlich relevant für Enthusiasten, die bereits tief in der Feinabstimmung eines spezifischen kompetitiven Setups stecken, keine allgemeine Empfehlung.

Die Sicherheits-Randnotiz, die man kennen sollte

Die geteilten Ausführungsressourcen von SMT waren in den vergangenen Jahren auch die Ursache mehrerer CPU-Seitenkanal-Schwachstellen, da zwei Threads, die sich Cache und Ausführungsports teilen, unter bestimmten konstruierten Bedingungen Timing-Informationen über die Aktivitäten des jeweils anderen Threads preisgeben können. Server- und Virtualisierungsumgebungen, die nicht vertrauenswürdige Workloads mehrerer Mandanten auf derselben physischen Hardware ausführen, deaktivieren SMT manchmal komplett als Gegenmaßnahme und tauschen den Durchsatzgewinn gegen eine stärkere Isolationsgarantie zwischen Workloads. Das ist für einen typischen Einzelnutzer-Desktop oder Gaming-PC, auf dem jeder Thread derselben Person gehört, im Grunde kein Thema — aber es erklärt, warum manche serverorientierten BIOS-Standardeinstellungen SMT deaktiviert ausliefern, während jeder Consumer-Desktop-Chip es aktiviert mitbringt.

Wie das Betriebssystem SMT-Threads tatsächlich verteilt

Moderne Scheduler in Windows und Linux sind sich bewusst, welche logischen Threads sich einen physischen Kern teilen, und versuchen, neue Threads bevorzugt auf einen komplett freien physischen Kern zu legen, statt auf den zweiten logischen Thread eines bereits ausgelasteten Kerns — erst wenn alle physischen Kerne mindestens einen aktiven Thread tragen, greift der Scheduler überhaupt auf die zweiten logischen Threads zurück. Das bedeutet, dass SMT bei typischer Alltagslast mit wenigen aktiven Anwendungen oft kaum ins Gewicht fällt, weil gar nicht genug gleichzeitige Arbeit anliegt, um die zweiten logischen Threads überhaupt zu belegen — sein Nutzen zeigt sich fast ausschließlich dann, wenn wirklich mehr parallele Arbeit ansteht als physische Kerne vorhanden sind.

Praktische Kaufempfehlung

Wenn dein Workload überwiegend Gaming ist, priorisiere Taktrate pro Kern, Cache-Größe (insbesondere 3D-V-Cache-Varianten) und eine solide Handvoll physischer Kerne gegenüber der reinen Thread-Zahl — ein 8-Kern/16-Thread-Chip mit hohen Taktraten schlägt in den meisten Spieltiteln üblicherweise einen 16-Kern/32-Thread-Chip mit niedrigeren Taktraten. Wenn dein Workload regelmäßiges Rendering, Encoding oder Kompilieren umfasst, wird die Thread-Zahl direkt relevant, und ein Chip mit hoher physischer Kernzahl und durchgängig aktiviertem SMT ist die bessere Investition. Lass dich nicht allein von Thread-Zahl-Marketing beeindrucken — prüfe immer, welcher Anteil der beworbenen Threads eines Chips von echten Kernen kommt und welcher von SMT-Verdoppelung, und gleiche das mit ab, was du tatsächlich täglich mit der Maschine machst.

Nach Tag durchsuchen

Alle Tags ansehen →