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.