Mehr Kerne = die "beste" Verbesserung?

Klar konnte der AMD K6 das schon. Aber bei weitem nicht so schnell und flüssig.

Setz dich mal an einen schnellen SingleCore Rechner und "arbeite" da mal ein wenig. Der Workflow ist bei weitem nicht so schön, wie an einem kleinen DualCore-System.

Beim SingleCore stockt es viel öfters und man muss warten, während beim DualCore alles flüssiger von der Hand geht.
 
Moin,

mal so aus der Praxis, da ich beruflich darauf angewiesen bin.
Ich arbeite mit Multitasking Optimierten Programmen (Musiksoftware) und da bedeutet jeder Kern mehr, ob virtuell oder nicht, ein Plus an Leistung. Das ist unabhängig von der Taktrate.

In den Bereichen merkt man dann auch warum der Intel 6 Kerner noch immer das Maß der Dinge ist, da selbst ein Core I990 X mit 4 Ghz noch deutlich schneller ist als ein Sandy Bridge 2600 K @ 4,5 Ghz. Der Grund ist, das die Last auf alle Kerne verteilt wird und zwar gleichmäßig. In diesem Fall, dank HT, sogar 12 zu 8!
In meiner täglichen Praxis ist das nicht nur Mess-, sonder auch spürbar.

Da immer mehr Programme Multitaskingfähig sind, wird das sehr bald auch für den "Hausgebrauch" gelten.

Ich meine auch immer mehr Spiele werden auf Multitasking optimiert und dann nützt einem irgendwann auch ein 20 GHZ Singlecore nix mehr, weil er die Befehle nicht Gleichzeitig abarbeiten kann. Oder anders ausgedrückt: 12 mal 4 Ghz zu 20 GHZ... Wer rechnen kann... ;)
 
Zuletzt bearbeitet:
@Blutschlumpf:
Nein, schafft er nicht.
Multioperation I/O ist das Problem.
Irgendwas muss die nämlich auch noch Regeln und das ist inzwischen mit der prozessor.
Außerdem sind die Taktgrenzen aufgrund der Transistoren einfach erreicht. Mit aktueller Technologie sind mehr als 4-5GHZ stabil einfach nicht drin. Da müssen dann zu hohe Spannungen angelegt und somit zu viel Wärme abgeführt werden. Ist quasi nur noch mit Wasserkühlung möglich.
Natürlich sind einzeltransistoren mit 10-100GHZ locker möglich, aber eben wie gesagt einzeln, nicht in tausendfachen arrays.
Hinzu kommt noch ein Punkt: Wenn ich Programme parallelisieren kann, bringt mir das mehr, als ein lineares Programm über Schleife mehrfach durchlaufen zu lassen. Ich hab nämlich bereits alle werte für einen vergleich und muss nach einmaligem durchlauf der schleife nicht noch auf den 2. und 3. Durchlauf warten, welche übrigens aufgrund der benötigten Operationen dann länger braucht, als die Schleife je einmal auf einem Kern zu haben und sie danach wieder zusammenzuschieben.
 
Was ist besser? Alles nacheinander mit viel Power rechnen zu lassen oder alles gleichzeitig mit etwas weniger Power rechnen zu lassen? Letzteres, zumindest wenn das Programm dies auch kann.

Mit einem Single-Core konnte man früher (und so lange ist das noch nicht her) so gut wie nichts nebenbei machen wenn man z.Bsp ein großes Archiv ent- oder gepackt hat oder einen Intensiv-Scan durchgeführt hat. Mit einem Quad (ent)pack ich 4 große Archive und hab trotzdem noch genug Power für alles andere.
 
Man darf nicht vergessen, das die CPUs neben den ganzen Kernen auch durch diverse Architekturverbesserungen immer schneller werden. Ein aktueller Core Ix Prozessor ist pro Kern und Takt locker 3x so schnell wie ein alter Pentium IV (wobei das stark Softwareabhängig ist). Wenn alle zusätzlichen Befehle (SSE, AVX) richtig unterstützt werden teils sogar noch erheblich mehr. Das ist schon ordentlich.
 
Mit der Anzahl der Kerne zur Geschwindigkeit verhält es sich in etwa wie die Anzahl der Räder an Fahrzeugen zur Geschwindigkeit.
Eins ist definitiv zu wenig um was zu erreichen, zwei bis vier sind optimal und mehr als vier nur für Spezialanwendungen zu gebrauchen.
Wie gut die Software(Fahrer) mit der jeweilligen Anzahl der Kerne(Räder, also Auto oder Motorrad) zurecht kommt, entscheidet über die erreichte Rundengeschwindigkeit.

So, das war die Erklärung für alle die mit der Hardware nicht per Du sind, den anderen muß es nicht erklärt werden. Die wissen auch so bescheid ;)
 
