Mastering Windows Server 2016 Hyper-V

(Romina) #1

Figure 2.13 Changing the NUMA spanning option for a Hyper-V server


Note that System Center Virtual Machine Manager allows NUMA spanning to be
configured per virtual machine. Behind the scenes, this means manually configuring
virtual machine assignments to specific NUMA nodes, but this is not something you
would ever want to try to perform manually. If you value having your workload always
perform predictably, and you accept that your virtual machine may not start when
memory is fragmented, turn off spanning for that guest. If you value having your
workload start up predictably, with perhaps nonoptimal performance, leave spanning
turned on. It’s probably the right choice for most people once again to leave NUMA
spanning enabled for most virtual machines.


Note that whether NUMA spanning is enabled or disabled, the hypervisor will always
make a best effort to be as efficient as possible and schedule the virtual processor on
the appropriate physical NUMA node, backing the memory of the virtual machine.
Hyper-V will also make an effort not to fragment memory among multiple NUMA
nodes if at all possible. NUMA spanning allows a way out only if there is no other
option but to fragment. However, if no logical processor in the physical NUMA node is
available, the hypervisor may temporarily schedule the virtual processor to a remote
logical processor in another NUMA node. Running a virtual processor on a remote
NUMA node is still more efficient than not running it at all if no local NUMA node
resource is available. Again, NUMA spanning does not change this behavior. The
NUMA spanning configuration is primarily controlling whether the memory for a
virtual NUMA node can be sourced from multiple physical NUMA nodes if necessary
(which is NUMA spanning enabled).

Free download pdf