13.4. 실시간 인스턴스 시작 및 튜닝

실시간 컴퓨팅 노드를 배포하고 구성한 후 해당 노드에서 실시간 인스턴스를 시작할 수 있습니다. 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 고정 및 에뮬레이터 스레드 정책 설정

실시간 워크로드를 위해 각 실시간 계산 노드에 충분한 CPU가 있는지 확인하려면 인스턴스에 대해 하나 이상의 가상 CPU(vCPU)를 호스트의 물리적 CPU(pCPU)에 고정해야 합니다. 그 vCPU의 에뮬레이터 스레드는 해당 pCPU 전용으로 유지됩니다.

전용 CPU 정책을 사용하도록 플레이버를 구성합니다. 이렇게 하려면 hw:cpu_policy 매개 변수를 플레이버 전용으로 설정합니다. 예를 들면 다음과 같습니다.

# openstack flavor set --property hw:cpu_policy=dedicated 99
참고

리소스 할당량에 사용할 실시간 컴퓨팅 노드에 충분한 pCPU가 있는지 확인합니다.

네트워크 설정 최적화

배포 요구 사항에 따라 network-environment.yaml 파일에서 매개변수를 설정해야 특정 실시간 워크로드에 대해 네트워크를 튜닝해야 할 수 있습니다.

OVS-DPDK에 최적화된 구성 예를 검토하려면 네트워크 기능 가상화 계획 및 구성 가이드의 OVS-DPDK 매개변수 구성 섹션을 참조하십시오.

대규모 페이지 구성

기본 대규모 페이지 크기를 1GB로 설정하는 것이 좋습니다. 그렇지 않으면 TLB 플러시에서 vCPU 실행에 지터를 만들 수 있습니다. 대규모 페이지 사용에 대한 일반 정보는 Running DPDK 애플리케이션 웹 페이지를 참조하십시오.

PMU(성능 모니터링 단위) 에뮬레이션 비활성화

인스턴스는 vPMU로 이미지 또는 플레이버를 지정하여 PMU 지표를 제공할 수 있습니다. PMU 지표를 제공하면 대기 시간이 발생합니다.

참고

NovaLibvirtCPUModehost-passthrough 로 설정된 경우 vPMU는 기본적으로 활성화됩니다.

PMU 지표가 필요하지 않은 경우 인스턴스를 생성하는 데 사용되는 이미지 또는 플레이버에서 PMU 속성을 "False"로 설정하여 vPMU를 비활성화하여 대기 시간을 줄입니다.

  • 이미지: hw_pmu=False
  • Flavor: hw:pmu=False