Answered by:
Logical Processors = vCPU
Question
-
So i have been doing research on Hyper-v 3 in Windows Server 8 and it seems that the Hyper-V host can have up to 160 Logical processors now...thats wonderfull, but do Logical processors = virtual CPU's. I have done a lot of research on this matter and can come to no deffintive out come, there are mixed results even on Microsoft employee's forums and their documentation. So in hyper-v 3 you can have a guest machine with 32 vCPU but you can only have 160 logical cpu's on the host, does this mean that if you have 5 hosts each with 32 vCPUs, assuming you have the maximum 160 logical processors, you will have reached your maximum limit of vCPU's. Also since the rule of thumb is 8 vCPU's per core, does this mean that you have a 20 core system?
Not to be rude or anything but if you are unsure about the answers to my question please dont answer, as i would hate to be more confused....
Monday, February 20, 2012 6:30 PM
Answers
-
Ok guys nevermind, i figured it out for myself this is the situation:
The term logical processors is used to describe the number of physical cores + hyperthreading cores. Therefore my assumptions earlier were infact correct, as far as hyper-v 3 goes this is the situation.
The term vCPU is used to describe the amount of time a virtual machine gets on a logical processor.
In the machine running Hyper-V, you have a limit of 160 logical processors this means that you can have a machine with up to 80 "real cores" and 80 "hyper threaded cores", or you could have a host with 160 cores with no hyper-threading.
In Hyper-V 3 you can assign each virtual machine 32 vCPU's. This means that since you have have a maximum of 160 logical processors at maximum you can have 1280 vCPU's this is with the supported 8:1 vCPU (ofcourse there is also a 12:1 ratio with windows 7). For the sake of ease lets stick with the supported 8:1 ratio, this means that if you want to assign every VM you create the maximum supported vCPUs you would only be able to create 40 VMS.
This took alot of research and i hope this helps people who are researching the same thing. Also you can visit my blog, here, as i will be will be doing alot of research on Hyper-V 3 in the coming days.
- Marked as answer by taygibb Tuesday, February 21, 2012 8:40 AM
Tuesday, February 21, 2012 8:39 AM
All replies
-
A Hyper-V vCPU is not a 1-to-1 mapping of a physical core. It is more akin to the share of time that the VM will recive of each clock cycle of the phyical CPU. This is how it is possble to have more VMs [total vCPUs] then there are physical CPUs.
The physical CPUs are owned and coordinated by the hypervisor and it divides the CPU into these vCPUs. So, say you have a 32 core Hyper-V host. And for sake of ease, lets say you have 32 VMs on this host, each with 1 vCPU. Because of this number of cores, the system can handel this division and still provide essentally real time performance to the VMs. However, there is a point of deminishing returns. Once you begin to over allocate, you will see a degridation in performance. However, if your host CPU is sufficently fast, you could still perform acceptably.
This could be a subject worth a deep dive in research. The below blog explains things very well, with lots of resource links.
http://blogs.technet.com/b/puneetvig/archive/2011/05/21/hyper_2d00_v_2d00_concepts_2d00_vcpu.aspx
Monday, February 20, 2012 7:20 PM -
vCPUs are just time slots on logical processors. So by configuring the amount of vCPUs - you are just configuring the ratio of procesor time allocated between the VMs.
Jan Marek MCT | MCITP | MCTS
Monday, February 20, 2012 7:50 PM -
Hi Tay
in simplest terms, Virtual Machines share VCPUs and they are not dedicated such as Disk Space and Memory. due to this reason it is also possible for you to overcommit processing power as well by allocating resources to your VMs which are not available in your HOST Machines.
Nirmal Madhawa Thewarathanthri
Tuesday, February 21, 2012 12:10 AM -
Hi,Here is a blog has details about the virtual processor on Hyepr-V.Hyper-V Concepts - vCPU
http://social.technet.microsoft.com/wiki/contents/articles/hyper-v-concepts-vcpu.aspx
Best regards,
Vincent Hu- Proposed as answer by Darshana Jayathilake Tuesday, February 21, 2012 5:12 AM
Tuesday, February 21, 2012 3:23 AM -
hey guys,
i have read all those blog post and it still doesnt make sense to me, i know vCPU's are just time that a virtual machines gets on the physical processor, but you guys have not answered my question some documentation says that physical cores on a system are "logical processors", and some say "logical processors" are the same thing and "virtual processors". It makes alot more sense if logical processors are the cores, im my opinion, the problem is i keep seeing conflicting documentation, also if these logical processors actually cores then in hyper-v 3 your host machine is limited to 160 cores, which means that you are limited 1280 virtual cpus, which means if you assign each VM the maximum vCPUs they are allows which is 32 you can have a theoritcal maximum of 40 VMs with there cpus maxed out since this will = 1280 vCPU.
However if the case is that logical processors are the same thing as vCPUs the results are significantly different, and will look something like this: Our host machine has a limit of 160 logical processors as defined by the hyper-v 3 documentation, does this mean that if you have 5 hosts each with 32 vCPUs, assuming you have the maximum 160 logical processors, you will have reached your maximum limit of vCPU's. Also since the rule of thumb is 8 vCPU's per core, does this mean that you have a 20 core system at maximum?
As you can see it makes more sense if you say that logical processors are cores as you could have a 160 core system, i have been researching the subject for a very long time and i think the first method i mentioned in my reply is correct. If someone could confirm this i would be happy :)
- Edited by taygibb Tuesday, February 21, 2012 5:39 AM
Tuesday, February 21, 2012 5:21 AM -
Hi!
To answer your question, no, logical processors does not equal vCPU. The workloads in virtual machine CPU's are evenly spread across all physical CPU''s by Hyper-V.
Logical processors are the amount of CPU's presented to the host, it could be actual cores as well as hyperthreaded cores.
Edit: Maybe I should elaborate on this. Sure, the amount of "CPU's" configured on a VM is presented to/detected as logical processors by the guest operating system, but when we generally speak of logical processors in virtualization terms, we mean those present at the host.
- Edited by Mike_Andrews Tuesday, February 21, 2012 7:52 AM
Tuesday, February 21, 2012 5:32 AM -
Hi,As Windows Server 8 and Hyper-V is still in Developer Preview version, so I will describe this against the background of Windows Server 2008 R2.In the following guide, you will be able to find the following table.
http://technet.microsoft.com/en-us/library/ee405267(WS.10).aspxSo, if you have one 32 cores processor(with hyper thread) on the Hyper-V host machine, you will be able to get:one 32 cores processor(with hyper thread) = 64 logical processors = 512 virtual CPUs(ratio is 8:1 here)So on Hyper-V Server 2008 R2, the maximum number of processors supported on a virtual machine is 4, so you have the following options.1. 128 virtual machines with 4 virtual processors each.
2. Or 384 virtual machines with a total of 512 virtual processors.
3. Or 512 virtual machines with 1 virtual processor each.
Best regards,
Vincent Hu- Edited by Vincent Hu Tuesday, February 21, 2012 6:49 AM
Tuesday, February 21, 2012 6:44 AM -
Ok guys nevermind, i figured it out for myself this is the situation:
The term logical processors is used to describe the number of physical cores + hyperthreading cores. Therefore my assumptions earlier were infact correct, as far as hyper-v 3 goes this is the situation.
The term vCPU is used to describe the amount of time a virtual machine gets on a logical processor.
In the machine running Hyper-V, you have a limit of 160 logical processors this means that you can have a machine with up to 80 "real cores" and 80 "hyper threaded cores", or you could have a host with 160 cores with no hyper-threading.
In Hyper-V 3 you can assign each virtual machine 32 vCPU's. This means that since you have have a maximum of 160 logical processors at maximum you can have 1280 vCPU's this is with the supported 8:1 vCPU (ofcourse there is also a 12:1 ratio with windows 7). For the sake of ease lets stick with the supported 8:1 ratio, this means that if you want to assign every VM you create the maximum supported vCPUs you would only be able to create 40 VMS.
This took alot of research and i hope this helps people who are researching the same thing. Also you can visit my blog, here, as i will be will be doing alot of research on Hyper-V 3 in the coming days.
- Marked as answer by taygibb Tuesday, February 21, 2012 8:40 AM
Tuesday, February 21, 2012 8:39 AM -
I don't know in what were our replies not helpful, as you said. You obviously didn't know what is log.CPU, but this was explained in provided links.
Hyper-V 3 has no difference to v2! Only some limits were increased. (vCPUs, count of VMs per cluster, vRAM, pRAM, log.processors etc.)
About processor ration - in Windows Server 8 Hyper-V there will be no limits such as processor ration in current Hyper-V version. So you are not right.
Btw. Hyper-V 3 is in release preview, so it is not either BETA or RC. So everything are speculations at this time...
Jan Marek MCT | MCITP | MCTS
Tuesday, February 21, 2012 11:07 AM