Nutzen von SMT bei Vierkern-CPUs im Hinblick auf die 1,6-GHz-Achtkerner der Konsolen?

Lios Nudin

BIOS-Overclocker(in)
Anlass zu diesem Thread ist der Kommentar von Carsten Spille in der aktuellen Ausgabe 12/2013 mit dem Titel "Wie lange werden Vierkern-CPUs für Spiele noch ausreichen?".

Was ist SMT:



Wiki

Der Begriff Simultaneous Multithreading (kurz SMT; deutsch etwa simultaner Mehrfadenbetrieb) bezeichnet die Fähigkeit eines Mikroprozessors, mittels getrennter Pipelines und/oder zusätzlicher Registersätze mehrere Threads gleichzeitig auszuführen. Hiermit stellt SMT eine Form des hardwareseitigen Multithreadings dar. ...

...Das Simultaneous Multithreading ist also zwischen Pipeline-Architektur und Mehrkern-Architektur anzusiedeln.
Abgrenzung zur Pipeline-Architektur/Superskalarität

Von der Pipeline-Architektur unterscheidet sich SMT dadurch, dass die Ausführung mehrerer Threads gleichzeitig möglich ist. Nicht nur Datenverarbeitungseinheiten des Prozessors wie ALU und FPU werden repliziert, sondern auch der Registersatz und die Befehlsdekodierung. Gegenüber dem System erscheint eine SMT-CPU meist wie mehrere unabhängige Prozessoren.
Die Pipeline-Architektur versucht, Befehle desselben Programms zu parallelisieren, und führt sie, falls dies aufgrund von Abhängigkeiten nicht möglich ist, sequenziell aus. SMT versucht die Befehle zweier oder mehrerer Threads (aus einem oder mehreren Programmen) zu parallelisieren, und führt sie, falls das nicht möglich ist, abwechselnd aus. (Dies kann als „Superskalarität über mehrere Threads“ bezeichnet werden.)
Bei beiden Konzepten handelt es sich also um eine Anstrengung, durch eine Parallelisierung der Befehlsverarbeitung die verschiedenen Einheiten einer CPU besser auszulasten und so eine höhere Geschwindigkeit der Programmverarbeitung zu erreichen, ohne die Taktfrequenz oder die Anzahl der befehlsausführenden Einheiten zu erhöhen, wobei der Parallelisierungsgrad bei SMT höher oder gleich, aber nie geringer als der der Pipeline-Architektur sein kann.
Abgrenzung zur Mehrkern-Architektur

Von der Multicore-Architektur unterscheidet sich SMT dadurch, dass die dem System gemeldeten Prozessoren einer SMT-CPU keine unabhängigen Prozessoren sind. Bei SMT teilen sich die virtuellen Prozessoren den Zugriff auf dieselben Datenverarbeitungseinheiten (ALU/FPU), während innerhalb eines Mehrkernprozessors jeder Kern seine eigene Datenverarbeitungseinheit besitzt.
Sowohl ein SMT-Prozessor mit zwei Threads als auch ein Doppelkern-Prozessor erscheinen gegenüber dem System als zwei Prozessoren. Jedoch handelt es sich bei einem Doppelkern-Prozessor um tatsächlich zwei unabhängige und dementsprechend schnelle Prozessoren, während es sich bei SMT um einen Prozessor mit zwei oder mehr Hardware-Threads handelt. ...
http://de.wikipedia.org/wiki/Simultaneous_Multithreading


Nun zu meiner Frage: Wenn die kommenden Konsolen acht langsame CPU-Kerne besitzen, ein Xeon 1230 vier schnelle CPU-Kerne besitzt und durch SMT wie oben erklärt acht Threads parallel bearbeiten kann, dann sollte ich doch in Sachen CPU-Leistung gut versorgt sein.



Wenn meine Überlegungen nicht zutreffen, wo liegt dann mein Denkfehler?
 
So pauschal kann man das nicht sagen...DENN es haengt vom spiel ab!am anfang werden die ps4/x one-spiele die konsolen nicht voll nutzen...
Mit einem xeon wird man noch ne weile up to date sein denke ich...selbst ein guter i5 ohne smt wird noch einiges leisten...hoffe das die chancen gut stehen damit auch smt was bringt...
Ich sag mal abwarten und tee trinken...
 
Nun zu meiner Frage: Wenn die kommenden Konsolen acht langsame CPU-Kerne besitzen, ein Xeon 1230 vier schnelle CPU-Kerne besitzt und durch SMT wie oben erklärt acht Threads parallel bearbeiten kann, dann sollte ich doch in Sachen CPU-Leistung gut versorgt sein.
Richtig.

Und da ein Kern eines i5 4670 schon deutlich mehr Leistung hat als zwei Kerne einer "Next Gen" Konsole, wird man auch ohne SMT (also mit nur 4 Threads) keine Probleme bekommen.
 
In den Konsolen steckt veränderte APU Technik von AMD drin. Das kann man sowieso nicht 1=1 auf den PC ummünzen.
Die Zeit wird es zeigen was wirklich besser ist.
 
Ob das eine APU ist oder ob man getrennte CPU und GPU hat, spielt für die CPU-Performance erstmal keine Rolle.
In diesem fall schon da die komplette Architektur leicht überarbeitet wurde.

Ich würde auch sagen: abwarten und Tee trinken. Noch kann keiner sagen wie sich die Konsolen nach 1-1,5 Jahren schlagen und wieweit da die steambox mitmischt.

MMn stehen die konsolenversionen aber in keinem direktem Verhältnis zur PC Version.
Je nach Qualität der Portierung und Optimierung kann's unterschiede geben.

Zudem sehe ich die derzeitigen 4 Kerner mit 4 Threads als leistungsfähiger an. Sollten jedoch alle Besonderheiten und alle verfügbaren Threads der Konsole genutzt werden müssen wir alle mal genau hinschauen was da besser abschneidet.

Auf der anderen Seite: wenn sich in 1-2 Jahren eine entsprechende Entwicklung Richtung 8threads großflächig abzeichnet wird Intel da mit Sicherheit flott reagieren.

Gruss
 
Ob das eine APU ist oder ob man getrennte CPU und GPU hat, spielt für die CPU-Performance erstmal keine Rolle.

Das würde ich nicht sagen.
Die Konsolen Spiele Entwickler entwickelt die Games ja auf Basis der APU und da sieht es eben anders aus als wenn du eine dedizierte Grafikkarte verbaut hast.
 
Der einzige Unterschied ist letztendlich der Shared Memory.
Ansonsten wird die Hardware prinzipiell genau so angesprochen.
(Von eventuell unterschiedlichen APIs mal abgesehen.)

So oder so weiß man aber schon, daß eben ein Kern der CPU dieser APU nicht mal halb so schnell ist wie ein Kern eines i5 4670.
Daher wird so ein Prozessor auch in der Lage sein, jeden Konsolenport mit mindestens gleichwertigen Settings zu spielen, solange es nicht ein völlig verhunzter Port ist (voraus gesetzt, man hat auch eine entsprechende Grafikkarte verbaut).

Man wird dann womöglich irgendwann nicht mehr alles auf "Ultra" stellen können, aber dieses "Ultra" wäre dann eben auch deutlich mehr als das, was man auf den Konsolen geboten bekommt.
 
Wie sehen hier jetzt die internen Abläufe bei der Abarbeitung der einzelnen Threads aus? Vier Kerne scheinen an ihrem Limit zu sein, d.h. vier rechenintensive Threads werden an die CPU geschickt. Aber die Frostbite Engine scheint ja mit mehreren Threads zu arbeiten, da SMT die FPS erhöht. Trotzdem sind es keine acht Threads, da die Auslastung dadurch bei mehr als 70% liegen müsste. Oder sind es acht Threads, die aber nicht alle gleichzeitig zur CPU geschickt werden?

Hier scheint es wieder der Fall zu sein, dass die bessere Auslastung der zwei Kerne durch SMT ausreicht, um die vier rechenintensiven Threads parallel abzuarbeiten. Wenn wie oben beschrieben vier echte Kerne zu 90% ausgelastet werden, wieso schließt dann ein Zweikerner mit SMT so dicht zu einem echten Vierkerner auf? SMT bedeutet zwar mehr Leistung bei parallelisierten Rechenschritten, aber es sind doch keine echten Kerne.

Wenn ich also im Fall der neuen Konsolen mit acht Kernen auf acht parallelisierte Rechenschritte optimiere, bei BF4 scheinen es ja vier zu sein, dann müsste SMT doch voll durchschlagen.

