HI
i have read about vNUMA and now it will be active on vm when my virtual machine has vcpu more than 8. vnuma use from 2 difference bank for memory local bank and remote bank but now i am confused this is a good feature or bad because local bank memory is better than remote bank memory i think if disable remote bank memory is better
Can you help me?
Best regards
Babak
vNUMA is about NUMA nodes that consist of one or more physical CPU (sockets) and associated memory banks, not just memory alone.
When you configure a vNUMA VM on a host with 2 physical CPU sockets (2 NUMA nodes), the VM's vCPUs are distributed on cores of both sockets and the GuestOS is being presented this layout as a virtual NUMA topology.
The cores on both NUMA nodes each have their own local memory banks, as well as the ability to access the remote memory managed by the other NUMA node through the CPU interconnect, which is slower. In the optimal case each CPU only accesses its own local memory, so no NUMA imbalance occurs. Note that how ESXi backs physical memory pages locally and how the guest OS/application actually accesses them are two different things. As long as you have a NUMA-aware OS (practically every modern OS that's not older than ~6-7 years) you should be fine though.
You can check the ESXi-side actual NUMA memory locality distribution in the (r)esxtop memory view.
I also recommend you to check out the following articles:
vNUMA - VMware vSphere Blog - VMware Blogs
thanks
1 -for example if i have a HP server DL380 with 2 physical cpu totaly 32 core can i say we have 4 nUMA ?
2- i understand local memory bank is best performance and remote bank will be active when local memory bank is full is this correct ?
3 - with HP DL380 with 2 physical cpu if i want create VM best performance for create is create vm with 2 cpu socket and 2 core per socket(4vCPU) or create vm with 4socket and 1 core per socket (4vCPU)
Best ergards
Babak
1 -for example if i have a HP server DL380 with 2 physical cpu totaly 32 core can i say we have 2 nUMA ?
You have 2 NUMA nodes. Node 0, which consists of CPU0 and its associated memory banks and Node 1, which consists of CPU1 and its own memory banks.
2- i understand local memory bank is best performance and remote bank will be active when local memory bank is full is this correct ?
ESXi will try to use local memory whenever possible to back memory pages, but it also depends on the way the OS/application accesses memory. In most general application cases however, remote memory access is not a noticeable performance degradation though.
3 - with HP DL380 with 2 physical cpu if i want create VM best performance for create is create vm with 2 cpu socket and 2 core per socket(4vCPU) or create vm with 4socket and 1 core per socket (4vCPU)
First of all, this example is irrelevant to vNUMA because you have 8 or fewer vCPUs (unless you edit the numa.vcpu.min parameter, see: Advanced Virtual NUMA Attributes).
The VM will see 2 sockets with 2 cores each or 4 sockets with one core, but not a in any NUMA topology. It will just see a single flat pool of memory for all sockets because the virtual hardware is not being presented with NUMA-capabilities (think: installing a OS on an old Pentium 4 computer).
Secondly, the socket/core configuration was never intended to configure NUMA sizes, but only for licensing purposes. For vNUMA you should configure sockets only, this lets ESXi select an appropriate autosize NUMA topology to present to the Guest (again, only if you have 9 or more vCPUs). Check this article for details:
Does corespersocket Affect Performance? - VMware vSphere Blog - VMware Blogs
thanks
i inderstand if i want create a virtual machine with more than 8 Vcpu for example 8 oor 16 vCpu that is better put socket core = 8 or 16 and core per sock = 1
this is best performance
is that ok?
Best regards
Babak
i inderstand if i want create a virtual machine with more than 8 Vcpu for example 8 oor 16 vCpu that is better put socket core = 8 or 16 and core per sock = 1
More than 8 means at least 9. Just 8 vCPUs is not enough.
As I explained above in the article and my post, unless it's purely for licensing reasons you should configure the number of sockets only and leave corespersocket at 1, this lets ESXi autosize a vNUMA topology that works best with your physical host hardware.
Is your means that if we waiver licenssing best performance for create new vm with more than 9 vCPU is put Sockets to 8 or 9 and Core per sockect =1 ?
2- other question is for example if i want create a vm with 16vCPU if set Number of Virtual Socket = 16 and Number of Core per socket = 1 has best performance because it use all 16 vcpu from local memory bank ?
3 - if i create a vm and set Number of Virtual Socket = 8 and core per socket = 2 performance will reduce because it will use from local memory bank and remote memory bank?
4 - in summary is that true if we increase Number of Core per socket for each vm best formance will be reduce because in this mode system will be use more from remote memory bank ?
Is that correct?
i am waiting for your help
dear friend
please help me i am waiting for you
best regards
Hi,
Read the previously supplied link
http://blogs.vmware.com/vsphere/2013/10/does-corespersocket-affect-performance.html
I would also suggest leaving the defaults unless you have a specific use case. you will adversely affect the entire environment.
Regards
Refer to VM Blog to know more about this.
vNUMA - VMware vSphere Blog - VMware Blogs
i have read most of these articles but realy in any of them clearly not say about number of virtual socket and core per socket now can you clearly answer me :
1- this is my server info :
HP Proliant DL380P G8
Processor Sockets =2
core per socket = 10
logical processor = 40
1- Do i have 2 NUMA ?
2- now if i want create a vm with 16 and 24vcpu what is best practice for do that ?
3-in esxi 6 if i create a vm with more than 8vcpu will it auto numa ?
Best regards
Babak
i have readen many documents untilll today bt realy confused if you can help me clearly about number of sockets and core per socket