Geschwindigkeitsunterschied pro Kern bei gleichem Takt: Ivy Bridge vs. Ivy Bridge EP

BDifferent

Cadet 1st Year
Registriert
Jan. 2012
Beiträge
13
Hallo,

mich plagt die Frage, wie es denn eigentlich um den Geschwindigkeitsunterschied pro Kern bei gleichem Takt aussieht, wenn man einen neuen Xeon (bspw. E5-2680V2) nimmt und mit einem "normalen" Ivy Bridge-Kern vergleicht (wie dem i7-3770; oder auch mit einem Haswell i7-4770). Ist der Geschwindigkeitsunterschied zwischen der "Normalo"-Baureihe ohne "E*" und den großen Xeon-Brüdern groß?

Ich frage deshalb, weil ich beruflich mit einer wissenschaftlichen single-threaded-Simulation arbeite. Da es nicht in Frage kommt, diese zu parallelisieren, parallelisiere ich auf einer höheren Ebene :-) , soll heißen, die Simulations-exe läuft mehrmals auf dem gleichen Rechner, und jede dieser "Instanzen" rechnet halt ein anderes Szenario. So ist ein einzelnes Szenario nicht schneller fertig, aber bei mehreren Szenarien sind alle zusammengenommen früher fertig.

Nun bin ich dabei, dafür einen neuen PC zusammenzustellen, und vergleiche da natürlich mit den Systemen, die ich aus eigener Erfahrung kenne.

Meine Idee ist ein Dual-Xeon-Board. Die Frage ist nun, wie schnell die entspr. CPUs sind. Nehmen wir mal folgenden Shop:
http://www.rect.coreto.de/cad-3d-wo...workstation-mit-intel-xeon-ivy-bridge-ep.html