necoicould schrieb:
Hmm ja, das ist mir halt so aufgefallen, dass alles Steigt :D die Arbeitsspeicher, die CPUs und vieles mehr :D Ich glaube anders geht es gar nicht, weil ansonsten die Software optimiert werden müsste, damit das ganze schneller läuft, aber da es glaub mit der heutigen Technik nicht optimaler geht, versucht man das durch mehr "PS" :D

eher umgekehrt.
Spiele und Software muss für mehr Kerne optimiert werden damit du nen Vorteil hast.
Wenn man sich ´Benches anschaut dann sieht man, dass höher getaktete Quad's in Spielen meist besser abschneiden als niedriger getaktete Hexa-Cores.

Die meisten Media und Rendering Softwares hingegen sind schon auf mehr als 4 Kerne optimiert.

Ansonsten wie bereits unzählige male hier erwähnt, ist es schneller wenn mehr Kerne parallel und an verschiedenen Aufgaben arbeiten anstatt dass ein Kern sich zwei Aufgaben teilen muss; somit mehr Kerne = besser.

Man kann aber wie du sagtest auch die Architektur verbessern und einen einzelnen Kern schneller machen (das ist doch was jedes mal beim Generationswechsel passiert :P).
Ein Sandy Bridge Quad (2600k) kommt ja in einigen Multi-Threaded Anwendungen sehr nahe an den 980x heran der 6 Kerne hat.
 
Zuletzt bearbeitet:
Besonders bei spielen ist es wichtig da ja bilder für die Grafikkarte vorbeitet werden, und sachen wie dynamische models usw. Natürlich auch noch die anwendung im Hintergrund UND die Windows anwendung selbst.
Viele haben Messengers, FireFox, Downloaders und vieles mehr am Laufen beispiel Musik.
 
IceDragon87 schrieb:
Davon gehen wir ja mit aus.
Juhu, und wie oft tritt das auf, dass sich ein Programm aufhängt ?
1x im Monat wo du dann 10 Sekunden sparst die sich der Taskmanager schneller öffnet um das Programm zu beenden.
Dafür hat AMD vermutlich den X2 erfunden.

Aktuell hat das schon ein Sinn das sich die schlausten Köpfe der Welt zum mehr Kern endschieden haben.
Die schlauesten Köpfe haben sich dazu entschieden weil Sie den anderen Weg nicht umsetzen konnten.
Bevor die schlauesten Köpfe auf effiziente aber dafür niedrig getaktete Cores ausgewichen sind haben Sie es mit viel Takt probiert und sind gescheitert (= Pentium 4).

MichiSauer schrieb:
Außerdem sind die Taktgrenzen aufgrund der Transistoren einfach erreicht.
Genau das sage ich doch, die zusätzlichen Cores sind das Ergebnis davon, dass man beim Takt an die Grenzen des Wachstums gestoßen ist und doch keine Steigerung mehr erzielen konnte.

Mehr Cores ist und bleibt die Notlösung.
 
Juhu, und wie oft tritt das auf, dass sich ein Programm aufhängt ?

Du bist mein Held
Öffne mal dein zuverlässigkeitsverlauf dann siehst du es
 
Mit zunehmender Anzahl an Kernen wird das Ganze immer ineffizienter.
Mehr Kerne sind eher eine Notlösung als das Optimum, da sich leider nicht alles grenzendlos parallelisieren lässt.
Außerdem entsteht zusätzlicher Aufwand, um eine vernünftige Aufteilung der Aufgaben auf die einzelnen Kerne zu bewerkstelligen.

Man lese auch:
http://de.wikipedia.org/wiki/Amdahlsches_Gesetz
 
Zuletzt bearbeitet:
CPU werde nicht für dich gebaut sonder auch für Firmen und Server. Die davon profitieren
 
Multicore würde ich jetzt nicht als Notlösung bezeichnen. Ich bezeichne das eher als Übergang zum ManyCore.
Es ist eindeutig erkennbar, dass sich die CPUs von der Architektur her in dieselbe Richtung entwickeln wie die GPUs. Ein Beispiel ist da zB AMDs neue CPU-Generation, bei dem man konkret von einem Modul statt einer DualCore-Einheit spricht. Und das, weil sich zwei Kerne gegenseitig ein paar Ressourcen zur Verfügung stellen können.

Notlösung klingt nach "irgendwie passt's scho'". Das ist aber mitnichten der Fall!
 
Rein rechnerisch schon. Aber nehmen wir an, dass ein Programm die volle Aufmerksamkeit des SingleCores braucht, für 1 Minute. Beim DualCore mit halber Geschwindigkeit dauert das dann zwar 2 Minuten, dafür muss ich nicht 1 Minuten warten um andere kleine Aufgaben auszuführen, weil den Kleinkram ja der zweite Kern übernehmen kann.

