Windows Server 2008 R2 Enterprise Version mit 64, bzw. 80 Kerne

Yagharek

Lt. Junior Grade
Registriert
Aug. 2008
Beiträge
282
Hallo

aufgrund von Lizenzeinschränkungen muss ich wohl für meine Firma einen Server mit 64 oder 80 Kernen kaufen. Auf diesen sollen dann je nach Anzahl an Kerne bis zu 80 Simulationen parallel laufen.

Hat jemand Erfahrungen, wie Windows Server 2008 Enterprise Edition mit 64 oder 80 Kernen läuft? Klappt dies einigermaßen gut, oder muss z.b. ab einer Anzahl von x Kernen mehr Leistungen für die Verwaltung der Kerne aufgebracht werden, als für die eigentlichen Rechnungen. D.h. bedeutet das z.B. das 80 parallele Rechnungen genauso schnell sind, wie eine Serie mit 8 Einheiten von 10 parallelen Rechnungen?
 
Entscheidend ist nicht die Zahl der Kerne, sondern die der CPU Sockel, Enterprise kann maximal 8 CPU Sockel (ergibt mit 4 Cores pro Sockel insgesamt 32 Cores rechnet man bei Intel hier noch Hyperthreading mit ein so gehen damit maximal 64 Threads)

Datacenter unterstützt 64 CPU Sockel, auch hier gilt nicht die Zahl der Kerne.

Grüsse

Gulp
 
Windows kann aber maxmal 64 logische Kerne verwalten...
 
