Hyperthreading Leistung Intel CPU

Voyager10

Fleet Admiral
Registriert
Juli 2006
Beiträge
11.336
Heute möchte ich auch mal über etwas reden.

Im Netz gibt es zur Leistung von Hyperthreading beim Intel Haswell relativ wenig zu lesen , das letzte mal wo ich ein paar Zeilen dazu sehen konnte war bei den Haswell Ankündigungen , wo Intel an der Technik Verbesserungen vornimmt und da hies es das Intel auch die Leistung von Hyperthreading stark verbessert um so und so viel, hab ich jetzt nichtmehr genau im Kopf.

Jetzt hab ich auch nochmal Cinebench R15 angeworfen und sehe dort eine MultiProzessor Ratio von 2,93 , was doch prinzipiell bedeuten müsste das Hyperthreading beim Haswell ca. 50% eines Cores leisten kann , die 0,93 sind ja fast ein ganzer Core bei einem Dualcore mit HT.
Könnte man das so klar festmachen ?

cinebench.jpg
 
Nein, es kommt immer auf die Anwendungen an. Man sagt das so ein HT-Kern im optimalen Fall bis zu 25% eines echten Kernes bringen kann. Aber es kommt immer stark auf die Anwendungen an. Ich habe mal mit einem i7 eine VM an zwei virtuelle Kerne gebunden und das lief schrecklich langsam.

So habe ich das jeden Falls immer verstanden. :D
 
Danke, kannst du das auch irgendwie belegen das eine Anwendung , meines erachtens ein Videoencoder nur 25% Nutzleistung aus Hyperthreading (speziell im Falle Haswell ) ziehen kann ?
 
Zuletzt bearbeitet:
Hallo,

Ich denke 50% Leistungszuwachs halte ich für übertrieben. Ich habe gelesen und auch die Erfahrung gemacht das bis zu maximal 25% drin sind. Zudem kommt es auch drauf an in wie fern die Software für Hyperthreading optimiert ist und sich parallelieseren lässt. Cinebench ist zudem ein Benchmark der ein optimales Ergebnis liefert, aber wenig über die alltägliche CPU Nutzung aussagt. Bei einigen Spielen kann Hyperthreading sogar einen negativen Effekt haben und das Spiel ausbremsen.
 
HT ist kein Allheilmittel. Im Grunde hilft es einfach nur, die Kerne bei Vollast besser auszulassen, bei minimalen Aufwand seitens des Chipdesigns. Steigerungen sind im Labor immer gewaltig, da kann das schon mal 50% ausmachen, aber in der Realität würde ich mich wunderen, wenn es über 10% bringt. Je nach Anwendung kann HT Sogar langsamer sein. Gerade wenn die Anwendung nicht mit vielen Threads umgehen kann. Das Versucht Intel in seinen Kompiliern und per Chip Design zu vermeiden, aber es gibt immer noch genug Anwendungen die mit HT langsamer sind^^
 
Zuletzt bearbeitet:
Wie viel HT bringt, hängt vor allem von der Architektur ab, bei den alten Atoms die noch nicht Out-of-Order waren, war der Gewinn ungleich höher, weil diese oft auf das RAM warten mussten. Bei den modernen Architekturen wie Haswell ist es meist deutlich weniger und hängt vor allem davon ab, wie viel RAM Durchsatz das Programm im Verhältnis zu den Berechnungen auf den Daten braucht. HT bringt ja immer nur dann etwas, wenn der Kern auf Daten warten muss.
 
@TigerofTHT
Wie macht man die Erfahrung das HT maximal 25% bringt? Irgend ein Testprogramm?

@jan4321
Bei welchen Anwendungen ist eine CPU mit HT langsamer?
Wie kommst Du darauf, das HT nicht mehr als 10% bringt? Irgendwelche Links oder Bauchgefühl?

@Voyager10
Wäre schon interessant, das einmal zu testen. Evtl. hat Intel beim Haswell ja etwas optimiert. Leider habe ich keinen Haswell.
 
Es kommt ganz auf die Software an genauer wie gut die parallelisiert. Ich habe mal im Bios bei meinem I7 2 Kerne deaktiviert und einmal mit und einmal ohne HT battlefield und Pcars gebencht. Durch HT stieg die Framerate um ganze 50% an.
Bei einem I3 bringt also also teilweise massiv mehr Leistung und hebt diese auf den Bereich eines 3 Kern Prozessors, wenn nicht mehr da ein 3. Kern auch nicht mit 50% Mehrleistung einhergeht.
Bei 4 aktivierten Kernen sieht die Sache schon anders aus weil nicht jede Software sehr gut mit 8 Threads umgehen kann. Project Cars bricht sogar etwas ein bei 4 aktiven KErnen samt HT, bei BF3 hat sich in der Scene zumindest nichts getan da nicht mehr CPu limitiert. bei einem Renderprogramm habe ich jedoch auch schon gut 40% Mehrleistung erfahren, mir ist allerdings der Name entfallen, ist schon 2 JAhre her.
 
Und was können wir von deinem Erfahrungsbericht noch erwarten ?
Ergänzung ()

MikelMolto schrieb:
Wäre schon interessant, das einmal zu testen. Evtl. hat Intel beim Haswell ja etwas optimiert. Leider habe ich keinen Haswell.

Mir würde es schon "helfen" wenn er für 25€ Thief testen würde mit einer R9-280x oder gtx770,
das soll ja laut CB Test schon 4 Threads verlangen das es ohne Leistungseinbrüche spielbar ist.
 
Ich bin da ganz bei MikelMolto , mit Bauchgefühlen und Kenntnisse die man noch von Sandybridge her hat , mit dem kann ich hier nicht viel anfangen .
Da ich die alten Meldungen noch so im Ohr habe das Intel die Leistung von Hyperthreading im Haswell stark verbessert hätte wollte ich das einfach mal näher beleuchten da sich im Internet sogut wie niemand damit beschäftigt hat, ich würde mich auch freuen wenn Computerbase dort mal bischen vergleichen würde.
 
Wikipedia ist wenig hilfreich , die Quellennachweise zur technischen Beschreibungsanalyse sind arg älteren Datums , was bedeutet neuere Fortschritte in der Technologie sind noch garnicht berücksichtigt ;)
 
Es gibt keine fundierte Faustregel für die Performance HT/SMT ist arg abhänig von der Beschaffenheit der Threads/Programme.

Wenn ein Thread auf einer CPU läuft kommt es meist immer wieder vor, dass die Funktionseinheiten des Kerns nicht voll ausgelastet sind. Durch SMT kann ein anderer Thread diese Funktionseinheiten über einen virtuellen CPU-Kern nutzen. So werden ansonsten ungenuzte Resourcen ausgeschöpft. Wenn nun aber ein Thread derart gut optimiert ist, dass er die CPU wirklich sehr sehr gut auslastet, bringt SMT zusätzlichen Verwaltungsaufwand, dafür dass die Auslastung der Funktionseinheiten nicht/kaum verbessert werden kann, da schlicht keine Resourcen frei sind um die Threads auf dem virtuellen Kern laufen zu lassen bzw. die Threads auf den V-Core Resourcen vom Threads auf dem nativen Kern kanibalisieren.

Insofern gibt es das dickste Plus bei Anwendungsfällen, die gut parallelisierbar sind aber gleichzeitig vergleichsweise mistig optimiert wurden bzw. nicht entsprechend optimiert werden können.
 
Zuletzt bearbeitet:
Bei Sandy Bridge (bzw. Ivy Bridge) wurden die Decode Queues noch statisch in 2x 28 Instruktionen aufgeteilt. Haswell besitzt eine gemeinsame Warteschlange mit insgesamt 56 Einträgen, die dynamisch auf die beiden Threads aufgeteilt werden können.

Zudem besitzt Haswell gegenüber Sandy Bridge ein größeres Out-of-Order-Fenster (ca. 15 Prozent mehr) sowie zwei zusätzliche Execution Ports (Port 6 --> zusätzliche ALU, Port 7 --> zusätzliche Address Generation Unit für Speichervorgänge).

Insgesamt stehen also im Out-of-Order-Teil deutlich mehr Resourcen zur Verfügung, die, wenn die Auslastung relativ hoch ist, durch SMT natürlich etwas besser gefüttert werden können.

Normalerweise gab es bei Intel mal eine interne Regelung, dass neue Features nur eingeführt würden, wenn mit 1% mehr Chipfläche mind. 2% mehr Performance erzielt wird. Bei SMT sind es pro Core afaik ca. 5% mehr Fläche, je nach Anwendung bringt das aber deutlich mehr.

Das ist vermutlich auch der Grund, warum Intel bei den Silvermont gegenüber den alten Saltwell-Designs das SMT wieder rausgeschmissen hat, da die OoO-Einheit einfach etwas zu schwach ist (bzw. die FPU sogar größtenteils In-Order arbeitet), als das sich das SMT großartig lohnen würde.