In den bisherigen CPU Benchmarks sind doch die Skalierungsergebnisse der APUs von AMD diesselben wie bei reinen Vierkern-CPUs. Wieso lässt sich das dann nicht mit der Jaguar-Architektur vergleichen?
 
Zuletzt bearbeitet:
Wie sehen hier jetzt die internen Abläufe bei der Abarbeitung der einzelnen Threads aus? Vier Kerne scheinen an ihrem Limit zu sein, d.h. vier rechenintensive Threads werden an die CPU geschickt. Aber die Frostbite Engine scheint ja mit mehreren Threads zu arbeiten, da SMT die FPS erhöht. Trotzdem sind es keine acht Threads, da die Auslastung dadurch bei mehr als 70% liegen müsste. Oder sind es acht Threads, die aber nicht alle gleichzeitig zur CPU geschickt werden?

Hier scheint es wieder der Fall zu sein, dass die bessere Auslastung der zwei Kerne durch SMT ausreicht, um die vier rechenintensiven Threads parallel abzuarbeiten. Wenn wie oben beschrieben vier echte Kerne zu 90% ausgelastet werden, wieso schließt dann ein Zweikerner mit SMT so dicht zu einem echten Vierkerner auf? SMT bedeutet zwar mehr Leistung bei parallelisierten Rechenschritten, aber es sind doch keine echten Kerne.

Wenn ich also im Fall der neuen Konsolen mit achte Kernen auf acht parallelisierte Rechenschritte optimiere, bei BF4 scheinen es ja vier zu sein, dann müsste SMT doch voll durchschlagen.

In den bisherigen CPU Benchmarks gab es doch die Skalierungsergebnisse der APUs von AMD diesselben wie bei reinen Vierkern-CPUs. Wieso lässt sich das dann nicht mit der Jaguar-Architektur vergleichen?
Das ein Dual Core + SMT fast so schnell ist wie ein echter Quadcore (bei gleicher Artchitektur und Takt) ist nur in Einzelfällen so. z.B. wenn ein Spiel sowieso nur 2 Kerne nutzt.

Denn bei 4 Threads die richtig was tun, ist man durch SMT bis zu 20% schneller. Und das ist in Spielen eher der Optimalfall und kommt nur selten vor. Da frag ich mich, wie das "kleine" Stück zwischen +20% und +100%, was für ein 2Core+SMT=4Core nötig wäre überbrücken will.

Um mal zur ursprünglichen Frage zurück zu kommen:
Kann man noch nicht sagen. Man kann eine Konsole ja nicht direkt mit einem PC vergleichen.
Grundsätzlich ist ein aktueller 4 Kerner auf dem PC aber schneller als der 8 Kerner der Konsole. Aber beim PC wird ja auch viel Leistung verschenkt.

Dann kommen neben der effizienteren Umsetzung des Programms auf einer Konsole noch andere tolle Dinge hinzu, wie z.B. der Shared Ram, wodurch sich viel mehr GPGPU Möglichkeiten ergeben.
 
Trotzdem sind es keine acht Threads, da die Auslastung dadurch bei mehr als 70% liegen müsste. Oder sind es acht Threads, die aber nicht alle gleichzeitig zur CPU geschickt werden?

Das ist eine Milchmädchenrechnung. Schließlich muss ein Thread einen einzelnen Kern ja bei weitem nicht zu 100% auslasten.
Vielleicht tut er es manchmal nur zu 5% - je nachdem, wieviel er grade zu tun hat.
 
War es nicht so das bei den neuen konsolen "nur" 6cores fürs spiel und die restlichen beiden fürs system genutzt werden?
demenstprechend wäre doch ein zukünftiger fokus auf 6 thread-optimierung realistischer als für 8Kerne, oder?
 
@drebbin
könnte man annehmen aber so läuft das nicht ...
die entwickler sind alle faul ^^
damit sie die hardware der nextgen konsolen ansprechen können müssen sie ihre engine's updaten bzw. entwickeln neue ...
dabei werden sie die engine auf mehr als 6 kerne programmieren , alles andere wäre schwachsinn da sie sich sonnst in ein paar jahren wieder die arbeit machen müssten :daumen:

ein aktueller i5 ist eigentlich sehr ineffizient wenn man zwischen i7 und i5 vergleichen würde
ich meine 25% mehr leistung aus der gleichen cpu mit 2 mb cache + smt zuziehen ist schon top :daumen:
und für alle die jetzt wieder meinen das die gpu eh limitiert ... auch die min fps steigen um 25 %

