Merge "Introduces NovaComputeCpuSharedSet parameter"

This commit is contained in:
Zuul 2018-06-21 18:22:41 +00:00 committed by Gerrit Code Review
commit cd61dc0cf2
2 changed files with 28 additions and 0 deletions

View File

@ -102,6 +102,16 @@ parameters:
default: []
tags:
- role_specific
NovaComputeCpuSharedSet:
description: >
A list or range of physical CPU cores will be used for best-effort guest
vCPU resources (e.g. emulator threads in libvirt/QEMU).
Ex. NovaComputeCpuSharedSet: [4-12,^8,15] will reserve cores from 4-12
and 15, excluding 8.
type: comma_delimited_list
default: []
tags:
- role_specific
NovaReservedHostMemory:
description: >
Reserved RAM for host processes.
@ -172,10 +182,12 @@ resources:
map_replace:
- map_replace:
- nova::compute::vcpu_pin_set: NovaVcpuPinSet
nova::compute::cpu_shared_set: NovaComputeCpuSharedSet
nova::compute::reserved_host_memory: NovaReservedHostMemory
- values: {get_param: [RoleParameters]}
- values:
NovaVcpuPinSet: {get_param: NovaVcpuPinSet}
NovaComputeCpuSharedSet: {get_param: NovaComputeCpuSharedSet}
NovaReservedHostMemory: {get_param: NovaReservedHostMemory}
outputs:

View File

@ -0,0 +1,16 @@
---
features:
- |
Introduces NovaComputeCpuSharedSet parameter to set
``[compute]/cpu_shared_set`` option for compute nodes.
Some workloads run best when the hypervisor overhead processes
(emulator threads in libvirt/QEMU) can be placed on different
physical host CPUs than other guest CPU resources. This allows
those workloads to prevent latency spikes for guest vCPU threads.
To place a workload's emulator threads on a set of isolated
physical CPUs, set the configuration option to the set of host
CPUs that should be used for best-effort CPU resources. Then set
a flavor extra spec to ``hw:emulator_threads_policy=share`` to
instruct nova to place that workload's emulator threads on that
set of host CPUs.