Additionally, in most clusters, the hosts all have the same NUMA topology, so in
practice this is not a big issue.
Another challenge with automated NUMA configuration is that with Shared Nothing
Live Migration, virtual machines can be migrated outside a cluster. No management
solution could consider that. For most scenarios, virtual machines are created on the
server upon which they will run, which means that they will have the most optimal
configuration and no manual actions are necessary.
Notice the Use Hardware Topology button. If you change the settings and realize that
you don’t know the original values, you can click this button and the values will be
reset back to the Hyper-V recommended values for that server.
Note that if a virtual machine uses Dynamic Memory, the vNUMA is disabled for the
virtual machine.
NUMA SPANNING
As previously discussed, the best performance comes from processes running on
processor cores using local memory within the NUMA node rather than having to
“span” NUMA nodes. Spanning means that the memory required is connected to
another processor; it’s known as foreign memory or remote memory, and it has a
higher latency than local memory. NUMA spanning configurations come in two types:
configuration at a host level and configuration at a virtual machine level.
By default, Windows Server 2012 enables NUMA spanning at the host level. This
provides the most flexibility, because virtual machines can access and use memory in
any NUMA node. But it also may result in lower performance, compared to forcing
virtual machines to use memory on the same NUMA node as the processor cores. By
disabling NUMA spanning at the host level, you disable it for all virtual machines on
the host and you ensure that virtual machines’ virtual NUMA nodes are backed by
memory from one NUMA node giving the best performance. However, it could also
mean that virtual machines might not be able to start if the required amount of
memory for the VM is not available on a single NUMA node. It also means that you
may not be able to live-migrate virtual machines to other nodes if the target node
cannot satisfy the NUMA requirements.
The NUMA spanning option should be changed only when you, as an administrator,
feel comfortable with NUMA and the implications of disabling and have an additional
management suite that can help ensure the best configuration. In reality, the best
practice should be to leave NUMA spanning enabled, and that is what I recommend.
To disable NUMA spanning, open the Hyper-V Settings page and deselect the NUMA
spanning option, as shown in Figure 2.13.