Was bringen mehrere Rechenkerne?
-
Gregor schrieb:
Warum siehst Du da so eine Beschränkung?
Weil ich nun mal realistisch bleibe.

In der Theorie kann man immer viel. Die Praxis sieht aber oft anders aus. Ein Vergleich mit Flash oder anderen Speicherchips ist auch nicht ganz realistisch. CPUs haben zB eine ganz andere Thermik. Alleine das wird die Anzahl der Layer stark begrenzen.
Bei IBM übrigens wird dieses Stacking afaik erst mit 32nm Strukturen in Verbindung gebracht. Und selbst dann ist die Entwicklung noch lange nicht abgeschlossen. Von ersten Samples bis hin zu fertigen Produkten vergeht dann ebenfalls noch mal ordentlich Zeit. Wie ich schon sagte, das ist pure Zukunftsmusik. In den kommenden Jahren wirst du bei CPUs davon nichts sehen.
Btw, preislich halte ich das übrigens für ein erhebliches Problem. Was ist wohl wirtschaftlicher? 2 Dies für 2 separate Produkte, welche zB für jeweils $100 verkauft werden können? Oder 2 Dies für ein etwas leistungsstärkeres Produkt, welches zB für $150 verkauft werden kann? Die Kosten für Entwicklung und Umrüstung der Fabs werden sicherlich auch nicht gerade gering ausfallen. Es ist, wie so oft, eine Kosten-Nutzen-Frage. Für solche Hardware brauchst du hohe Margen. Und dann sind wir aber schon wieder in einem Nischenmarkt, auf dessen Basis du keine Massenware unters Volk bringen kannst. D.h., das ist kein Markt für GP CPUs.
Glaube es mir oder auch nicht, Raytracing Hardware wird sehr wahrscheinlich nicht auf GP CPUs basieren. Egal wie viel Cache dort theoretisch reingestopft werden kann. Weitaus wahrscheinlicher sind eben speziell dafür konzipierte GPUs. Ob dediziert oder in Verbindung mit einer CPU (siehe Swift), bleibt abzuwarten. Dein Cache Argument ist dabei genauso sehr oder vielmehr wenig relevant, wie dies bei aktuellen Rasterizern der Fall ist.
-
gehen wir hier nicht implizit davon aus, dass ein single-core prozessor aufgaben mit 100% erledigen kann?
wenn das nicht der fall ist, kann es sehr wohl sein, dass ein n-core prozessor mehr als doppelt so effizient sein kann.
-
Es gibt auch noch andere Fälle in denen man superlineare Speedups erzielen kann (also mit p Prozessoren mehr als p-fache Geschwindigkeit). Man stelle sich beispielsweise eine Suche mit branch-and-bound vor. Durch das parallele Absuchen mehrere Suchpfade stehen eventuell früher im Suchverlauf bessere Schranken zu Verfügung, die dazu führen können, dass größere Teilbereiche des Suchraums abgeschnitten werden können.
Allerdings wird der Unterschied auch nicht sooo riesig sein. Wäre er es doch, so sollte man einfach seinen einzelnen Prozessor benutzen um n Stück zu simulieren.
-
Gregor schrieb:
Artikel: http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2925&p=1
Bild: http://images.anandtech.com/reviews/cpu/intel/terascaleISSCC/future.gif
Ist ja cool, nur wie nutzen die Anwendungen effektiv 80 Cores? Manche Anwendungen sind ja schon bei 2 Cores ueberfordert.
-
DEvent schrieb:
Gregor schrieb:
Artikel: http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2925&p=1
Bild: http://images.anandtech.com/reviews/cpu/intel/terascaleISSCC/future.gif
Ist ja cool, nur wie nutzen die Anwendungen effektiv 80 Cores? Manche Anwendungen sind ja schon bei 2 Cores ueberfordert.
Naja, das ist natürlich erstmal nur ein Testchip, der seine Rechenleistung nur bei wenigen, ganz speziellen Anwendungen ausspielen kann. Aber es gibt durchaus Anwendungen, die sehr sehr viele Kerne ausnutzen können. Guck Dir heutige Supercomputer an: JUGENE in Jülich hat zum Beispiel mehr als 65.000 Prozessoren. Offensichtlich finden die Leute Anwendungen, die das ausnutzen können. So ein Supercomputer wird sicherlich eher im wissenschaftlichen Bereich genutzt und hin und wieder sicherlich auch an die Industrie "vermietet", aber ich wüsste nicht, warum Anwendungen für viele Kerne nur in so einem Umfeld anzutreffen sein sollten. Viele Kerne kann man ja schon schnell für die Bildverarbeitung, Videobearbeitung und so weiter verwenden: Dort kommt es oft vor, dass man die gleiche Operation auf jeden einzelnen Pixel eines Bildes anwenden möchte. Im Prinzip könntest Du soetwas so weit parallelisieren, wie es Pixel im Bild gibt. ...aber es wäre natürlich auch schon toll, wenn man für jede Bildzeile einen eigenen Kern zur Verfügung hat. Oder meinetwegen auch ein Kern pro 50 Bildzeilen. Raytracing wurde hier ja auch schon angesprochen. Das ist auch praktisch beliebig parallelisierbar. Mag sein, dass das in Computerspielen nicht kommt oder nicht so schnell kommt, aber für Kinofilme nimmt man das auf jeden Fall. Und wenn zu Hause mal jemand kreativ werden will, hat er mit derartigen Chips eine gute Grundlage für vieles, was er machen möchte.
Von einer massiven Erhöhung der Anzahl der Kerne profitieren natürlich bei weitem nicht alle Anwendungen. Es wird Anwendungen geben, denen das gar nichts bringt, sicherlich auch sehr rechenintensive Anwendungen. Aber ist das ein Grund, soetwas nicht zu machen? Ich finde nicht.
@groovemaster: Auf der ersten Seite des Artikels da oben steht übrigens sehr schön beschrieben, warum bei einer Erhöhung der Kernanzahl Die-Stacking kommen wird und warum man diese zusätzlichen Schichten dazu nutzen wird, einen sehr schnellen Speicher unterzubringen. Und bezüglich der Größes dieses Speichers:
Obviously there will still be a need for main memory, as Intel is currently estimating that a single layer could house 256MB of memory. With a handful of layers, and a reasonably wide external memory bus, keeping a CPU with tens of cores fed with data now enters the realm of possibility.
256MB pro Schicht. Das ist ja noch viel mehr, als ich erhofft hatte.

