On 03/20/2017 04:24 PM, Blair Bethwaite wrote:
For me an interesting question to know the answer to here would be at what point
you have to stop resource sharing to guarantee your performance promises/SLAs
(disregarding memory over-provisioning). My gut says that unless you are also
doing all the other high-end performance tuning (CPU & memory pinning, NUMA
topology, hugepages, optimised networking such as macvtap or SRIOV, plus all the
regular host-side system/BIOS and power settings) you'll see very little
benefit, i.e., under-provisioning on its own is not a performance win.
Yes, that's a great question. Someone should do a paper on it. :)
My suspicion would be that for a CPU-intensive workload you could probably gain
quite a lot just by not overprovisioning your CPU. The host scheduler should
end up balancing the busy virtual CPU threads across the available host CPUs.
This will still result in periodic interruptions due to scheduler interruptions,
RCU callbacks, etc. To get to the next level where the guest has near-hardware
performance requires a bunch more work with host CPU isolation, IRQ affinity,
RCU offload, etc.
Once you get into a memory-bandwidth or network-bandwidth intensive workload
then I agree you need to start caring about memory pinning, hugepages, NUMA
topology, etc.
Chris
_______________________________________________
OpenStack-operators mailing list
OpenStack-operators@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators