Ist das Performancewachstum bei den CPUs gestoppt?
-
-
kritisher Beobachter schrieb:
Ist das Performancewachstum bei den CPUs gestoppt?
Ja, seit 10 Jahren schon.
-
nein, die physikalischen grenzen sind noch nicht überschritten und man darf noch so einiges erwarten.
http://www.tomshardware.de/CPU-Entwicklung-Strukturbreite-5nm-7nm-10nm,news-247513.html
und wenn "nur" stromsparende systeme mit weniger energieverbrauch dabei rauskommen, ist das schon viel wert.
spannend wird es auch in der quantencomputer-forschung, laut wikipedia steckt die entwicklung noch in den kinderschuhen.
http://de.wikipedia.org/wiki/Quantencomputer
-
-
Multicorediagram schrieb:
1024 cores bringen nur nix.
Da gab's doch von John Carmack mal so ein Diagram über Quake ? und dem nutzen von MultiCore CPUs.
Mit jeder weiterem Core verringerte sich der Performancegewinn und ab AFAIK ca. 4 Kernen war nicht mehr viel zu gewinnen.
Leider finde ich das Diagramm nicht mehr.
Das ist wohl sehr anwendungsabhängig. Es gibt jede Menge Anwendungen, die auch von sehr vielen Rechenkernen profitieren.
-
Warum haben die neuen Haswells nur 4 Kerne?
-
Gregor schrieb:
Das ist wohl sehr anwendungsabhängig. Es gibt jede Menge Anwendungen, die auch von sehr vielen Rechenkernen profitieren.
Mir ging es um Spiele und Anwendungen die der typische Endanwender so benützt
und von denen gibt's außer Videocodecs und Packer nicht viel, was von Multicores mit mehr als 4 Kernen wesentlich profitiert.
-
Es ist aber nicht grundsätzlich so, das man in Spielen nicht mehr als 4 Prozessoren ausnutzen könnte. Mit der doppelten Anzahl an Prozessoren hat man einfach die doppelte Menge an Rechenleistung zur Verfügung, das heißt man kann im idealen Fall in der gleichen Zeit doppelt soviel berechnen. Also man könnte z.B. mehr Objekte physikalisch simulieren oder so.
Auf aktuelle Spiele wirkt sich das natürlich weniger aus, da dort vermutlich 4 Kerne ausreichen. Aber wenn die Anzahl der Kerne mit der Zeit steigt, dann wird man die auch in zukünftigen Spielen ausnutzen können.
-
J.Carmack hat ja geschaut, wie gut das skaliert.
Da Spiele alle ähnlich funktionieren, würde ich davon ausgehen, dass das allgemeingültig ist, du wirst nämlich immer einen Single Thread haben, der das ganze Zeugs verteilen muss und das geht bei Zeitkritischen Spielen einfach nicht gut. Die anderen Kerne liefern ihr Rechenergebnis zurück und dann müssen sie von dem einen Thread wieder mit neuen Daten gefüttert werden, das ganze natürlich zeitkritisch, denn die Ergebnisse braucht man ja wieder für das nächste Frame usw..
Das kann man also nicht ganz mit Anwendungen vergleichen, die einmal auf 1024 Kernen ihre Daten schieben und dann diese in Ruhe durchrechnen lassen.
Fazit:
Spiele skalieren einfach nicht gut und John Carmack hat das in seinem Diagram aufgezeigt.Bei 8 Kernen gibt's noch ein klein bischen was, bei 16 schon fast gar nichts mehr usw.
-
1.) Siele brauchen keine 1024 Kerne.
2.) Wenn sie es doch brauchen, dann machen sie Echtzeitraytracing.Es gibt auch Anwendungen, die keine 3GHz brauchen, beispielsweise Office-Programme.
-
Geht es bei Carmack/Spielen um die Graphik oder auch um die KI?
-
@Multicorediagram:
Ich glaube, die Betrachtung heutiger Anwendungen wird der Einfuehrung von multiplen Rechenkernen in CPUs nicht unbedingt gerecht. Mit den Prozessoren, die man in 10 Jahren hat, willst Du vor allem die Anwendungen performant ausfuehren koennen, die es dann gibt. Die Anwendungen von gestern werden dann voellig ohne Probleme laufen und den Prozessor eben nicht auslasten.
Die eigentliche Frage ist also eher, welche neuen Moeglichkeiten man durch Many-Core-Prozessoren bekommt. Die Anwendungen werden sich so aendern, dass sie das ausnutzen.
Ich weiss nicht, was momentan bei Spielen die meiste CPU-Rechenzeit benoetigt. Vielleicht ist es die KI, vielleicht ist es die Physik, vielleicht ist es etwas ganz anderes. KI und Physik sollten aus meiner Sicht allerdings problemlos auch sehr massiv parallelisierbar sein.
Jenseits davon: Wenn auf einer Anwendung "Multimedia" oder so draufsteht, dann ist es sehr wahrscheinlich, dass sie auch von vielen Rechenkernen profitiert. Videos (oder vielleicht Videobearbeitung) hast Du ja schon genannt. Bildbearbeitung profitiert natuerlich auch davon und Audiosoftware sollte auch profitieren. Multimediaanwendungen gehoeren zu den Anwendungen, die im Vergleich zu anderen vom Normalverbraucher genutzten Anwendungen eher mehr Rechenleistung benoetigen und da ist es doch gut, dass gerade diese Anwendungen von zusaetzlichen Rechenkernen profitieren.
-
es gibt einfach probleme die sich nicht performant (linear) parallelisieren lassen.
-
langsamer code kenner schrieb:
es gibt einfach probleme die sich nicht performant (linear) parallelisieren lassen.
Das heißt aber nicht, dass man nicht stattdessen was anderes machen kann, mit dem man auch jede Menge Spaß haben kann. Um beim Spielebeispiel zu bleiben, könnte man in Zukunft zum Beispiel die Physik der Spielwelt verbessern. Das lässt sich ganz wunderbar parallelisieren, sofern man nur Mechanik macht. Heutzutage hingegen geht eine aufwändige Physik im Spiel noch gar nicht, da die 4-8 Kern CPUs noch nicht genug Rechenleistung bieten. Daher gibt's ja auch die Physikkarten und Physikimplmentierungen auf der Grafikkarte. Da hat man wieder Parallelrechner vorliegen.
-
hmmmmmmmmm schrieb:
Warum haben die neuen Haswells nur 4 Kerne?
Das frag ich mich auch.
Vor allem ist für mich irgendwie überhaupt kein echter Fortschritt erkennbar.i7 3770: 4C 8T, 3.4 GHz (3.9 Turbo), HD 4000, 32+32kB/C L1, 256kB/C L2, 8MB L3, 77W
i7 4770: 4C 8T, 3.4 GHz (3.9 Turbo), HD 5200, 32+32kB/C L1, 256kB/C L2, 8MB L3, 84WWenn man nur nach diesen Daten geht dann sieht Haswell aus wie SB + bessere Grafik + ein paar Zusatzfeatures (AVX2, ...) mit inetwa dem selben Verbrauch.
(84W mit Spannungswandler in der CPU wird wohl nicht so viel schlechter sein als 77W mit externem Spannungswandler -- bei den 84W sind ja dann die Verluste vom Wandler mit dabei).Ich hätte mir zumindest nen höheren Turbo-Takt erwartet wenn schon nicht mehr Cores, bzw. einfach irgendwas was bei bestehenden Anwendungen was bringt. (Neue Instructions sind zwar fein, aber helfen bei bestehenden Anwendungen halt genau gar nix.)
Kann man nur warten und hoffen dass sie die Superskalarität verbessert haben, bzw. halt allgemein den Befehlsdurchsatz/Zyklus. Das wäre natürlich auch sehr cool, aber ich erwarte mir nicht dass sich da noch viel tun wird.
-
SeppJ schrieb:
langsamer code kenner schrieb:
es gibt einfach probleme die sich nicht performant (linear) parallelisieren lassen.
Das heißt aber nicht, dass man nicht stattdessen was anderes machen kann, mit dem man auch jede Menge Spaß haben kann. Um beim Spielebeispiel zu bleiben, könnte man in Zukunft zum Beispiel die Physik der Spielwelt verbessern. Das lässt sich ganz wunderbar parallelisieren, sofern man nur Mechanik macht. Heutzutage hingegen geht eine aufwändige Physik im Spiel noch gar nicht, da die 4-8 Kern CPUs noch nicht genug Rechenleistung bieten. Daher gibt's ja auch die Physikkarten und Physikimplmentierungen auf der Grafikkarte. Da hat man wieder Parallelrechner vorliegen.
Physikbeispiel in Spielen anhand eines Wasserfalls.
Man zerlege das Wasser in kleine Kügelchen (oder Würfel whatever...), jede Kugel entspricht einem Objekt.
Wenn nun 10000 Kugeln auf eine Kugel einwirken, dann wird diese eine Kugel um den Vektor v und die Geschwindigkeit x weitergedrückt. v und x sind zu berechnen.Was bringen dir hier parallele Threads, wenn du die Wirkweise und Geschwindigkeit jeder anderen Kugel berechnen mußt, ehe du überhaupt diese eine Kugel berechnen kannst?
Das ganze Szenario ist also sehr linear, von mehr Gigaherz hätte man mehr, als von paralellen Recheneinheiten.
-
hustbaer schrieb:
Kann man nur warten und hoffen dass sie die Superskalarität verbessert haben, bzw. halt allgemein den Befehlsdurchsatz/Zyklus. Das wäre natürlich auch sehr cool, aber ich erwarte mir nicht dass sich da noch viel tun wird.
Da die Kosten bei der immer kleiner werdenden Fertiungsgröße immer stärker steigen führt dies dazu, dass Produkte längere Zeiträume politisch gewollt aktuell bleiben und nicht durch etwas besseres abgelöst werden.
Da man aber zumindest einen µ kleinen Fortschritt vorweisen können möchte, wird das eigentliche Potential erst ganz am Ende der Fertigunggröße ausgeschöpft werden, dies ist politisch gewollt durch wirtschaftliche Fundamentaldaten, die Kosten so einer Fab lassen sich nämlich nicht so leicht wegretouchieren.Intel läßt also ganz bewußt die CPUs nur ein klein wenig allmählich besser werden, ohne dabei aber gleich die fette Sau rauszulassen.
Hinter verschlossenen Türen hat Intel sicher besseres vorzuweisen, aber das wird uns erst dann im Markt begegnen, wenn man die Kosten für die kleinere Fertigungsgröße wieder drin hat.Und das gilt erst Recht, solange die Konkurrenz wie z.B. AMD nicht in die Gänge kommt und da die inzwischen das gleiche Problem haben, auch die können die hohen Kosten für die kleine Fertiungsgröße nicht einfach ignorieren, haben hier beide Firmen gemeinsame Interessen.
Das war früher noch nicht so, da waren die steigenden Kosten für die Die-Shrinks über die Stückzahlen noch gut zu tragen und ganz früher zu Penitum Zeiten, da hatte Intel auch kaum Konkurrenz, womit man hier zwecks möglichst guter Gewinnmargen schonmal den damals entwickelten Pentium 2 266 MHz 10 Monate zurück hielt, um die Lager für die Pentium MMX und Pentium Pro Prozessoren leer zu machen.
Das hat damals sogar so lange gedauert, dass AMD mit dem K6-2 vor der Tür stand und Intel schlagartig, innerhalb von 5 Monaten, nach dem dann der Pentium 2 (Klamath) endlich in den Läden erhältlich war, gleich den besseren Pentium 2 Deschuteh auf den Markt warf, der höhere Taktraten hatte und wesentlich weniger Strom verbrauchte.
Und warum waren das zwischen dem Klamath und dem Pentium 2 nur gefühlte 5 Monate?
Weil AMD endlich Druck machte und der Pentium 2 Klamath eigentlich nicht 5 Monate zurücklag, sondern 15 Monate. Die 10 anderen Monate hat er nämlich in den lagern auf den Verkauf gewartet.Ja, so kann das gehen.
Früher war das ganze, mangels Konkurrenz nur politisch so gewollt.
Und heute legen die hohen Fertiungskosten das Maß der Dinge so fest.Wer heute einen Rechner kauft, der kann also ganz beruhigt schlafen, weil er weiß, dass er auch noch in 3 Jahren eine CPU haben wird, die zur High Performance gehört.
Und wer bei Sandy Bridge gleich die richtige CPU auswählte, der kann das auch heute noch bestätigen, weil er kaum einen Ivy Bridge auf dem Markt finden wird, der wesentliche Besserungen aufweist, als sein > 2 Jahre alter Sandy Bridge.Man lese dazu:
PS:
Ich habe meinen Pentium 2 266 MHz irgendwann im November 1997 gekauft, zu dem Zeitpunkt, war der P2 schon seit Mai fertig, aber eben nicht in den Läden verfügbar, denn er wurde zurückgehalten.
Und kaum war der Winter rum, schon stand der Pentium 2 300 - 400 MHz Deschute in den Läden und ich durfte mich ärgeren, weil ich für viel Geld nach nur 5 Monaten ganze 133 MHz mehr bekommen hätte können.
Das war damals, als 33 MHz mehr Speed noch sehr viel bedeutete.
-
@dfg
Meinst du dass Intel sich den nächsten CPU-Performance-Schub für den nächsten Shrink (bzw. kurz nach dem nächsten Shrink) aufhebt, weil einerseitz AMD im Moment im CPU High-Performance-Bereich nicht mithalten kann, und andrerseits damit sie dann wieder neue CPUs an die CPU-Performance-Klientel verkaufen können?Die Annahme/Sichtweise macht für mich zumindest irgendwie Sinn.
Und wo AMD im Moment "gefährlich" wird, also im Bereich ...
* Low-Power (Haswell: angeblich ab 10W)
* Low-Cost (mal sehen, hihi)
* Low-CPU-Performance (muss ja nicht sein, bzw. wird sich mit "Low-Power" von selbst ergeben)
* High-APU-Performance (gibt's schon Benchmarks? Gerüchteweise soll die HD5200 ja ganz nett werden.)
... versuchen sie jetzt mit Haswell nachzuziehen.Würde auch irgendwie Sinn machen. Bzw. NUC zielt ja auch bereits auf genau das Marktsegment ab.
ps: Intel und nVIDIA sollen sich einfach zusammentun. Dann müssen nicht drei Firmen getrennt Prozesse und Fabs antwickeln/bauen sondern nur noch zwei. Dann rentiert sich das auch schneller.
-
Fallbetrachtung schrieb:
Physikbeispiel in Spielen anhand eines Wasserfalls.
Was meinst du, warum ich explizit Mechanik gesagt habe? Eine Feldtheorie wie die Fluiddynamik ist nicht so gut parallelisierbar. Aber du machst ja trotzdem Punktmechanik:
Man zerlege das Wasser in kleine Kügelchen (oder Würfel whatever...), jede Kugel entspricht einem Objekt.
Wenn nun 10000 Kugeln auf eine Kugel einwirken, dann wird diese eine Kugel um den Vektor v und die Geschwindigkeit x weitergedrückt. v und x sind zu berechnen.Was bringen dir hier parallele Threads, wenn du die Wirkweise und Geschwindigkeit jeder anderen Kugel berechnen mußt, ehe du überhaupt diese eine Kugel berechnen kannst?
Wie kannst du etwas dermaßen paralleles beschreiben und dann behaupten, es sei nicht parallel? Wie berechnest du denn die Kräfte? Das ist trivial parallelisierbar, da alle Kugeln unabhängig sind.