-
Ich denke bei so 80 Cores kommen die VMs wie Java oder .net zum Zuge. Eine Java Applikation hat jetzt 4 Threads:
- Daemon Thread AWT-XAWT
- AWT-Shutdown
- AWT-EventQueue
- DestroyJavaVM
Dazu kommen noch ein paar Timer-Threads wenn man irgendwelche Daten hat die sich staendig aendern, usw.
Ich denke bei 80 Cores kann man dann ohne nachzudenken fuer jede Aufgabe ein eigenen Thread laufen lassen. Vielleicht haben wir dann eine API, die das dann vernueftig aufteilen kann und ueberfluessige Threads vereinen kann oder so.
Was das Standard wird, wird man in der Zeit nie mehr was von single-Thread-Anwendungen hoeren

-
Gregor schrieb:
@groovemaster: Auf der ersten Seite des Artikels da oben steht übrigens sehr schön beschrieben, warum bei einer Erhöhung der Kernanzahl Die-Stacking kommen wird und warum man diese zusätzlichen Schichten dazu nutzen wird, einen sehr schnellen Speicher unterzubringen. Und bezüglich der Größes dieses Speichers:
Obviously there will still be a need for main memory, as Intel is currently estimating that a single layer could house 256MB of memory. With a handful of layers, and a reasonably wide external memory bus, keeping a CPU with tens of cores fed with data now enters the realm of possibility.
256MB pro Schicht. Das ist ja noch viel mehr, als ich erhofft hatte.

Ja ja, Intel war immer schon gross im Ankündigen. Selten haben sie das auch gehalten. Ich warte zB immer noch auf den 10 GHz P4.

