Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Question
Tuesday, March 7, 2017 12:24 PM
Hello,
Please define me on your own easy words . What is NUMA in hyper v server 2016. thanks
All replies (7)
Wednesday, March 8, 2017 6:50 AM
Hello,
Non-Uniform Memory Access (NUMA) is a computer system architecture, which divides memory and processors into groups. A NUMA-aware application can schedule processor threads to access the data in the same NUMA node. This can minimize memory access latencies and reduce memory interconnect traffic.
In Windows Serve 2012, virtual NUMA is supported in VM, this allows guest operating system and any NUMA-aware applications running within it to take advantage of the NUMA performance optimizations, just as they would when running on a physical computer.
Virtual NUMA and Dynamic Memory features cannot be used at the same time.
Beset regards,
Andy Liu
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact [email protected].
Wednesday, March 8, 2017 1:36 PM
Hello,
Plz correct my statement regarding NUMA.
Before enabling NUMA.
for example! I have one physical server with 128GB RAM and 2 socket CPUs. Each CPU have 10 core (logical processors). Both Sockets CPUs have shared memory (cashe). When any CPU need to perform operation then CPU access his shared memory and perform the task. (here it is latency)
After enabling NUMA.
in the case of NUMA, total memory (CPU Cashe) and RAM will be equally divide in both CPUs. Now each CPU have a local memory.
Now if we assign 6 logical processors in one VM. NUMA will assign 6 logical processors from the same socket processor. these logical processors now will get local memory which is assign on the same socket processors. Now performance will be good.
right?
if it is not correct then plz correct it. thanks
Friday, March 10, 2017 9:19 AM
Hello,
Your understanding for NUMA is roughly correct. For better understanding, you can see the blog article below. It explains NUMA more clearly.
Best regards,
Andy Liu
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact [email protected].
Friday, March 10, 2017 12:08 PM
Ok . Thanks
In case of NUMA, each CPU have a own local memory (CPU cashe). if the memory is finished then this processor can use other processor memory if that processor have free memory?
Other processor's memory called foreigner Memory?
Monday, March 13, 2017 9:45 AM
Hello,
Foreign Memory is also called Remote Memory, which does't belong to the group, in which the processor is currently running.
You can enable NUMA spanning, which allows the VM to access memory on non-local NUMA nodes.
Best regards,
Andy Liu
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact [email protected].
Saturday, March 25, 2017 12:02 AM
Hello
I have two questions.
First question::.
for example i have one physical server. 2 socket processors and each processor have 12 cores (cores means logical processors) and i have 64gb RAM in this server.
When we select Numa spanning then how many Numa node will create regarding my server specification.
Second question::.
for example i have 2 NUMA node. each numa node have 8gb memory and i have 3 VMs.
one VM need 6gb memory which will access from numa node 1 and 2nd VM also need 6gb memory which will access from numa node 2 but my 3rd VM need 4gb memory now how it will access 4gb memory in the case of enabled NUMA? and if NUMA is disable then how these vms will access memory.
one more example.
in case of Enabled NUMA spanning. I have 2 NUMA node and each numa node have 8gb memory but i have one VM which need 10gb memory now how and where it can access the memory?
Regards
Monday, March 27, 2017 8:59 AM
Hello,
>>> First question::.
The number of Node is depended on the underlying physical hardware. You can check it by using the Powershell command: Get-VMHostNumaNode
The Numa spanning is not relevant to the number of Node.
When a virtual machine is started, Hyper-V attempts to allocate all the memory for that virtual machine from a single physical NUMA node, if sufficient memory is available. If the memory requirements for the virtual machine cannot be satisfied from a single node, Hyper-V allocates memory from another physical NUMA node. This is known as NUMA spanning.
>>> Second question::.
If VM3 doesn't have enough memory, the NUMA spanning setting determines virtual machine behavior when there is not enough memory on the host to perform an optimal mapping between the virtual NUMA nodes and the host’s physical NUMA nodes. Due to memory constraints, one or more virtual NUMA nodes must be split between two or more physical NUMA nodes.
When NUMA Spanning is disabled, and the VM3 does't have enough memroy, Hyper-V will not start.
More details about Hyper-V NUMA, you can see the following article.
https://technet.microsoft.com/en-us/library/dn282282%28v=ws.11%29.aspx?f=255&MSPPError=-2147217396
Best regards,
Andy Liu
Please remember to mark the replies as answers if they help.
If you have feedback for TechNet Subscriber Support, contact [email protected].