Overhead option to differ hypervisor process on a global set of pCPUs

Registered by Sahid Orentino

WHAT?
Introducing 'overhead_pin_set' option for compute nodes. Some
workloads require to have the hypervisor overhead processes
running on on an isolated place which do not create lateny spikes
for vCPUs threads running.

For libvirt driver configuring the 'overhead_pin_set' and
configuring the flavor with hw:emulator_threads_policy=host will
result that all the threads to be pinned on the isolated pCPUs.

WHY?
The currenlty implemented emulator threads placement policy
provide an isolated option which reserved an additionnal host CPU
per guest to handle hypervisor overhead. For some workloads that
is consuming too much host resources.

Blueprint information

Status:
Complete
Approver:
Sylvain Bauza
Priority:
Low
Drafter:
Sahid Orentino
Direction:
Approved
Assignee:
Sahid Orentino
Definition:
Approved
Series goal:
Accepted for rocky
Implementation:
Implemented
Milestone target:
milestone icon rocky-2
Started by
melanie witt
Completed by
melanie witt

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/overhead-pin-set,n,z

Addressed by: https://review.openstack.org/510897
    libvirt: set emulator threads on isolated host cpus

Addressed by: https://review.openstack.org/511188
    update: introducing isolate emulthreads on host

Addressed by: https://review.openstack.org/509730
    libvirt: rework _get_vpcu_total to return online pCPUs

Approved for Rocky. -- mriedem 20180409

It has been indicated in the approved spec that the option introduced will not be 'CONF.overhead_pin_set' but 'CONF.cpu_share_set'.

Also instead of introducing a new policy HOST for hw:emulator_threads_policy it has been indicated in the approved spec that, the already defined policy SHARE in conjuncture with CONF.cpu_share_set will make the guests emulator threads to float on the whole set of pCPUs defined by CONF.cpu_share_set.

Addressed by: https://review.openstack.org/561912
    compute: introduce cpu_share_set

Addressed by: https://review.openstack.org/561913
    libvirt: pass emulator threads policy insteadwhether it's isolated

Addressed by: https://review.openstack.org/562565
    libvirt: update emulator threads docstring

Gerrit topic: https://review.openstack.org/#q,topic:bp/related,n,z

Addressed by: https://review.openstack.org/561916
    fix blueprint related to the spec overhead-pin-set

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.