We have a machine with an 88-core CPU in our department. Imagine there are 11 researchers who want to use the machine whenever they have to test a new approach. We've made 11 VMs on VMWare ESXI host, one for each researcher.
The question is how to share CPU among VMs to achieve the following: (so it's fair and it can be utilized the best)
- When only 1 VM is doing CPU intensive work and others are idle, it can utilize maximum power of CPU.
- When let's say 4 VMs are doing CPU intensive work, they get around 25% each.
- When none is idle, each get around 1/11 of CPU power.
My suggestion was to assign all 88 cores to each VM, and give each 1/11 of CPU power reserved. In contrary, our sysadmin wanted to assign 8 cores to each VM. He reasoned if one VM for example gets all cores 100%, when another VM tries to use CPU it only receives the reserved amount, not 50%.