ich glaube smt könnte in zukunft sehr viel bewirken denn aktuell unterstützen die spieleengine's ''nur'' mehr als 4 kerne und smt , es ist aber immer noch ein unterschied ob sie die spiele auch darauf programmieren :ugly:
 
@drebbin
könnte man annehmen aber so läuft das nicht ...
die entwickler sind alle faul ^^
damit sie die hardware der nextgen konsolen ansprechen können müssen sie ihre engine's updaten bzw. entwickeln neue ...
dabei werden sie die engine auf mehr als 6 kerne programmieren , alles andere wäre schwachsinn da sie sich sonnst in ein paar jahren wieder die arbeit machen müssten :daumen:

ein aktueller i5 ist eigentlich sehr ineffizient wenn man zwischen i7 und i5 vergleichen würde
ich meine 25% mehr leistung aus der gleichen cpu mit 2 mb cache + smt zuziehen ist schon top :daumen:
und für alle die jetzt wieder meinen das die gpu eh limitiert ... auch die min fps steigen um 25 %

ich glaube smt könnte in zukunft sehr viel bewirken denn aktuell unterstützen die spieleengine's ''nur'' mehr als 4 kerne und smt , es ist aber immer noch ein unterschied ob sie die spiele auch darauf programmieren :ugly:
Das stimmt aber nicht ganz.
Die eigentliche Rechenleistung wird durch SMT nicht größer. Sie wird nur besser genutzt.
Es werden praktisch 2 Threads gleichzeitig vorbereitet und dann abwechselnd bearbeitet. Man nutzt die Rechenleistung also mit Befehlen aus einer 2. Pipeline, wenn in der 1. gerade eine Lücke ist. So hat man weniger nichts-tu-zeiten.

Deshalb hat man auch nicht immer einen Vorteil durch SMT.
 
Alles sehr komplex...warten wir mal ab wenn die neuen konsolen auf dem markt sind...ich glaub gelesen zu haben das bf4 auf der ps4 mit 900p laueft und auch nicht die 60fps halten kann...die xbox soll wohl nur 720p machen...soviel zur hardwareleistung...2-3jahren werden die konsolen erst am limit sein sagen die experten...
Und genau da kommt die allseits beliebte glasskugel ins spiel...egal wer was sagt oder behauptet, sehen werden wir es erst wenns so weit ist...
 
Ich meine mal gelesen zu haben das Crysis 3 die konsolenhardware so stark fordert das nichtmal ganz 1% übrig bleibt.
Mag auch sein das ich mich da etwas irre.
Fakt ist aber das nicht die Leistung im Laufe der Zeit immer größer wurde, sondern nur die Nutzung effizienter.
Aber da hilft wie gehabt nur Tee trinken und abwarten. Da die Konsolen ja "mehr" sein wollen und anscheinend auch immer weniger core gamer angezogen werden sollen wird sich die Entwicklung wohl kaum abschätzen lassen.

Zu allem Überfluss wird meine Xbox eigentlich nurnoch als karaokemaschiene missbraucht.
Bin schon sehr gespannt auf die Steamboxen. Mit denen könnte sich echt was bewegen.
 
Wenn du die Leistung von einem i3 und einem i5 vergleichst, wird dir auffallen, dass der i5 schneller ist. Warum nun aber?
Nun, der Zweikerner kann nur mit zwei Kernen rechnen, klar. Sollte jetzt ein Spiel, wie SC2, welches sowieso nur 2 Kerne nutzt, ankommen, und dazu wird SMT verwendet, so wird das Spiel überdurchschnittlich dargetsellt. Der i5 kann genauso gut rechnen, hier liegen aber zwei Kerne dann brach :D
Deshalb ist hier die Leistung zu vergleichen. In Sachen Rendern und co. wird der i5 den 3er in die Pfanne hau'n :D
Im Sinne von AMD und den aktuellen Konsolen werde ich davon ausgehen, dass die Games so programmiert werden, dass sie alle Kerne nutzen können. Da dies die NEXTGEN sind, soll die Spieleproduktion einfacher von Konsolen auf PC und andersherum funktionierne, so dass dieslebe Technik genutzt wird. Da sich die APU aber Bandbreite mit der internen GPU teilt, würde ich pauschal sagen, wir ziehen von eigentlichen Leistung 10% und dann passt das :D
Ich bin gespannt^^
 
Zurück