Womit wären folgende CPUs vergleichbar?
Intel Xeon Processor E5-2643V2 (3,50 GHz, 25 MB Cache, SixCore,
Intel Xeon Processor E5-2680V2 (2,80 GHz, 25 MB Cache, TenCore,

Wie schnell ist ungefähr ein Kern des Xeon E5-2643V2 im Vergleich zu einem Kern eines i7-3770 - oder sagen wir mal, wenn der i7-3770 mit 3.5 GHz getaktet wäre (anstelle der normalen 3.4 GHz), damit es vergleichbar ist?

Denn wenn ich mir unter demselben Link die folgende CPU ansehe:
Intel Xeon Processor E5-2640V2 (2,00 GHz, 20 MB Cache, EightCore,
dann wären das ja 8*2 GHz = 16 GHz
im Vergleich zum i7-3770 mit 4*3.4 = 13.6 GHz

Also nur ca. 18% "mehr Hertz". Und dafür würde es sich nicht lohnen, so eine Workstation zu holen; und anstelle eines 2-CPU-Systems mit dann "32 GHz" in der Summe würde ich dann eher zu 2 Desktops mit i7-4770 drin tendieren.
Es sei denn, ein Ivy Bridge EP-Kern ist bei gleichem Takt massiv schneller als ein normaler Ivy Bridge-Kern.

Also mit diesem Hintergrund nochmal die Frage: Wie viel schneller ist ein System (also inkl. Berücksichtigung des CPU-Cache und anderer Komponenten des Gesamtsystems, die bei so einer Workstation dann integriert wären) bei gleichem von mir so milchmädchenhaft :-) aufmultipliziertem "Gesamttakt"?
 
Praktisch kein Unterschied. Die Kerne sind ja gleich, nur manches an I/O (Caches, SPeicherchannel, etc) ist unterschiedlich. Aber das sind dann Kleinigkeiten.
Sofern deine Simulationen kein AVX2 nutzen, ist Haswell ~5% schneller als Ivy.
 
Habe ja selbst eine der von dir oben erwähnten CPUs. Die 2,5 MB L2-Cache pro Kern im Vergleich zu den 2 MB bei einem normalen Quadcore machen vielleicht 2-3% aus, aber nur bei daraufhin optimierten Programmen.

Preis/Leistungstechnisch würde ich einfach 2 Quadcore-Xeon-Haswells (wie einen E3-1230v3) kaufen und zwei PCs konfigurieren. Die sind dann performance-mäßig genauso stark wie ein E5-2680V2, aber eben in der Anschaffung etwas günstiger. Außer man schießt sich über Ebay den 2680V2 als Importware.

Aber kurz gesagt: Zwischen Ivy Bridge und Ivy Bridge EP einfach den Gesamttakt vergleichen. Und höhere MB / Core bringen nochmal max. geringe einstellige Prozentwerte an Zugewinn.

Und Haswell liegt bei gleichem Takt und gleicher Kernzahl je nach Anwendung 5-15% vor Ivy Bridge.

Fazit: Hole dir zwei PCs mit jeweils einem E3-1230V3, die P/L-mäßig nochmal sinnvoller sind (250,- beim 4770 mit 3,4 GHz und 210,- beim E3-1230V3 mit 3,3 GHz).
 
Bei massive Multithread optimierten Anwendungen geht CPU-Core vor allem.
Sprich also ein Dual CPU Server Mainboard mit zwei geringer getakteten Xeon Multi-CPUs wird immer schneller sein als ein hoch getaktetes i7 System mit maximal 6 Cores.
Allerdings wird es schwierig sein, ein Sechs- Acht- oder 10 Kern XEON auf dieselbe Taktfrequenz zu bringen, wie einen i7, weil diese CPUs nicht ohne Grund mit geringer Taktung versehen wurden: Die Verlustleistung würde bei i7 Taktung zu hoch ausfallen, die CPU wäre quasi un-kühlbar. Taktet man den i7 runter, dürfte der Unterschied zwischen den CPUs vernachlässigbar sein, jedenfalls bei Anwendungen die nicht Multi-Thread-Optimiert sind.

Hab da auch noch einen Test gefunden, der allerdings noch auf der Haswell-Generation beruht: http://www.tomshardware.de/core-i7-...ark-Xeon-E5-2687W,testberichte-241143-15.html
 
Also bei der Verlustleistung muss ich ein wenig widersprechen. Ich habe zwar kein Messgerät für richtige Werte, aber bei meinem i7-3930k (4,2GHz) hat CoreTemp 150-160 Watt bei ~70 Grad angezeigt, während es jetzt mit dem Zehnkerner bei 95-105 Watt liegt und geradeso mal über 60 Grad kommt (bei dann 3,1 GHz, da Turbo); jeweils mit allen Kernen auf 100% bei Prime95. Selbst mit einem belasteten Kern hatte ich beim Hexacore schon annähernd 100 Watt, und das ohne Turbocore. Der Xeon liegt da erst so bei 40 Watt.

Von der Kühlung und Verlustleistung würde ich den ja liebend gerne auf 3,5 GHz laufen lassen. Aber da es ja ein Xeon ist, bleibt das ja Wunschdenken.

EDIT: Gut, einen 10-Kerner so hoch zu prügeln wie man es mit einem Quadcore machen würde ist ja mit Luft bei heutiger CPU-Technik das Ende jeder CPU...
 
Vielen Dank schonmal für eure vielen Antworten! Wenn die Geschwindigkeit eines IB-Kerns sich also kaum von dem eines IB-E(P)-Kerns unterscheidet, dann werde ich wohl doch eher bei einem bzw. mehreren i7-Systemen landen. Die Anschaffungskosten sind da dann doch geringer. Ob wir dann 2 i7-Systeme (oder auch den empfohlenen Xeon i3-1230) nehmen oder ein Dual-Xeon-System, wird sich von der Leistung nicht großartig unterscheiden, als dass es den Aufpreis rechtfertigen würde.
Da die Anwendung halt auch nicht multithreaded ist, ist dies wohl die sinnvollste Entscheidung.

Da stellt sich jetzt für mich nur noch die Frage, bringt Hyperthreading etwas, wenn 4 singlethreaded Anwendungen parallel laufen? Bin da in der Theorie nicht so versiert :-)
Der Preisunterschied zwischen bspw. i5-4670 und i7-4770 ist jetzt nicht so groß, dass meine Firma wegen des Preises zum kleineren Modell greifen würde, aber interessieren würde es mich trotzdem, ob HT bei mehreren parallel laufenden singlethreaded Anwendungen überhaupt einen Geschwindigkeitsvorteil bringt?
 
Hyperthreading kann dabei helfen die CPU-Kerne besser auszulasten. Das hängt sehr von der, also Deiner Software ab, ob das was bringt oder nicht.
Du musst dafür die SW aber wenigstens einmal pro virtuellem Kern starten, also eben 8x auf einem 4770k (der btw. auch auf jeden Fall auf 4x3,9 GHz läuft)
 
klampf schrieb:
Hyperthreading kann dabei helfen die CPU-Kerne besser auszulasten. Das hängt sehr von der, also Deiner Software ab, ob das was bringt oder nicht.
Du musst dafür die SW aber wenigstens einmal pro virtuellem Kern starten, also eben 8x auf einem 4770k (der btw. auch auf jeden Fall auf 4x3,9 GHz läuft)

Ok, dann bringt es wohl eher nichts, aus 2 Gründen: Zum einen laufen die dann ja mit halber Geschwindigkeit (quasi 8*1.95 GHz) und die Rechnungen sind dann alle erst nach doppelt so langer Zeit fertig. Zum anderen unterstützt die Applikation das (H)T in keiner Weise. Die Anwendung selbst ist singlethreaded programmiert und wird das auch bleiben, und weiterhin ist der Compiler auch so alt, dass er aktuelle CPU-Techniken eh nicht unterstützt (Borland C++ Builder 6 ...). Für die bestehende Anwendung werden wir sicher bei dem Compiler bleiben, neue Anwendungen werden mit Qt erstellt, da sieht es dank GCC dann schon anders aus mit der Unterstützung aktueller Prozessoren. Da lohnt es sich dann ggf. auch, mit OpenMP zu parallelisieren, aber das gehört dann in einen anderen Thread :-)
 
Ok, dann bringt es wohl eher nichts, aus 2 Gründen: Zum einen laufen die dann ja mit halber Geschwindigkeit (quasi 8*1.95 GHz) und die Rechnungen sind dann alle erst nach doppelt so langer Zeit fertig. Zum anderen unterstützt die Applikation das (H)T in keiner Weise.

Die Software muss auch HT nicht unterstützen. Eher das Gegenteil ist der Fall.
Ziel von HT ist es die vorhandenen Recheneinheiten gut auszulasten.
Es ist auch ein Teil der Hardware in der CPU doppelt vorhanden. Das sind vor allem die Bereiche vor der eigentlichen Berechnung, die die Befehle und Daten "ranschaffen".
Mittels HT kann die CPU sehr schnell auf einen anderen Thread wechselns, wenn der erste z.B. gerade auf Daten aus dem Speicher wartet.
Am ehesten profitiert also Software, die wenig auf die aktuellen Prozessoren optimiert ist und z.B. sich nicht selbst um den rechtzeitigen Prefetch von Daten kümmert.

Lange Rede kurzer Sinn. Du wolltest ja nicht, das eine Berechnung möglichst schnell fertig ist, sondern, dass möglichst viele Berechnungen in einer bestimmten Zeitspanne fertig sind. Daher solltest Du es schon probieren, ob der Durchsatz mit 8 Threads (oder 8 parallelen Starts) nicht höher ist als mit 4.
 
klampf schrieb:
Die Software muss auch HT nicht unterstützen. Eher das Gegenteil ist der Fall.
[...]
Am ehesten profitiert also Software, die wenig auf die aktuellen Prozessoren optimiert ist und z.B. sich nicht selbst um den rechtzeitigen Prefetch von Daten kümmert.
Lange Rede kurzer Sinn. Du wolltest ja nicht, das eine Berechnung möglichst schnell fertig ist, sondern, dass möglichst viele Berechnungen in einer bestimmten Zeitspanne fertig sind. Daher solltest Du es schon probieren, ob der Durchsatz mit 8 Threads (oder 8 parallelen Starts) nicht höher ist als mit 4.

Ah cool, dann lohnt es sich ja wirklich, das mal auszutesten. Dann könnte eine CPU mit HT also doch von Nutzen sein. Bzgl. der Ursprungsfrage meines Threads wird sich dann aber nichts ändern, ich werde also kein Dual-Xeon-System nehmen, denn einen großartigen Gewinn pro Kern hab ich ja durch die Xeons nicht.

Wenn ich es mal getestet habe, melde ich mich nochmal.
 
Zurück
Oben