2.6. Compute
本項では、Compute サービスの最も重要な新機能について説明します。
- エミュレーターのスレッドポリシー
- Compute のスケジューラーは、CPU リソースの使用状況を確認して、フレーバーの仮想 CPU (vCPU) 数に基づいてインスタンスを配置します。ゲストの代わりにホストで実行されるハイパーバイザー操作は数多くあります。
libvirt
ドライバーは KVM の汎用の配置ポリシーを実装します。このポリシーでは、QEMU エミュレーターのスレッドが、仮想 CPU を実行しているのと同じ物理 CPU (pCPU) にまたがってフローティングできます。これにより、エミュレータースレッドは vCPU の操作から借りた時間を使用することになります。今回のリリースでは、 Compute はhw:emulator_threads_policy=isolate
オプションを使用して、非リアルタイムのワークロードを実行する vCPU を 1 つ確保します。インスタンスのフレーバーに対してエミュレーターのスレッドポリシーを有効化する前には、hw:cpu_policy
オプションを dedicated に設定する必要があります。 - SR-IOV 対応 NUMA ノードの確保 (加重)
- 今回のリリースには、非 PCI インスタンスを非 PCI の NUMA ノードに配置するためのフィルタースケジューラーとリソーストラッカーの更新が含まれています。PCI デバイスにバインドされていないインスタンスは、なるべく、PCI デバイスを搭載していないホストに配置されます。PCI デバイスを搭載していないホストがない場合には、PCI デバイスを搭載したホストが使用されます。このオプションを有効にするには、新しい
nova.scheduler.weights.all_weighers
の PCI weigher オプションを使用します。このオプションは、filter_scheduler.weight_classes
の設定オプションを使用して手動で有効にすることもできます。