Dafür ist aber das Betriebssystem da um dies zu verhindern bzw. je nach notwendigkeit zu verteilen.
Es ist einfach ein Fakt, dass ein schneller Singlecore definitiv überlegen ist. Alleine schon mathematisch, da man nie perfekt eine Anwendung auf 2 oder mehr Prozessoren verteilen kann. Also wäre ein Xcore nur im Idealfall genauso schnell wie ein doppelt so schneller singlecore. (Bsp: 2 * 1 ghz VS. 1 * 2 ghz).
Wer sich mal mit Echtzeitsystemen und sowas beschäftigt hat wird es verstehen wieso es so ist.
 
Konti schrieb:
Mit zunehmender Anzahl an Kernen wird das Ganze immer ineffizienter.
Mehr Kerne sind eher eine Notlösung als das Optimum, da sich leider nicht alles grenzendlos parallelisieren lässt.
Außerdem entsteht zusätzlicher Aufwand, um eine vernünftige Aufteilung der Aufgaben auf die einzelnen Kerne zu bewerkstelligen.

Man lese auch:
http://de.wikipedia.org/wiki/Amdahlsches_Gesetz

Ich zitiere mal aus dem Artikel:
Amdahls Gesetz ist eines der pessimistischsten zur Abschätzung des theoretischen SpeedUps, da es einige positive Faktoren nicht berücksichtigt. Nach Amdahl ist die größtmögliche Beschleunigung linear, also durch die 10-fache Anzahl von Kernen ist maximal die 10-fache Rechenleistung möglich. Jedoch ist in jeder CPU auch Cache integriert, so dass sich auch die Menge an schnellem Speicher verzehnfacht. Im günstigsten Fall ist es so möglich, die gesamte Problemgröße im Cache anstatt im langsamen Hauptspeicher zu halten, was einen super-linearen SpeedUp ermöglicht, also Beschleunigung, die über die zusätzliche, reine Rechenleistung hinausgeht.

Vielleicht sollte man sich ne Quelle erstmal selbst genau durchlesen, bevor man sich damit ins Knie schießt :D

@Blutschlumpf: Notlösung ist auf jeden Fall das falsche Wort. Es ist ja nicht so, dass man gerne immer schnellere SingleCore bauen wollte und dann auf Multicore umgestiegen ist, weil die höheren Taktraten nicht realisierbar waren.

Klar ist das auch ein Faktor, aber nicht der Alleinige.
 
In den Bericht ist nur aufgeführt das die zeit zum aufteilen ein minus im rennen ergibt.

Einer hatte das beispiel mit dem auto.
4 reifen bedeuten das zwar wegen jeder andriebs achse mehr wiederstand an sich endsteht und deshalb mehr PS für den eigendlichen unsinnigen antriebs achsen bewegen verloren geht. Bis mal der rest auf der straße ankommt.

Aber das auto hat mehr stabilität.

Warum den Jahre verschenken um ein Auto mit 1 Reifen zu erschaffen was nicht etwas an leistung für die ganzen Lager bewegungen abgibt.
Als schnell schnellere Auto zu bauen den dann ganz egal ist, da die Zeit zu verbesserung des motors verwendet wurde.

Moors gesetzt und Cach wichitger punkt, neben strom hitze usw
 
Fischkopp schrieb:
Moin,

mal so aus der Praxis, da ich beruflich darauf angewiesen bin.
Ich arbeite mit Multitasking Optimierten Programmen (Musiksoftware) und da bedeutet jeder Kern mehr, ob virtuell oder nicht, ein Plus an Leistung. Das ist unabhängig von der Taktrate.
...
Da immer mehr Programme Multitaskingfähig sind, wird das sehr bald auch für den "Hausgebrauch" gelten.

Ich meine auch immer mehr Spiele werden auf Multitasking optimiert und dann nützt einem irgendwann auch ein 20 GHZ Singlecore nix mehr, weil er die Befehle nicht Gleichzeitig abarbeiten kann. Oder anders ausgedrückt: 12 mal 4 Ghz zu 20 GHZ... Wer rechnen kann... ;)

Musiksoftware schreibst du, ich vermute mal das du Effekte auf die vorhandenen Musikdaten anwendest und es nicht um Echtzeitanwendungen geht? In diesem Fall werden mathematische Algorithmen angewendet die sich stark parallelisieren lassen, mit Multitasking hat das jetzt nur indirekt zu tun. Kurz gesagt, wenn der Algo sich auf ne GPU portierne läßt würdest du mehr Speed haben als mit jeder CPU.
Im "Hausgebrauch" braucht auch Multitasking, aber z.Z. sind IMO vier Kerne ausreichend. Insbesondere wenn es um Echtzeitanwendungen(z.B. Spiele) geht ist die Skalierbarkeit mit mehr Kernen eingeschränkt, mehr Speed pro Core bringt dagegen immer was. Ausnahmen bestätigen die Regel.

P.S. Der höhere Speed bei den Intel 6core kommt u.a. durch die Turbofunktion die einzelne Kerne übertaktet wenn der Rest nix tut.
 
Zuletzt bearbeitet: (P.S.)
Zurück
Oben