Seite 1 von 1

vCPU verstehe ich das richtig?

Verfasst: 09.10.2008, 16:58
von xooops
Hallo zusammen

Aktuell beschäftige ich mich mit der Frage wie funktioniert die CPU Virtualisiert und was heisst das im Detail.


Wir betrieben mehre Hosts mit 4 x Quad Core 2.21 GHz AMD Prozessoren.

Wenn ich einer VM 1 vCPU zuteile kann diese VM nur auf einen Core der 16 zugreifen und somit max. 2.21 GHz nutzen.

Bei einer 2 vCPU zwei core’s , 4.42 GHz
Bei einer 4 vCPU vier core’s 8.84 GHz

Das heisst maximal 25% meiner gesamten 16 Core 35.36 GHz Leistung.

Das würde heissen ich müsste eine 2 vCPU VM mit einem 1 dual Core physischen Server vergleichen und eine 4 vCPU VM mit einem 2 x dual oder 1 x Quad Core physischem Server.

Einen physischen 2 x Quad Core Rechner kann ich mit meinem Host gar nicht abbilden oder?


Verstehe ich das richtig?

Beste Grüsse
Sven

Re: vCPU verstehe ich das richtig?

Verfasst: 09.10.2008, 17:22
von echt_weg
xooops hat geschrieben:Hallo zusammen
Wenn ich einer VM 1 vCPU zuteile kann diese VM nur auf einen Core der 16 zugreifen und somit max. 2.21 GHz nutzen.

jo

Bei einer 2 vCPU zwei core’s , 4.42 GHz

nein 2x2,21

Bei einer 4 vCPU vier core’s 8.84 GHz

nein 4x2,21

Das heisst maximal 25% meiner gesamten 16 Core 35.36 GHz Leistung.

jo

Das würde heissen ich müsste eine 2 vCPU VM mit einem 1 dual Core physischen Server vergleichen und eine 4 vCPU VM mit einem 2 x dual oder 1 x Quad Core physischem Server.

jo (aber auch eigentlich nur wenn die dediziert läuft)

Einen physischen 2 x Quad Core Rechner kann ich mit meinem Host gar nicht abbilden oder?

in einer vm? nein

Verstehe ich das richtig?n

ja bis auf die tatsache dass man immer dran denken muß dass die software auf der vm auch mehrer kerne nutzen können muß. sonst bringt dir das eh nix mit den vielen cpus in ner vm

Re: vCPU verstehe ich das richtig?

Verfasst: 09.10.2008, 17:36
von xooops
Hi

Bei einer 2 vCPU zwei core’s , 4.42 GHz

nein 2x2,21

2 x 2.21 gibt etwa 4.42 GHz ? ;)

----------------------------------------------------------------------------------

a bis auf die tatsache dass man immer dran denken muß dass die software auf der vm auch mehrer kerne nutzen können muß. sonst bringt dir das eh nix mit den vielen cpus in ner vm


das stimmt.

Habe öfters gelesen, man soll bei Citrix Server nur 1 vCPU verwenden aber wenn ich dann nur 2.21 GHz ziehen kann ist das recht schlecht. :roll:

----------------------------------------------------------------------------------

Einen physischen 2 x Quad Core Rechner kann ich mit meinem Host gar nicht abbilden oder?

in einer vm? nein


danke, schade :roll:

Beste Grüsse
Sven

Verfasst: 09.10.2008, 17:41
von continuum

2 x 2.21 gibt etwa 4.42 GHz ? ;)


Nope - 2 x 2.21 ergibt 2 x 2.21 ;)

Verfasst: 09.10.2008, 17:48
von xooops
Hallo Ulli

war das jetzt ein joke?

Wenn nicht kannst Du mir das kurz erklären?

Danke & Gruss Sven

Verfasst: 09.10.2008, 17:51
von echt_weg
xooops hat geschrieben:Hallo Ulli

war das jetzt ein joke?

Wenn nicht kannst Du mir das kurz erklären?

Danke & Gruss Sven

ist kein joke. mehrere kleine cpus können sich ja nicht zu einer großen addieren

