Wie gut sind Threads?

A

Anon1216

Gast
Hallo,

ich habe bei google nichts Konkretes gefunden, deswegen frage ich hier mal.

Wie gut sind eigentlich, zb. bei einen R5 3600, die Threads im Vergleich zu echten Kernen in Anwendungen wie zb. Streamen / Videoaufnahme, Rendern, Games, VMs oder einfach nur viele Programme gleichzeitig offen haben? 1 Thread = 50% von einem echten Kern. Kann man das so pauschal sagen? Oder sind Threads sogar genauso gut wie echte Kerne oder kommt das auf das Einsatzgebiet an?

LG
 
Falsch und nochmal falsch.

Ein Thread bringt im Höchstfall 30% von einen echten Kern. Jenachdem wie gut die Software damit umgeht. Wenn es schlecht läuft können es auch mal nur 10% sein.
 
SMT generiert tatsächlich nur einen geringen Teil der von der CPU erbrachten Leistungen, es dient eher brachliegende Ressourcen innerhalb der Pipeline besser auszunutzen. Dessen Nutzen würde ich prozentual in der Praxis eher im Bereich von Einstelligen bis zum kleinen Zweistelligen Gewinn einordnen.
 
"genauso gut" auf gar keinen fall und auch 50% sind schon seeehr optimistisch. hier lag der 3400G im CB15, welcher massiv von zusätzlichen threads profitiert, 45% vor dem 3200G. davon muss man noch ein paar % für den höheren takt abziehen. und das ist schon ein ziemliches best case-szenario.
 
It depends... wie so oft und ist abhängig von der eingesetzten Software.
Im Alltag des Normalnutzers überwiegen die Vorteile und sollte man in die eher seltene Situation kommen und nachteilige Effekte erleben - SMT lässt sich im Notfall abschalten.
Eine CPU ohne SMT zu kaufen ist ein Schuß ins Knie.

PS:
Immer für den alltäglichen Normalnutzer gesprochen! Experten, Randgruppen, Nischenanwendungen lassen sich immer und für alles finden.
 
  • Gefällt mir
Reaktionen: Baal Netbeck
Der Gewinn den man durch eine virtuelle Kernverdopplung (sei es nun HT oder SMT) hat, ist eher darin zu finden, dass der ganze Kleinkram (Dienste, Voicechat, Browser, etc) ausgelagert werden kann und die "echten Kerne" bei "echten Aufgaben" nicht zusätzlich belastet werden.

Der "Reingewinn" einer virtuellen Verdopplung ist daher in Zahlen zwar irgendwo zwischen 1 und ~40%, der gespührte Nutzen ist in vielen Fällen aber weniger in Zahlen greifbar.
... es ist einfach: "Irgendwie besser als ohne"

Und ja, natürlich ist der Unterschied je Szenario messbar, da müsste man dann aber immer exakt das Szenario kennen (inklusive laufenden Diensten, Hauptprogrammen und Nebenprogrammen).
 
  • Gefällt mir
Reaktionen: Akula
Nozomu schrieb:
Ein Thread bringt im Höchstfall 30% von einen echten Kern. Jenachdem wie gut die Software damit umgeht. Wenn es schlecht läuft können es auch mal nur 10% sein.
Die 30% kann ich erstmal bestätigen. Threads skalieren IMHO sehr gut bei Verwendung von VMs.
 
Kommt stark auf die Software an. Wie bereits gesagt wurde, SMT nutzt brach liegende Ressourcen der CPU und ermöglicht somit eine insgesamt bessere Auslastung der CPU. Prozentangaben würde ich hier keine machen. Theoretisch ist alles von kleiner Verschlechterung bis Verdoppelung möglich. In der Realität sind es wie mehrfach erwähnt, eher kleine Gewinne.
 
Fragger911 schrieb:
It depends... wie so oft und ist abhängig von der eingesetzten Software.
Eben, die Software, aber auch die konkreten Daten die diese verarbeiten muss, spielen neben der Architektur der CPU die Hauptrolle bei der Antwort auf die Frage wie viel Prozent Mehrleistung SMT bringt. Es kann im Extremfall wegen der Hitrate der Caches auch zu einer Minderleistung führen. SMT dient ja dazu die Auslastung der Rechenwerke des Kerns zu optimieren, immer wenn ein Thread auf Daten (z.B. aus dem RAM) warten muss, kann der zweite Thread aktiv werden und die Rechenwerke auslasten, so ist jedenfalls der Gedanke dahinter. Dies hängt eben davon ab, wie viele der Daten im Cache stehen oder eben erst aus dem RAM geladen werden müssen, was für eine CPU viele Wartezyklen bedeutet. Außerdem bemühen sich die Hersteller die Architekturen der CPU durch Vorhersagen so zu optimieren, dass solche Wartezeiten möglichst vermieden werden und arbeiten damit in die Richtung SMT immer wirkungsloser zu machen. Also Intel es damals eingeführt hat, waren die Architektur noch nicht Out-of-order und im Schnitt hat man damals rund 60% mehr Performance erzielt, weshalb die etwa 5% zusätzlicher Diefläche pro Kern gut investiert waren, aber bei den heutzutage üblichen Out-of-order Architekturen sind so große Zuwächse durch SMT kaum mehr zu erwarten.
 
Holt schrieb:
Also Intel es damals eingeführt hat, waren die Architektur noch nicht Out-of-order

Ehm, schon der originale Pentium unterstütze bereits Out of Order, HT bzw SMT ist praktisch gesehen die Ausbaustufe davon.
 
Falls es ums Geld geht und du überlegen solltest, einen i5 9400 zu kaufen oder "nur" einen Ryzen 5 2600, so würde ich auf alle Fälle zur AM4-Plattform raten. Es ist möglich, dass sogar noch Ryzen 4xxx auf aktuellen Mainboards laufen wird.
Früher oder später wird spätestens der Gebrauchtmarkt eine sehr starke CPU für AM4 für dich bieten können.

Ob viele Threads einen Nutzen haben, hängt trotzdem von deinem Anwendungszweck bzw. deiner verwendeten Software ab. Es kann in manchen Spielen rund 20% Vorsprung bedeuten; in einigen Anwendungen 20-40%. Letztlich sind echte Kerne trotzdem vorzuziehen. Je mehr du davon hast, desto geringer ist der Grenznutzen von Hyperthreading.

Bei einem Ryzen 7 3950x würde ich das Hyperthreading sogar abschalten.
 
Holt schrieb:
Also Intel es damals eingeführt hat, waren die Architektur noch nicht Out-of-order

Die ersten Atömer (bonnell und Saltwell) waren in-order-Prozessoren, die Pentiums nicht. Du scheinst da was zu verwechseln. Und ab Silvermont war auch bei den Atömern langsam Schluß mit in-order. Was auch gut war, denn die ersten waren wirklich lahme Krücken.

Die rpi bis inklusive dem 3er arbeiten noch mit in-order-prozessoren.
 
Richtig, den ersten Atoms waren OoO untersagt, aber prinzipiell gab's ab den Pentium Pro und den P55c die Technik mit in der CPU, bei AMD mit Einzug der 3Dnow-implementierung. Faktisch nennt jede Superscalare CPU dies ihr eigen.
 
Wie auch immer, 3Dnow hat mit SMT nichts zu tun und zumindest die ersten Atom mit SMT waren keine Out-of-Order Architekturen. Das ändert nichts daran, dass Architektur und Anwendung bestimmen, wie viel Leistungssteigerung durch SMT (bei Intel HT genannt) erzielt wird.
 
Wir reden hier von OoO und nicht von SMT und das U.a auch weil du dies falsch zuordnest.
 
Intel nennt seines HT und AMD seines nun eben generell. Worauf willst du hinaus?
 
Zurück
Oben