Introduces NovaComputeCpuSharedSet parameter
New compute/cpu_shared_set nova config can be set via parameter NovaComputeCpuSharedSet. 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 allow those workloads to prevent latency spikes for guest vCPU threads. A list or range of physical CPU cores to reserve for for best- effort guest vCPU resources (e.g. emulator threads in libvirt/QEMU) can be specified. Closes-Bug: 1776905 Change-Id: I53c567e8eeef12d582205b6e2d8310635555b5b8
This commit is contained in:
parent
76c8fe9d0a
commit
780d0e5f97
@ -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:
|
||||
|
@ -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.
|
Loading…
Reference in New Issue
Block a user