Verfasst: 09.10.2008, 17:55
von xooops
das stimmt, wollte ich auch nicht schreiben. Sondern bei einer 2 vCPU kann das Guest System auf 2 Core a je 2.21 GHz zugereifen. Und im bestenfall total etwa 4.42 GHz beziehen.

oder bin ich ganz verwickelt :oops:

Gruss Sven

Verfasst: 09.10.2008, 17:59
von echt_weg
xooops hat geschrieben:das stimmt, wollte ich auch nicht schreiben. Sondern bei einer 2 vCPU kann das Guest System auf 2 Core a je 2.21 GHz zugereifen. Und im bestenfall total etwa 4.42 GHz beziehen.

oder bin ich ganz verwickelt :oops:

Gruss Sven

ne so ist es richtig

Verfasst: 10.10.2008, 09:21
von xooops
Guten Morgen

Ich würde gerne noch etwas von der ursprünglichen Frage abschweifen. Ich habe öfters im Web gelesen, dass es sinnvoller ist bei Citrix Server mit einer vCPU zu arbeiten anstelle von zwei. Wenn ich dann aber nur auf ein Core zugreifen kann bringe ich da ja kaum Leistung raus.

Ok, da Citrix nicht pro Server sondern per User lizenziert wird könnte ich einfach mehre Presentation Server bereitstellen. Doch wenn ich die Windows Lizenz und den Verwaltungsaufwand dazurechte ist dies kaum wirtschaftlich.

Was ist Eure Erfahrung mit Citrix Presentation Server auf ESX 3.5 ?

Beste Grüsse
Sven

Verfasst: 10.10.2008, 10:22
von philipp24
Hallo Xoops,

Wir haben hier einen EXS Server mit 2 Dual Core Prozessoren.

Da haben wir einen Citrix Server installiert mit 2 vCPU und 4 GB RAM. Es ist zwar nur ein Testsystem aber es arbeiten eigentlich immer ca 20 User drauf.

DIe behaupten das der Server eigentlich Pfeilschnell ist.

Sonst kann ich leider nicht mehr dazu sagen außer das er relativ die viele Resourcen an sich nimmt wenn man ihn lässt! :D

Verfasst: 10.10.2008, 13:25
von mangold
Virtualisierung von Citrix XenApp ist mittlerweile ein ganz heißes Thema. Während vor z.B. 4 Jahren nur abgeraten werden konnte, will Citrix natürlich mittels XenServer massiv in den Markt drängen (und VMware Konkurrenz machen) und unterstützen jedes Projekt in dem sie beweisen können, dass sie besser sind als VMware. Mittlerweile haben sie sogar sehr große Kunden dazu gebracht ihre XenApp Server mittels XenServer zu virtualisieren. Da die Hardware mittlerweile so potent geworden ist (blades mit 8 oder gar 12 Cores) ist der Speicher das Problem und dass kann man entweder mit 64 Bit oder mit vielen VMs lösen.

Verfasst: 10.10.2008, 14:57
von xooops
wenn eine 4 vCPU VM Session auf die 4 Cores zugreifft sind diese alle auf dem selben sockel? oder ein core pro sockel?

Findet man das in einer Doku? ich nicht :roll:

Gruss Sven

Verfasst: 13.10.2008, 21:55
von echt_weg
xooops hat geschrieben:wenn eine 4 vCPU VM Session auf die 4 Cores zugreifft sind diese alle auf dem selben sockel? oder ein core pro sockel?

Findet man das in einer Doku? ich nicht :roll:

Gruss Sven

kannst in jeder vm einzeln einstellen (hab ich aber noch nie gemacht würd ich auch nicht bei vmotion geschichten)

Verfasst: 14.10.2008, 02:52
von Tschoergez
Der vmkernel verteilt die VMs automatisch über alle physikalischen Cores, so, wies gerade am besten passt. Das kann sich alle 20 ms ändern.


Viele Grüße,
Jörg

Verfasst: 14.10.2008, 09:00
von xooops
@echt_weg
Du meinst unter VM>Resources>Advanced CPU das Hyperthreaded Core Sharing?