Es gibt da immer wieder Tests in der C`t mit solchen Kernmonstern. Problematisch dabei ist, dass viele Programme mit einer Kernanzahl von > 64 nicht richtig umgehen können. Ich denke, dass Du so einen Server fertig von der Stange (mit 4h Wartungsvertrag) kaufen wirst, da brauchst Du eh eine kompetente Firma, die kann dann auch Deine Fragen beantworten.
 
Ich denke da vor allem an folgenden Server

https://www.sysgen.de/8-way-server-angebot-8way-5u.html

Dieser kann 8 CPUs mit je 8 oder 10 Kernen aufnehmen. D.h. 64 oder 80 Kerne in einem Server.

Nachtrag:
Auf dem Rechner soll nicht ein Programm 64 oder 80 Kerne nutzen, sondern 64 oder 80 Instanzen des Programms jeweils ein Kern.

depart0183 schrieb:
Windows kann aber maxmal 64 logische Kerne verwalten...

Also gehen 8*10 Kerne nicht?

puri schrieb:
Ich denke, dass Du so einen Server fertig von der Stange (mit 4h Wartungsvertrag) kaufen wirst, da brauchst Du eh eine kompetente Firma, die kann dann auch Deine Fragen beantworten.

Derzeit ist alles noch in Plannung. Ich wollte mich erstmal vorab informieren, bevor ich blauäugig irgendeine Idee umsetze, Verkäufer sagt jaja und dann gibts mecker vom Chef, weil der Server doch nicht richtig genutzt werden kann.
 
Zuletzt bearbeitet:
Yagharek schrieb:
Ich denke da vor allem an folgenden Server

https://www.sysgen.de/8-way-server-angebot-8way-5u.html

Dieser kann 8 CPUs mit je 8 oder 10 Kernen aufnehmen. D.h. 64 oder 80 Kerne in einem Server.

Nachtrag:
Auf dem Rechner soll nicht ein Programm 64 oder 80 Kerne nutzen, sondern 64 oder 80 Instanzen des Programms jeweils ein Kern.



Also gehen 8*10 Kerne nicht?

Das war nicht mein Zitat!

Wie gesagt, entscheidend ist die Zahl der Sockel und nicht die der Kerne, wenn Du bei Enterprise 8 Sockel (oder 8 CPU's) einsetzt, dann können die CPU durchaus 10 Kerne haben.

depart0183 schrieb:
Windows kann aber maxmal 64 logische Kerne verwalten...

Das exakte Limit der logischen Prozessoren (also Cores + Hyperthreading) liegt bei 256:

http://blogs.msdn.com/b/saponsqlser...ores-threads-numa-nodes-what-is-all-this.aspx

Grüsse

Gulp
 
Zuletzt bearbeitet:
Gulp schrieb:
Das war nicht mein Zitat!


Sry, vertan. Korrigiert

Gulp schrieb:
dann können die CPU durchaus 10 Kerne haben.

Meine Sorge ist einfach, dass dies kein Vorteil bring, weil der Verwaltungsaufwand zu groß wird und dann eine Serienrechnungen schneller als eine Parallelrechnung ist. Ich les mir gerade dein Link durch.
 
Wir hatten mal einen Hyper-V Host im Einsatz der auf 80 Kerne kam (HP DL 580) und konnten damit keine Probleme feststellen. In den c't Tests gibt es jedoch immer wieder Schwierigkeiten wenn die Anwendung mit NUMA nichts anzufangen weiß und damit Speicher an der falschen CPU bereitgestellt wird.
 
Solange Du jedem logischen Prozessor einen Thread zuordnen kannst, wird der Thread mit der entsprechenden zur Verfügung stehenden CPU Leistung bearbeitet.

Je nach Layout der Platinen, CPU Anbindung, Speicheranbindung, Threadverwaltung des OS, Treadauslastung der Anwendung etc können natürlich Signalverluste/Performanceverluste entstehen, das wird man aber vermutlich erst sehen und testen können, wenn man das am konkreten Hardwarebeispiel ausprobiert.

Rein logisch dürfte man etwas weniger Performance bei den Hyperthreading Threads haben und bei einer 100% Auslastung aller Core + HT Threads, da das OS auch ein bisschen Last abhaben will (vereinfacht gesagt).

Rein theoretisch kann ein Performanceverlust schon früher auftreten, wenn sich die CPU's zB RAM Bänke teilen und sich da quasi abwechseln müssen. Auch kann es Probleme mit den Schedulern geben, die die Threads aufteilen, die nicht auf spezielle logische Prozessoren fest konfiguriert wurden.

Grüsse

Gulp
 
Danke für eure Ausführungen.

Soweit ich das nun verstehe, liegt das Problem weniger bei der Prozessor-/Kernverwaltung als beim Speicherzugriff. Das Simulationsprogramm ist nicht auf System mit dieser Anzahl an Prozessoren optimiert. Die Speicherverwaltung muss Windowsseitig für jede Instanz des Programms funktionieren.
 
Ob das Simulationsprogramm auf so viele Kerne gut skaliert kann man an dieser Stelle natürlich nicht so ohne weiteres sagen, das kann sich gut ausgehen, wenn der Entwickler dies berücksichtigt hat und das Simulationsprogramm beispielsweise mit einer festen Speicherallokation daherkommt (also nicht gross dynamisch Speicher belegt) und mit grossen Speicheradressen umgehen kann (wenn das Programm 64bittig ist kann man davon fast ausgehen).

Es kann allerdings auch gut sein, dass nach 10, 20, 30 oder 40 gleichzeitigen Threads die Performance der Simulation nachlässt, das muss ja noch nicht heissen, dass das dann nicht geht, nur dauert eine Simulation dann eventuell ein paar Sekunden, Minuten oder Stunden (je nach Simulation) länger, das können 5% sein oder eben auch 50%, das hängt letztlich von der Simulationssoftware ab.

Vielleicht kann Dir da der Hersteller der Software ja etwas zu sagen.

Grüsse

Gulp
 
Danke nochmals.

Versuch mich gerade beim Herrsteller der Software durchzutelefonieren und eine Möglichkeit zu finden, die Software auf ein 8 CPU Rechner zu testen.
 
Was sind denn das für Lizenzeinschränkungen, dass der Kram unbedingt auf einer Kiste laufen muss?

Wenn es am Ende relativ egal ist, wo die Instanzen eingerichtet werden, ist eventuell eine Lösung auf Basis von zwei Servern mit je vier Xeon E5-46xx-Prozessoren die deutlich günstigere Alternative gegenüber einem einzelnen Server mit acht Xeon E7-88xx-CPUs.

Sofern die Simulationssoftware (was wird denn simuliert?) auch noch die AVX-Erweiterung nutzen kann, dürften die Xeon E5-4600 auch trotz der etwas geringeren Kern-Anzahl ein gutes Stück flotter und vor allem effizienter zu Werke gehen.
 
Ein anderer Vorschlag von mir: Ein Blade mit Anwendungsvirtualisierung. Dann bekommst du sowohl Fail-Over Support und sparst dir noch dazu, so ein Mega-Monster laufen lassen zu müssen.
 
Unser Problem ist, dass die Lizenz der Software am Server gebunden ist. D.h. wenn ich auf einem Server eine Berechnung laufen lasse, kann auf keinem andere eine laufen. Dafür können auf diesem einen Server soviele Rechnungen laufen, wie es uns beliebt.

Da die Linzenz bis zu 60.000€ kostet ist es für uns um einiges günstiger auf einem Server 64 Rechnungen laufen zu lassen, als auf 4 je 16. Grob gesprochen, eine Lizenz, plus so ein Kernmonster kostet ungefähr halb soviel wie 4 Einzellizenzen.
 
Zurück
Oben