Bei Knights Landing (Xeon Phi), wo auch ein Silvermont-Ableger als Core-Design herhalten wird, gibt es dann aber sogar ein 4-Wege SMT (max. 72 Kerne, 288 Threads)
 
Zusatz :

Ich hab nochmal Haswell Reviews durchgeblättert , wenn man davon ausgeht das Haswell SMT rein theoretisch bei einem Dualcore 50% mehr draufpacken kann was einem ganzen Core entspricht (siehe Eingangspost) dann müsste bei einem Quadcore soviel bei rumkommen wie 2 Cores wenn man SMT draufpackt also bei 8 Threads 4C/8T . Die Leistung von 2 Cores in den 8 Threads wären ebenfalls wieder 50% auf dem Quadcore draufgepackt, in einem theoretischen Fall.
Wenn man jetzt Haswell Reviews auf Computerbase betrachtet kommen Realworld Anwendungen wie zb. WinRAR im Vergleich vom i5-4670 4C/4T zum i7-4770 4C/8T auf 35% Mehrleistung , dasselbe Ergebnis ebenfalls im x264 HD Benchmark was ja prinzipiell sowas wie Encodersoftware ist . 35% sind beim Quadcore zwar keine zusätzlichen 2 Kerne aber ein anderthalber ;)
Ich denke das ist jetzt schon etwas genauer als manch Bauchgefühle über die Haswell HT Leistung ;)
 
Zuletzt bearbeitet:
Und wie sieht es bei Sandy Bridge E (i7-3930K) aus? Wie viel Mehrleistung hat man da durch HT?
 
Voyager10 schrieb:
Zusatz :

Ich hab nochmal Haswell Reviews durchgeblättert , wenn man davon ausgeht das Haswell SMT rein theoretisch bei einem Dualcore 50% mehr draufpacken kann was einem ganzen Core entspricht (siehe Eingangspost) ...

Nochmal, das ist ein Gedankenspiel OHNE Basis. Je nach Anwendung kann der Leistungsvorteil von SMT 0% bis 50%* betragen. Selbst beim Encodieren von Videos können unterschiedliche Implementationen des x264 Codecs ganz unterschiedlich mit SMT skalieren.


*Es sind auch Extremfälle außerhalb dieses Bereiches denkbar, ist aber eher selten da entweder sehr gut optimiert oder extrem schlampig :)


Wie SMT skaliert ist recht unabhänig von den einzelnen Generationen der CPUs, es wird zwar daran gearbeitet, dass SMT die Effizienz bestmöglich steigert, jedoch sind die Tweaks an der CPU in dieser Richtung meist weniger wichtig als die Softwareoptimierung.
 
Turbo ist also auch ein Gedankenspiel ohne Basis , HSA ebenso ein Gedankenspiel ohne Basis ? Und deine Intension hatte auch keine Basis !? :D

Also mich interessiert das eben schon was aus den Ankündigungen geworden ist das die SMT (HT) Leistung von Haswell verbessert wurde .
 
Bei dem Thema sollte man auch beachten, dass es offensichtlich Programme gibt, die einfach eine gewisse Thread-Zahl voraussetzen.
Zum Beispiel Thief im CB-Test:

"Vier Kerne bzw. vier Threads benötigt Thief hingegen zwingend, um gut spielbar zu sein. Denn wie in unseren Tests zur CPU-Skalierung auffiel, stockt Thief im Sekundenabstand spürbar, sobald ein CPU-Kern deaktiviert wird. Die Leistung bricht dabei nur um 38 Prozent ein und die Framerate liegt per se noch im unkritischen Bereich. Mit nur zwei Kernen (2K) stockt das Spiel dann durchgehend, sodass trotz 41 Bildern pro Sekunde kein Spielen mehr möglich ist. Thief ist dabei jedoch nicht auf vier Kerne an sich angewiesen, sondern vier Threads sind ausreichend. Denn bei zwei aktiven Kernen inklusive Hyper Threading, sprich vier Threads, läuft Thief nicht nur deutlich schneller als mit drei Kernen, auch die Hänger sind verschwunden."

Hyperthreading ist also nicht nur eine Frage von mehr oder weniger Prozent Leistungszuwachs, sondern kann manchmal die Voraussetzung dafür sein, dass ein Programm überhaupt vernünftig läuft.
 
Und wie sieht es bei Sandy Bridge E (i7-3930K) aus? Wie viel Mehrleistung hat man da durch HT?

Das ist eben eine gute Frage , ich hatte gehofft das sich die Leser mit eigenen oder gefundenen Messwerten im Vergleich der Generationen mit einbringen anstatt immernur zu erklären wie schlecht SMT ist.
 
Zurück
Oben