[openstack-dev] [nova] Core pinning

Daniel P. Berrange berrange at redhat.com
Tue Nov 19 12:54:01 UTC 2013

On Wed, Nov 13, 2013 at 11:57:22AM -0600, Chris Friesen wrote:
> On 11/13/2013 11:40 AM, Jiang, Yunhong wrote:
> >>But, from performance point of view it is better to exclusively
> >>dedicate PCPUs for VCPUs and emulator. In some cases you may want
> >>to guarantee that only one instance(and its VCPUs) is using certain
> >>PCPUs.  By using core pinning you can optimize instance performance
> >>based on e.g. cache sharing, NUMA topology, interrupt handling, pci
> >>pass through(SR-IOV) in multi socket hosts etc.
> >
> >My 2 cents. When you talking about " performance point of view", are
> >you talking about guest performance, or overall performance? Pin PCPU
> >is sure to benefit guest performance, but possibly not for overall
> >performance, especially if the vCPU is not consume 100% of the CPU
> >resources.
> It can actually be both.  If a guest has several virtual cores that
> both access the same memory, it can be highly beneficial all around
> if all the memory/cpus for that guest come from a single NUMA node
> on the host.  That way you reduce the cross-NUMA-node memory
> traffic, increasing overall efficiency.  Alternately, if a guest has
> several cores that use lots of memory bandwidth but don't access the
> same data, you might want to ensure that the cores are on different
> NUMA nodes to equalize utilization of the different NUMA nodes.
> Similarly, once you start talking about doing SR-IOV networking I/O
> passthrough into a guest (for SDN/NFV stuff) for optimum efficiency
> it is beneficial to be able to steer interrupts on the physical host
> to the specific cpus on which the guest will be running.  This
> implies some form of pinning.

I would say intelligent NUMA placement is something that virt drivers
should address automatically without any need for admin defined pinning.
The latter is just imposing too much admin burden, for something we can
figure out automatically to a good enough extent.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

More information about the OpenStack-dev mailing list