13.4. 启动和调优实时实例

部署和配置 Real-time Compute 节点后,您可以在这些节点上启动实时实例。您可以使用 CPU 固定、NUMA 拓扑过滤器和巨页进一步配置这些实时实例。

先决条件

流程

  1. 启动实时实例:

    # openstack server create  --image <rhel> \
     --flavor r1.small --nic net-id=<dpdk_net> test-rt
  2. 可选:验证实例是否使用分配的仿真程序线程:

    # virsh dumpxml <instance_id> | grep vcpu -A1
    <vcpu placement='static'>4</vcpu>
    <cputune>
      <vcpupin vcpu='0' cpuset='1'/>
      <vcpupin vcpu='1' cpuset='3'/>
      <vcpupin vcpu='2' cpuset='5'/>
      <vcpupin vcpu='3' cpuset='7'/>
      <emulatorpin cpuset='0-1'/>
      <vcpusched vcpus='2-3' scheduler='fifo'
      priority='1'/>
    </cputune>

固定 CPU 并设置仿真程序线程策略

为确保每个 Real-time Compute 节点上有足够的 CPU 以用于实时工作负载,您需要将一个虚拟 CPU (vCPU)固定到主机上的物理 CPU (pCPU)。然后,该 vCPU 的仿真程序线程保持专用于该 pCPU。

将您的类别配置为使用专用的 CPU 策略。为此,请将 hw:cpu_policy 参数设置为 dedicated on 类别。例如:

# openstack flavor set --property hw:cpu_policy=dedicated 99
注意

确保您的资源配额有足够的 pCPU,供 Real-time Compute 节点使用。

优化网络配置

根据部署的需求,您可能需要在 network-environment.yaml 文件中设置参数,以便为某些实时工作负载调整网络。

若要查看为 OVS-DPDK 优化的示例配置,请参阅 网络功能虚拟化计划和配置指南中的配置 OVS-DPDK 参数部分。

配置巨页

建议将默认巨页大小设置为 1GB。否则,TLP 刷新可能会在 vCPU 执行中创建 jitter。有关使用巨页的常规信息,请参阅正在运行的 DPDK 应用程序 网页。

禁用性能监控单元(PMU)模拟

实例可以通过指定镜像或带有 vPMU 的类别来提供 PMU 指标。提供 PMU 指标引入了延迟。

注意

NovaLibvirtCPUMode 设置为 host-passthrough 时,vPMU 默认为 enabled。

如果您不需要 PMU 指标,请在用于创建实例的镜像或类别中将 PMU 属性设置为"False"来禁用 vPMU 以减少延迟:

  • Image: hw_pmu=False
  • 类型: hw:pmu=False