I have a Dell PowerEdge R410 with two (2) Intel Xeon E5520 quad-core processors, with 8 threads each. Hyperthreading is enabled in the BIOS. If it helps, the Dell Service Tag on this is 3H081L1.
This server has Server 2008 SP2 64bit OS and it is a Core Installation. It has 16 GB of 1066 MHz Dual Ranked RDIMMS, ECC RAM and I am about to add 16 more.
This server hosts three (3) virtual machines using Microsoft’s HyperV. Right now assignments for Processors and RAM are as follows:
VM1: 2 CPU, 6 GB RAM
VM2: 1 CPU, 4 GB
VM3: 2 CPU, 4 GB
I want to assign a total of 4 CPUs to VM2, and 8 more GB of RAM, for a total of 12 GB.
However, in the HyperV help file, it says this:
Note
If the physical computer has multiple processors and uses non-uniform memory architecture (NUMA), we recommend that you do not assign more processors or memory to a virtual machine than are available on a single NUMA node. For example, do not assign 4 processors to a virtual machine if each NUMA node has only two processors. For more information about the processor architecture of the physical computer, see the documentation that came with the computer.
Based on that information, can I do the memory/CPU assignment that I want to do? I noticed in your paper you used the E5520 in your experiments, hence me writing this letter. How do I find out how many processors each NUMA node has? I checked the documentation and I am lost.
Should I leave hyperthreading enabled?