@Tschoergez
Das heisst eine 4 vCPU VM kann auf für eine Rechenaufgabe gleichzeitig auf Core 2,6,10,14 zugreifen? (wenn wir mal alle 16 einfach nummerieren)

Habe im Kopf, dass ich gelesen habe das der Kernel warten muss bis er 4 freie Cores auf einem Sockel findet. ... suche im web finde es aber aktuell nicht :roll:

Danke für Deine Hilfe

Gruss Sven

Verfasst: 14.10.2008, 09:42
von Heros
Ja, die VM bekommt erst dann Zugriff wenn so viele Cores frei sind wie sie vCPU´s hat. Du kannst der VM ja nicht einfach mal 2 vCPU´s weg nehmen. Die braucht schon die Anzahl an Kernen die sie in vCPU´s verbaut hat.

Such mal nach diesem Buch hier: http://blogs.sun.com/dwaynelee/entry/mu ... or_dummies

Das ist richtig gut und zeigt dir auch einige Grundlagen auf.

Verfasst: 14.10.2008, 09:57
von xooops
Hallo Thomas

Danke für den Buch Tipp. Werde ich mir sicher anschauen.

"Ja, die VM bekommt erst dann Zugriff wenn so viele Cores frei sind wie sie vCPU´s hat"
Das verstehe ich.

Aber müssen diese 4 Cores auf dem selben sockel sein oder können 2 Core auf dem Sockel 1, einer auf Socken 2 und einer auf Sockel 4 frei sein?

so verstehe ich die CPU scheduling probleme welche bei 4vCPU maschinen entstehen können. Oder geht es nur darum das er warten muss bis er 4 freie Cores findet.

Kennt jemand ein VMware Dokument wo das beschrieben ist?

Beste Grüsse
Sven

Verfasst: 14.10.2008, 11:11
von Tschoergez
prinzipiell ist das hier schon richtig beschrieben.

eine 4 vCPU-VM braucht jedesmal, wenn sie vom vmkernel gescheduled wird, 4 physikal. cores. Punkt. :-)

aber die müssen vorher nicht unbedingt frei sein, den der vmkernel hat ja die macht, einfach andere VMs runterzunehmen von einem phys. Core...
Aber trotzdem verlangsamt das natürlich die ganzen VMs auf dem ESX.

darum sollte man multiprozessor-VMs nur bauen, wenn
1. man sie unbedingt braucht
2. das Gast-OS (und v.a. die applikationen) auch nutzen davon tragen
3. man mehr physik. cores hat, als man als vCPUs in eine VM einbaut (sonst kann die eine VM den ganzen ESX ausbremsen)

Die regeln gelten immer noch (auch wenn VMware da inzwischen viel getan hat, und für bestimmte Windows-Gäste mit VMware tools ein bisschen tricksen kann).

Doku drüber?
Such mal im resource management guide, da müsste das beschrieben sein, und in den Whitepapers auf der vmware-homepage.
Gute Begriffe könnten sein:
Co-Scheduling, De-Scheduling, hyperthreading, CSTP oder CSTOP, esxtop

Über gute Beute freuen wir uns hier natürlich immer :-)

Viele Grüße,
Jörg

Verfasst: 14.10.2008, 13:54
von xooops
ich wurde sagen, dass beschreibt es ....

Each logical processor of each processor core can be used independently by the ESX
Server CPU scheduler to execute virtual machines, providing capabilities similar to
traditional symmetric multiprocessing (SMP) systems. For example, a two‐way virtual
machine can have its virtual processors running on logical processors that belong to the
same core, or on logical processors on different physical processors.
 


Alle logischen Prozessoren aller Prozessorkerne lassen sich unabhängig voneinander
vom ESX Server-CPU-Scheduler zum Ausführen virtueller Maschinen verwenden,
wodurch Funktionen bereitstellt werden, die mit herkömmlichen SMP-Systemen
vergleichbar sind. Beispielsweise kann eine virtuelle Zwei-Wege-Maschine die eigenen
virtuellen Prozessoren auf logischen Prozessoren ausführen, die zum selben Kern
gehören oder sich auf anderen physischen Prozessoren befinden.



Gruss Sven