13.2.5. エミュレータースレッドの最適な位置
このセクションでは、エミュレータースレッドを次のネットワークに配置する方法について説明します。
- インスタンス内の DPDK ネットワーキングと Open vSwitch の netdev データパス
- インスタンス内の DPDK ネットワーキング、Open vSwitch のシステムデータパス、ハイパーバイザーのカーネルスペースネットワーキング
- Open vSwitch のインスタンス内カーネルネットワーキングと netdev データパス
13.2.5.1. Open vSwitch のインスタンスと netdev データパス内の DPDK ネットワーキングによるエミュレータースレッドの最適な配置 リンクのコピーリンクがクリップボードにコピーされました!
DPDK がインスタンス内で実行される場合、パケット処理は完全にユーザー空間で実行されます。PMD を vCPU0 で実行するようにスケジュールしないでください。これは、OS と割り込み処理のために残しておく必要があります。インスタンス内の PMD CPU はアクティブループを実行し、CPU の 100% を必要とするため、プリエンプトしないでください。これらの vCPU のいずれかがプリエンプトされると、パケット損失が発生する可能性があります。したがって、emulatorpin cpuset は、1 以上の番号が付けられた仮想 CPU を処理する物理 CPU とオーバーラップしないように設定する必要があります。
インスタンス内の DPDK ネットワーキングでは、エミュレータースレッドの最適な場所は、vCPU 0 を処理する pCPU か、仮想 CPU をまったく処理しない専用の物理 CPU のいずれかです。
OVS-DPDK がハイパーバイザーとインスタンス内の DPDK で使用されている場合は、エミュレータースレッドを vCPU0 に配置します。