Du scheinst mich auch nicht zu verstehen. Ich habe nicht gesagt, dass diese Entwicklung nicht stattfinden wird. Nur in den kommenden Jahren wirst du davon nichts sehen. Und wenn man soweit ist, werden erstmal sehr wenige Layer eingesetzt und schrittweise weiterentwickelt. Leistung ist schon lange nicht mehr alles, Effizienz ist in vielen Bereichen weitaus wichtiger. Und inwiefern sowas dann im Massenmarkt eingesetzt wird, bleibt abzuwarten. Wirtschaftlich macht das nur begrenzt Sinn. GP CPUs werden jedenfalls nicht die Träger für Echtzeit Raytracing sein. Ende der Geschichte.DEvent schrieb:
Gregor schrieb:
Artikel: http://www.anandtech.com/cpuchipsets/showdoc.aspx?i=2925&p=1
Bild: http://images.anandtech.com/reviews/cpu/intel/terascaleISSCC/future.gif
Ist ja cool, nur wie nutzen die Anwendungen effektiv 80 Cores? Manche Anwendungen sind ja schon bei 2 Cores ueberfordert.
Das sind allerdings keine 80 Kerne, wie du sie von x86 CPUs kennst. Das sind ganz einfache Recheneinheiten, vergleichbar mit Shadern in GPUs. Ob so eine CPU jemals die notwendige x86 Kompatibilität besitzen wird, um sie in gewöhnlichen Desktop Rechnern einzusetzen, ist auch fraglich. Der Multicore Ansatz ist für Desktop- und Mobil-Plattformen auch eher suboptimal. Tera Scale ist auch erstmal ein reines Forschungsprojekt. Konkrete Anwendungen sind noch nicht geplant. Und wie ich schon sagte, vorstellbar wäre der Einsatz in zukünftigen Grafiklösungen von Intel. Vielleicht kann man damit aber auch die z-Serie von IBM angreifen.
-
groovemaster schrieb:
Ja ja, Intel war immer schon gross im Ankündigen. Selten haben sie das auch gehalten. Ich warte zB immer noch auf den 10 GHz P4.

Du scheinst mich auch nicht zu verstehen. Ich habe nicht gesagt, dass diese Entwicklung nicht stattfinden wird. Nur in den kommenden Jahren wirst du davon nichts sehen. Und wenn man soweit ist, werden erstmal sehr wenige Layer eingesetzt und schrittweise weiterentwickelt. Leistung ist schon lange nicht mehr alles, Effizienz ist in vielen Bereichen weitaus wichtiger. Und inwiefern sowas dann im Massenmarkt eingesetzt wird, bleibt abzuwarten. Wirtschaftlich macht das nur begrenzt Sinn. GP CPUs werden jedenfalls nicht die Träger für Echtzeit Raytracing sein. Ende der Geschichte.Hi. GPCPUs sind eine andere Entwicklung, die nichts mit Raytracing zu tun hat. Das sehe ich auch. IMHO ist das vorerst eine Entwicklung, um Bürorechner billiger zu machen. Die Grafikfunktionalität des Chipsatzes wird da dann einfach in die CPU verlagert.
Aber die Erhöhung der Anzahl der Kerne im Prozessor ist eben auch eine Entwicklung, die sich auch sicherlich noch in den nächsten Jahren fortsetzen wird. Ich habe immer einen Zeitpunkt "in 5 Jahren" im Blick. Es kann sein, dass Du da eher die nähere Zukunft betrachtest. In 5 Jahren könnten wir zumindest 16 bis 32 Kerne in einem Prozessor haben. Das sind schon eine ganze Menge Kerne und die Probleme bezüglich der Speicheranbindung, die in dem Artikel skizziert werden, sind bei dieser Kernanzahl definitiv schon sehr real. Und dafür müssen dann auch Lösungen gefunden werden, sonst kommt man an einen toten Punkt der Entwicklung. Denn was will man auf einem Prozessor-Die unterbringen? Eine andauernde Erhöhung der Komplexität der einzelnen Kerne bringt zumindest immer weniger, was das Verhältnis aus Leistungszuwachs und zusätzlich benötigter Die-Fläche betrifft. Und wenn man zusätzliche Kerne nicht auslasten kann, dann bringt es auch nichts, davon noch mehr auf den Chip zu setzen. Was macht man also mit der zusätzlichen Transistorzahl, die bei jedem Miniaturisierungsschritt verfügbar wird? Intel hat zumindest gesagt, dass sie die Lösung für dieses Problem im Die-Stacking sehen. Das geißt, dass in diese Richtung Forschung und Entwicklung betrieben wird. Ich persönlich sehe dazu momentan auch keine Alternative. Siehst Du eine? Wenn ein entsprechender Speicherausbau im Prozessor vorhanden ist, stellt sich allerdings die Frage, wie man in der Computergrafik weitermachen will. Man ist dann an einem Punkt, an dem das Raytracing in Echtzeit vielleicht sehr viel eher zu realisieren ist, als heutzutage. Und es gibt schon eine ganze Menge Gründe, Raytracing gegenüber konventioneller Computergrafik, wie sie momentan von GPUs beschleunigt wird, zu bevorzugen. Guck Dir entsprechende Kinofilme an: Warum nutzen die Leute da Raytracing? Weil das Ergebnis besser ist und sie die Zeit und die Rechenleistung haben, um heute schon Raytracing zu nutzen.
-
BTW: Gerade habe ich das da entdeckt:
http://tech.slashdot.org/tech/08/03/31/1423247.shtml
This is breaking news. Microsoft has not only decided to support ray tracing in DirectX 11, but they will also be basing it on Intel's x86 ray-tracing technology and get this ... it will be out by the end of the year!
-
Ganz bestimmt ein Aprilscherz.

