2011
10.13

I’ll be honest, the number of 64 maximum logical processors in a host isn’t something I’ve worried about too much in the past.  I’ve never actually seen a Hyper-V host locally that had more than 2 CPUs/sockets with more than 24 total cores.  Other than doing some sizing for a VDI project and seeing a line on hyperthreading in a HP document, I’ve not cared about the 64 logical processor limit in Windows Server 2008 R2 Hyper-V (had to be clear with our new grey area with Windows Server 8 where it is 160/host).

First, what is Hyperthreading?  Wikipedia says:

“Hyper-threading is an Intel-proprietary technology used to improve parallelization of computations (doing multiple tasks at once) performed on PC microprocessors. For each processor core that is physically present, the operating system addresses two virtual processors, and shares the workload between them when possible”.

In Hyper-V world, a logical processor is a thread of execution.  With a 12 core AMD Opeteron CPU you will have 12 logical processors.  With an Intel 6 core CPU with hyperthreading disabled, you will have 6 logical processors.  With an Intel 10 core CPU with hyperthreading turned on (2 threads per core) you will have 20 logical processors.  Yoiks!  And that’s what’s brought be to this subject.

I’m working no a fairly sizeable project, that based on early numbers, seems to indicate that the ratio of CPU to RAM will be higher than normal.  After playing with the HP Power Configuration Utility, I found that the cost of owning X HP DL580’s with 4 * Intel E7 Xeons (10 cores each) was slightly cheaper than owning 2X HP DL380/5 servers with 2 CPUs.  The big box still cost more to buy/power, but it could require a much smaller network.  But all this is meaningless guessing without a MAP assessment/sizing (which is currently running).

But hold on … 4 CPUs, 10 cores each, hyperthreading turned on …. *bang* we have 80 logical processors and we’ve exceeded the 64 LP limit for W2008 R2 Hyper-V.

HP recommends disabling hyperthreading in their monster DL 980 G7 8 socket server.  Can you imagine this with 8 * 10 core CPUs?  it should be OK for Quake!?!?  But that spec would exceed the 64 LP limit so that sucks.  In server virtualisation, we’re told that leaving hyperthreading enabled in a modern CPU doesn’t hurt performance and can give a small boost – it can help quite a bit in VDI.  I’ll be disabling hyperthreading if our MAP 6.0 assessment says that a 4 * 10 core server is the way to go. 

Do you care about this?  These big core CPUs are becoming the norm.  If you’re using the usual 2 CPU hosts in a 3 host cluster, you won’t care.  By the time we get to 24 cores, we’ll probably be restricted by the 160 LP ceiling of Windows Server 8.  When I last compared a pair of 2 socket machines to a single 4 socket one, the 4 socket machine cost more to own. That has since changed.  If you’re looking at 4 * 2 socket hosts or more, you might consider fewer 4 socket hosts, and then the current 64 LP limit is a factor you have to keep in mind. 

5 comments so far

Add Your Comment
  1. So a 4 CPU system with 10 cores per CPU with HT turned on equals 80 “logical processors” and Hyper-V is limited to 64.
    Is the following conclusion true?
    Hyper-V will have access to 64 logical processors and and 16 of them will not be accessible. The host partition will not be able to use them as it is a VM as well. Will enabling HT will be a waste of resources/money in this case? Why get 4×10 core CPUs when 4×8 cores CPUs with HT enabled will reach the 64 limit without “losing” the excess cores? Thanks

    • I actually don’t know the answer to that one Ryan – I’ve never had my hands on h/w like this.

  2. I have just reached this dilema. I have IBM x3850 X5, 4 CPU, 10 core and have reached the 64 limit. msinfo32 and perfmon show 20 logical on each of the first three CPUs but only 4 on the fourth (60+4). Now I’m unsure if the fourth CPU is actually going to be fully utilised and wondering if I should just turn off HT. All capacity planning calculations were based on 40 anyway.
    I’ll update this page with anything I find out.

    • Yup, turn off hyperthreading. Turn it back on when you have WS2012.

  3. And the answer is: disable HT in order to avoid an uneven NUMA config:

    See page 3 of this IBM doc:
    http://www-03.ibm.com/support/techdocs/atsmastr.nsf/5cb5ed706d254a8186256c71006d2e0a/29e597d8022bc5538625791a00563d9b/$FILE/HyperV_RefArch_x3850X5_V7000.pdf

Get Adobe Flash player