Operating System - HP-UX
1751704 Members
5652 Online
108781 Solutions
New Discussion

CPUs for vm host and CPUs for a vm guest

 
silusan
Regular Advisor

CPUs for vm host and CPUs for a vm guest

Hi

Need to understand the way we assign CPUs to a vm host and its vm guests please.

We have a superdome:

when we create an npar and install integrity software-it becomes a vm host(let us say)

How many CPUs will it inherit?

 

Then can I assume that we assign these CPUs to the vm guests...the CPUs from vm host itself?

 

Is it like we will be assigning CPUs to a vm guest in the form of vCPUS?

 

recently we got bl860 i2 and i attached its print_manifest output here..

how many CPUs it has?

after we create vm guests in this vmhost..how many CPUs this vm host wil keep it for itself and how many will be available to distrubite while creating the vm guests.

 

Also... what is a physical CPU and what is a core

 

 

thanks

6 REPLIES 6
Stan_M
HPE Pro

Re: CPUs for vm host and CPUs for a vm guest

HPVM host sees all physical CPUs in the nPar. It doesn't keep any for itself - all of them can

be used by guests.

 

Virtual CPUs are not real CPUs - they are basically just kernel threads on VM host, they are not subtracted from the HPVM host CPU count. Direct CPU assignment exists in vPars but not in HPVM where

single physical core can be shared by several guests/vcpus.

 

CPU is somewhat overloaded term and it often means CPU core and sometimes CPU socket.

Physical CPU would in most contexts be the piece of HW you can buy, if you go to shop. These days

there are several cores in each package/socket/physical CPUs. The cores are independent of each

other in terms of execution flow. Itanium 9340 has 4 of these in single socket (ie. 4 logical processors

on the same silicon).

Plus, if enabled, you can have hyperthreads (HT) which is way of sharing silicon resources

of a single core between several execution threads (Hyperthreads) - there are 2 HTs per core on Itanium 9340.

 

See for example:

http://ark.intel.com/products/43409/Intel-Itanium-Processor-9340-%2820M-Cache-1_60-GHz-4_80-GTs-Intel-QPI%29

 

Your 860i2 has 2 CPU sockets each with 4 cores, i.e. 8 logical CPUs (lines in top output).

You you enable HT, you can have 16 of these.

 

HTH

Stan

 

 

 

 

 

 

I work for HPE
Dave Olker
HPE Pro

Re: CPUs for vm host and CPUs for a vm guest

Just to add one point to what Stan said - even if you enable HT, that does not mean you can actually assign these 16 threads to a VM or vPar.

vPar CPU assignments are done on a physical core basis, and as Stan mentioned, VM CPU assignments are virtual CPUs running as threads on the VM host, and these VM vCPU threads are scheduled on a physical core basis, not hyperthreads.

Dave
I work for HPE

[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]
Accept or Kudo
silusan
Regular Advisor

Re: CPUs for vm host and CPUs for a vm guest

thanks for your replies. so my blade has eight(8) logical processors.

 

i installed hpux 11.31 OS and made it a vmhost...

suppose i created hpvmguests on this host..

vCPU entitlement=10%

each vm guest has 5 vCPUs..which means each vmguest1 has 5x10%= 50%

 

guestname    cpu-entitlement    no. of vCPUs

guest1               10%                          5

guest2               10%                          5

guest3               10%                          5

guest4               10%                          5

 

so each guest takes 50% of one logical CPU

four guest take 200% = 2 logical CPUs

 

if this is th setup...then can i say all the four vm guests consumed total 2 logical processors

and I still have six more logical processors?

 

Dave Olker
HPE Pro

Re: CPUs for vm host and CPUs for a vm guest

When you create a VM guest, every vCPU thread is scheduled to run on a separate physical core on the VM host. So in your example, you would have 4 guests each with 5 vCPUs, meaning on the VM host there would be at least 5 physical CPU cores involved with these guests. I say "at least 5" because it's possible that the VM host will schedule threads on all 8 of the cores for some of the guests.

So while you may have 6 logical processors worth of compute power left once these 4 guests are running, you *definitely* would not be able to start a 5th guest using 100% entitlement for 6 cores because that would require 6 full CPUs that are not running other guest threads, and given the above explanation - that's not going to be the case.

Dave
I work for HPE

[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]
Accept or Kudo
silusan
Regular Advisor

Re: CPUs for vm host and CPUs for a vm guest

Understood first paragrapgh. Didnt understand the second one:

"So while you may have 6 logical processors worth of compute power left once these 4 guests are running, you *definitely* would not be able to start a 5th guest using 100% entitlement for 6 cores because that would require 6 full CPUs that are not running other guest threads, and given the above explanation - that's not going to be the case."


Here some application guys came and they say ..in one machine...they need four cores for their application to run..
..so i am worried that with eight logical processors in my BL860i2 servers ..i will be not be able to create more than two vm guests... also i am worried about the CPUs needed for vm host to run..!!!
Dave Olker
HPE Pro

Re: CPUs for vm host and CPUs for a vm guest


@silusan wrote:

Here some application guys came and they say ..in one machine...they need four cores for their application to run..
..so i am worried that with eight logical processors in my BL860i2 servers ..i will be not be able to create more than two vm guests... also i am worried about the CPUs needed for vm host to run..!!!


If you have a server with 8 CPU cores, like a bl860c i2, and you need to create two VM guests each with 4 CPU cores with 100% entitlement then yes, you would only be able to run those two VM guests as each one would consume 4 of the VM Host cores.  If the application guy needs a VM with 4 CPU cores but not 100% entitlement then you could stack more than 2 VM guests on a system with 8 physical cores.  

 

In the earlier example the customer wanted to run 4 VMs each with 5 vCPUs but only 10% entitlements.  That's a perfectly valid thing to do.  However, since each virtual CPU thread runs on a separate physical core, there is no way to run even a SINGLE VM guest with 5 virtual CPU cores (regardless of entitlement) and then start another VM guest requiring 100% entitlement to 6 CPU cores.  The first VM guest will take some percentage of 5 of the physical cores, leaving only 3 physical cores with 100% of their entitlement remaining.

 

So the point I was making is this:

 

                4 VM guests * 5 vCPUs * 10% entitlement   !=   2 physical CPU cores

 

Regards,

 

Dave

I work for HPE

[Any personal opinions expressed are mine, and not official statements on behalf of Hewlett Packard Enterprise]
Accept or Kudo