-
Gregor schrieb:
Hi. GPCPUs sind eine andere Entwicklung, die nichts mit Raytracing zu tun hat. Das sehe ich auch. IMHO ist das vorerst eine Entwicklung, um Bürorechner billiger zu machen.
Nicht nur. GP CPUs bestimmen den Massenmarkt. Die ganzen 0815 Desktop Rechner bei MM und Co, Minirechner wie den Eee PC, HTPCs, UMPCs und was weiss ich nicht alles. Der Markt ist riesig und noch lange kein Ende in Sicht. Vermutlich wird x86 auch in noch niedrigere Regionen, wie Handlhelds, Mobiltelefonen, etc. vorstossen. Intels Atom ist da sicherlich nur der Anfang. Für all das brauchst du preiswerte und sparsame Chips. Leistung für diese Marktsegmente ist heutzutage sowieso schon genug vorhanden. Das wird in Zukunft sicherlich nicht schlechter werden.
Gregor schrieb:
Aber die Erhöhung der Anzahl der Kerne im Prozessor ist eben auch eine Entwicklung, die sich auch sicherlich noch in den nächsten Jahren fortsetzen wird. Ich habe immer einen Zeitpunkt "in 5 Jahren" im Blick. Es kann sein, dass Du da eher die nähere Zukunft betrachtest. In 5 Jahren könnten wir zumindest 16 bis 32 Kerne in einem Prozessor haben. Das sind schon eine ganze Menge Kerne und die Probleme bezüglich der Speicheranbindung, die in dem Artikel skizziert werden, sind bei dieser Kernanzahl definitiv schon sehr real.
Nicht wirklich. AMD kann heute schon problemlos 4P Quadcore Plattformen ausreichend befeuern. Und die wirklich interessanten Sachen diesbezüglich kommen ja erst noch. Wie gesagt, in diesem Punkt solltest du besser nicht Intel als Maszstab nehmen.
Gregor schrieb:
Und dafür müssen dann auch Lösungen gefunden werden, sonst kommt man an einen toten Punkt der Entwicklung. Denn was will man auf einem Prozessor-Die unterbringen?
So sollte man eigentlich nicht denken.
Jeder durch Shrinking gewonnene mm² muss nicht sofort wieder mit Transistoren vollgestopft werden. Bessere Ausbeute oder weniger Leistungsaufnahme sollten eigentlich gute Argumente dagegen sein. Natürlich wird man trotzdem die gewonnene Fläche teilweise wieder mit zusätzlicher Logik oder Cache ausfüllen. Aber das wird weder in naher Zukunft noch in 5 Jahren unverhältnismässig sein. Irgendwann ist auch mal Schluss mit Silizium. Was dann kommt, ist auch ungewiss.Gregor schrieb:
Eine andauernde Erhöhung der Komplexität der einzelnen Kerne bringt zumindest immer weniger
So wie es momentan ist, ja. Aber das muss ja nicht so bleiben. Ich könnte mir zB gut vorstellen, dass eine Art "Super-Kern" für den Desktop Bereich weitaus besser geeignet wäre. Sämtliche Recheneinheiten, wie ALUs oder FPUs, die momentan verteilt auf mehreren Kernen liegen, werden dann zusammengeschalten, um so zu jeder Zeit die maximale Performance ausreizen zu können, egal ob eine Anwendung multithreaded ist oder nicht. Drumherum noch einen Hardware Thread Scheduler, und fertig wäre das Baby. Dann könnte man sich auch solches Geplänkel wie Hyperthreading sparen, da das praktisch inklusive ist. Inwiefern sowas zu realisieren ist, kann ich natürlich schlecht beurteilen. Es muss aber nicht unbedingt so sein, dass der aktuelle Multicore Ansatz endgültig ist.
Gregor schrieb:
Was macht man also mit der zusätzlichen Transistorzahl, die bei jedem Miniaturisierungsschritt verfügbar wird? Intel hat zumindest gesagt, dass sie die Lösung für dieses Problem im Die-Stacking sehen. Das geißt, dass in diese Richtung Forschung und Entwicklung betrieben wird. Ich persönlich sehe dazu momentan auch keine Alternative. Siehst Du eine?
Klingt auf jeden Fall lustig. In zusätzlicher Die Fläche sehe ich ehrlich gesagt nicht wirklich ein Problem.
Aber wie bereits erwähnt, mehrere Dies in einer CPU unterzubringen, kann durchaus ein Thema in den nächsten 5-10 Jahren werden. Ich sehe hier vorerst aber keine Notwendigkeit für den Massenmarkt. Vielleicht denke ich hier auch zu pragmatisch. Aber das scheint mir bei den entsprechenden Unternehmen ähnlich zu sein.Gregor schrieb:
Wenn ein entsprechender Speicherausbau im Prozessor vorhanden ist, stellt sich allerdings die Frage, wie man in der Computergrafik weitermachen will. Man ist dann an einem Punkt, an dem das Raytracing in Echtzeit vielleicht sehr viel eher zu realisieren ist, als heutzutage.
Nochmal, CPUs spielen hierbei keine Rolle. Die Rechenleistung ist der von GPUs weit unterlegen. Und falls man Die Stacking für Echtzeit Raytracing für sinnvoll erachtet, wird man das dort eher noch verwenden.
Gregor schrieb:
BTW: Gerade habe ich das da entdeckt:
http://tech.slashdot.org/tech/08/03/31/1423247.shtml
This is breaking news. Microsoft has not only decided to support ray tracing in DirectX 11, but they will also be basing it on Intel's x86 ray-tracing technology and get this ... it will be out by the end of the year!
Ja, guten Morgen und April April. :p
-
@groovemaster, Optimizer. Die Meldung ist vom 31.3., falls euch das nicht aufgefallen ist.
*dummdidumm*
-
Gregor schrieb:
@groovemaster, Optimizer. Die Meldung ist vom 31.3., falls euch das nicht aufgefallen ist.
*dummdidumm**murmelzeitzonenmurmel*
-
während amd mit ach und krach ihre 2-kern-prozessoren auf den markt gebracht hat (mit fehlern, versteht sich) hat intel schon die quad-cores perfektioniert.
-
´wiczer schrieb:
während amd mit ach und krach ihre 2-kern-prozessoren auf den markt gebracht hat (mit fehlern, versteht sich) hat intel schon die quad-cores perfektioniert.
Ich erinnere mich an Zeiten wo AMD Intel in den Schatten gestellt hat, so ist das nunmal mal liegt der eine vorne mal der andere, hauptsache es gibt Konkurrenz, das kommt dem Endkunde immer zu gute. Wenn Intel gerade die bessere CPU produziert nehme ich die und wenn AMD gerade die bessere CPU produziert nehme ich die, egal wie ich als Endkunde bin der Gewinner so lang es Konkurrenz gibt.
-
nun ja also das kann man auch nicht wirklich so sagen. Der quad-core von intel ist doch nur 2-kern prozessoren aneinandergeklebt, wohingegen bei amd der 4-kern prozessor aus einem die besteht.
Der unterschied ist im endeffekt zwar nicht wichtig, zeigt aber eigentlich, dass bei intel auch nicht alles rosig ist.
-
Gregor schrieb:
@groovemaster, Optimizer. Die Meldung ist vom 31.3., falls euch das nicht aufgefallen ist.
*dummdidumm*
graphics, aprilfools, fake (tagging beta)
Schau mal auf die Uhrzeit und dann rechne die Zeitzonen noch hinzu. :p
´wiczer schrieb:
während amd mit ach und krach ihre 2-kern-prozessoren auf den markt gebracht hat (mit fehlern, versteht sich) hat intel schon die quad-cores perfektioniert.
Dumm nur, dass AMD schon länger Quadcores auf dem Markt hat, Intels Core2 Prozessor selbst ein Jahr nach der Vorstellung noch massive Fehler hatte, die aktuellen Intel Quadcores genauso fehlerbehaftet sind, wegen einem gravierenden FSB Bug, vergleichbar mit der TLB Geschichte bei AMD, verschoben wurden, der erste wirkliche Quadcore Prozessor von Intel erst mit Nehalem kommt und Perfektion nirgendwo in Sicht ist. Willkommen in der Realität.
