Hallo zusammen
Da wir ja nun bequem über die GUI entscheiden können wie die CPU Konfiguration unserer VMs aussehen soll stellt sich die Frage, was ist optimal?
Sicherlich gibt es Anwendungen die besser mit Multi-CPU zurecht kommen und welche die lieber MMulti-Core (Multithreading) haben möchten ... nur welche? Fragt man seinen Kunden wofür seine Anwendung optimiert wurde bekommt man meist nur Fragezeichen in den Augen zu sehen.
Meine Frage, was habt Ihr mit welchen Anwendungen für erfahrungen?
Bsp.:
Wir nehmen eine VM mit 8vCPUen.
Mögliche Konfigurationen:
8vCPUen mit je 1 vCore
4vCPUen mit je 2 vCore
2vCPUen mit je 4 vCore
1vCPUen mit 8 vCore
Nun nehmen wir verschiedene Anwendungen ... welche Erfahrungen habt Ihr?
- MS SQL
- Oracle
- Citix
- Exchange
- ... ?
Wenn hier eine schöne Erfahrungsliste herauskommen würde, quasi eine "Best practice" fände das sicher jeder nicht schlecht.
Die Foren-SW läuft ohne erkennbare Probleme. Sollte doch etwas nicht funktionieren, bitte gerne hier jederzeit melden und wir kümmern uns zeitnah darum. Danke!
Erfahrungen gesucht: VM mit Multi-Core vCPU
-
- Member
- Beiträge: 101
- Registriert: 17.06.2005, 09:39
Hi,
meiner Erahrung nach spielt das keine Rolle. Ist vielmehr nur etwas Lizenz und Software gehampelt.
Gibt Software die nach CPUs lizensiert wird. Packt man in die VM dann eine CPU mit vielen Kernen spart man Lizenzkosten. Achtung oft wird aber der Host lizensiert, dann bringt's wieder nichts...
Dann gibt es Software die nur ein geringe Zahl an CPUs vertragen aber mit vielen Kernen keine Probleme haben z.B XP
Glaube mich auch daran zu erinnern, dass das irgendwo so bi VMware stand.
Gruß Peter
meiner Erahrung nach spielt das keine Rolle. Ist vielmehr nur etwas Lizenz und Software gehampelt.
Gibt Software die nach CPUs lizensiert wird. Packt man in die VM dann eine CPU mit vielen Kernen spart man Lizenzkosten. Achtung oft wird aber der Host lizensiert, dann bringt's wieder nichts...
Dann gibt es Software die nur ein geringe Zahl an CPUs vertragen aber mit vielen Kernen keine Probleme haben z.B XP
Glaube mich auch daran zu erinnern, dass das irgendwo so bi VMware stand.
Gruß Peter
-
- King of the Hill
- Beiträge: 13598
- Registriert: 01.10.2008, 12:54
- Wohnort: laut USV-Log am Ende der Welt...
In meinen Augen macht es zumindest bei rechenintensiven Aufgaben schon einen Unterschied, ob man nun 1vCPU mit 8vCores oder 8vCPUs mit 1vCore hat.
Während bei ersterem das OS/VM davon ausgehen kann, dass die CPU die Hauptarbeit bei der Verwaltung der Corezustände und der Wahrung der Kohärenz uebernimmt, muß beim zweiten das OS in der VM mit den dadurch angebotenen 8CPU-Sockel überhaupt etwa anfangen können und der Hypervisor sich hauptsächlich um Verwaltung und Kohärenz kümmern. Gerade diese Kohärenzgeschichte scheint einiges an Rechenleistung zu binden.
Im Falle des erwähnten XP und dort beispielsweise in der Home-Version würden sich nur die 8 vCores vollständig nutzen lassen, da XP-Home nur 1CPU-Sockel unterstützt. Bei einer Home-VM würden in diesem Config-Fauxpas nämlich nur ein einziger Singlecore genutzt werden können...
Während bei ersterem das OS/VM davon ausgehen kann, dass die CPU die Hauptarbeit bei der Verwaltung der Corezustände und der Wahrung der Kohärenz uebernimmt, muß beim zweiten das OS in der VM mit den dadurch angebotenen 8CPU-Sockel überhaupt etwa anfangen können und der Hypervisor sich hauptsächlich um Verwaltung und Kohärenz kümmern. Gerade diese Kohärenzgeschichte scheint einiges an Rechenleistung zu binden.
Im Falle des erwähnten XP und dort beispielsweise in der Home-Version würden sich nur die 8 vCores vollständig nutzen lassen, da XP-Home nur 1CPU-Sockel unterstützt. Bei einer Home-VM würden in diesem Config-Fauxpas nämlich nur ein einziger Singlecore genutzt werden können...
-
- King of the Hill
- Beiträge: 13598
- Registriert: 01.10.2008, 12:54
- Wohnort: laut USV-Log am Ende der Welt...
Nein , leider nicht. Aber du kannst ja mal zwei VMs, einmal mit 1vCPU mit 8 Kernen und das Gegenstueck mit 8 vCPUs und Singlecores, erstellen und dann die Auslastung per esxtop vergleichen.
Auf meinem Schmalspurquad in veralteter 65nm-Ausfuehrung und ohne weiterfuehrende bzw optimierte VT-Funktionen hatte ich mit mehreren CPUs eine hoehere Grundlast gesehen gehabt.
Wie sich die Aenderung mehr Sockel (CPUs) oder mehr Kerne in einer Win-VM in der CPUID bemerkbar macht, hatte ich vor inzwischen fast 3 Jahren fuer den VMserver2.01 im Posting Beobachtungen mit 2 v.CPU-Kernen in einer VM in Bildern erfasst. Darin gehts zwar primaer um die Einstellung software, hardware und dynamic zur Aktivierung der HW-VT, sekundaer duerfte es jedoch auch einen Singlesockel mit Multicore (oberes Bild) und einen Multisockel mit Singlecores (mittleres Bild) abbilden.
Auf meinem Schmalspurquad in veralteter 65nm-Ausfuehrung und ohne weiterfuehrende bzw optimierte VT-Funktionen hatte ich mit mehreren CPUs eine hoehere Grundlast gesehen gehabt.
Wie sich die Aenderung mehr Sockel (CPUs) oder mehr Kerne in einer Win-VM in der CPUID bemerkbar macht, hatte ich vor inzwischen fast 3 Jahren fuer den VMserver2.01 im Posting Beobachtungen mit 2 v.CPU-Kernen in einer VM in Bildern erfasst. Darin gehts zwar primaer um die Einstellung software, hardware und dynamic zur Aktivierung der HW-VT, sekundaer duerfte es jedoch auch einen Singlesockel mit Multicore (oberes Bild) und einen Multisockel mit Singlecores (mittleres Bild) abbilden.
-
- King of the Hill
- Beiträge: 12996
- Registriert: 02.08.2008, 15:06
- Wohnort: Hannover/Wuerzburg
- Kontaktdaten:
@Dayworker
Ich wuesste nicht warum das fuer den vSpherer Host einen Unterschied machen sollte was er fuer den Guest da praesentiert.
Ein SQL 2008 Standard ist auf 4 Sockel begrenzt und somit wuerde da ein 8x1 vCPU keinen Sinn machen. An SQL2003 kann ich mich nicht erinneren... .meintest du SQL Server 2005?
Gruss
Joerg
Ich wuesste nicht warum das fuer den vSpherer Host einen Unterschied machen sollte was er fuer den Guest da praesentiert.
Ein SQL 2008 Standard ist auf 4 Sockel begrenzt und somit wuerde da ein 8x1 vCPU keinen Sinn machen. An SQL2003 kann ich mich nicht erinneren... .meintest du SQL Server 2005?
Gruss
Joerg
-
- King of the Hill
- Beiträge: 13598
- Registriert: 01.10.2008, 12:54
- Wohnort: laut USV-Log am Ende der Welt...
Ich wuesste nicht warum das fuer den vSpherer Host einen Unterschied machen sollte was er fuer den Guest da praesentiert.
Was praesentiert denn vSphere da in Form der CPUID und woran orientiert sich die Kernverteilung allgemein?
Moeglich waere, das Multicore-VMs moeglichst auf dem gleichen Sockel abgebildet oder Kerne frei zusammengewuerfelt werden. Ersteres duerfte performanceunkritischer sein, da beim zweiten die Sockelverbindungen untereinander je nach CPU-Generation wesentlich staerker zutage treten. Meine Hoffnung waere jedenfalls, das vSphere solche Dinge beruecksichtigt hat und das scheint auch der Fall zu sein, wenn ich mir den Thread zum inaktiv gemeldeten Xeon E5 durchlese, aber das ist eine andere Baustelle.
Meine Beobachtungen koennten natuerlich auch mit HW-VT und BT (binary translation) zusammenhaengen und darueber die erhoehte Grundlast bei MultiCPU-VMs erklaeren, wenn vSphere ueberhaupt noch auf BT zurueckgreift und nicht einige grundlegende Sachen komplett der CPU uebertraegt.
- Tschoergez
- Moderator
- Beiträge: 3476
- Registriert: 23.02.2005, 09:14
- Wohnort: Burgberg im Allgäu
- Kontaktdaten:
Hi!
Die Überlegungen von dayworker sind technisch gesehen legitim ... Allerdings ist das die Aufgabe vom vmkernel. Aus Sicht der Gast-Betriebssysteme ändert sich eigentlich nix (die Applikationen müssen ja nicht gesonders programmiert werden, ob multicore oder multi-cpu, sondern dass macht ja die "Hardware"-automatisch. In VMs eben der Hypervisor).
Ich schmeiß auch mal NUMA in den Raum...
Laut Doku/Schulungsunterlagen macht der ESX das alles automatisch "richtig" (d.h. er packt VMs in einen NUMA-Node, bzw. scheduled je nach Bedarf mehrere vCPUs zusammen oder eben getrennt auf den Sockeln)
Auch BT oder Hardware-Assisted wird je nach Gast-OS, VM-Hardware und phys. Hardware automatisch optimal ausgesucht. (Sieht man im vmware.log der VM beim Starten...)
Lesenswert dazu (sind glaub ich auch Benchmarks drin:)
http://www.vmware.com/files/pdf/techpap ... le_ESX.pdf
Vielleicht findet sich auch was zu dem Thema auf:
http://labs.vmware.com/publications
Viele Grüße,
Jörg
Die Überlegungen von dayworker sind technisch gesehen legitim ... Allerdings ist das die Aufgabe vom vmkernel. Aus Sicht der Gast-Betriebssysteme ändert sich eigentlich nix (die Applikationen müssen ja nicht gesonders programmiert werden, ob multicore oder multi-cpu, sondern dass macht ja die "Hardware"-automatisch. In VMs eben der Hypervisor).
Ich schmeiß auch mal NUMA in den Raum...
Laut Doku/Schulungsunterlagen macht der ESX das alles automatisch "richtig" (d.h. er packt VMs in einen NUMA-Node, bzw. scheduled je nach Bedarf mehrere vCPUs zusammen oder eben getrennt auf den Sockeln)
Auch BT oder Hardware-Assisted wird je nach Gast-OS, VM-Hardware und phys. Hardware automatisch optimal ausgesucht. (Sieht man im vmware.log der VM beim Starten...)
Lesenswert dazu (sind glaub ich auch Benchmarks drin:)
http://www.vmware.com/files/pdf/techpap ... le_ESX.pdf
Vielleicht findet sich auch was zu dem Thema auf:
http://labs.vmware.com/publications
Viele Grüße,
Jörg
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast