7.5. 2 NUMA ノード構成の OVS-DPDK デプロイメントの例
以下の例に示すコンピュートノードは、2 つの NUMA ノードで構成されます。
- NUMA 0 にはコア 0 - 7 があり、シブリングスレッドペアは (0,1)、(2,3)、(4,5)、および (6,7) の構成。
- NUMA 1 にはコア 8 - 15 があり、シブリングスレッドペアは (8,9)、(10,11)、(12,13)、および (14,15) の構成。
- 各 NUMA ノードが物理 NIC (具体的には NUMA 0 上の NIC1 および NUMA 1 上の NIC2) に接続されている。

各 NUMA ノード上の 1 番目の物理コア (あるいは両スレッドペア: 0,1 および 8,9) は、OvsDpdkCoreList
等のデータパス以外の DPDK プロセス用に確保します。
この例では、MTU が 1500 に設定されており、全ユースケースで OvsDpdkSocketMemory
が同じであることも前提です。
OvsDpdkSocketMemory: “1024,1024”
NIC 1 は DPDK 用で、1 つの物理コアは PMD 用
このユースケースでは、NUMA 0 の物理コアの 1 つを PMD 用に割り当てます。NUMA 1 の NIC では DPDK は有効化されていませんが、その NUMA ノードの物理コアの 1 つも割り当てる必要があります。OvsDpdkCoreList
用に確保されていない残りのコアは、ゲストインスタンスに割り当てられます。その結果、パラメーターの設定は以下のようになります。
OvsPmdCoreList: “2,3,10,11” NovaComputeCpuDedicatedSet: “4,5,6,7,12,13,14,15”
NIC 1 は DPDK 用で、2 つの物理コアは PMD 用
このユースケースでは、NUMA 0 の物理コアの 2 つを PMD 用に割り当てます。NUMA 1 の NIC では DPDK は有効化されていませんが、その NUMA ノードの物理コアの 1 つも割り当てる必要があります。OvsDpdkCoreList
用に確保されていない残りのコアは、ゲストインスタンスに割り当てられます。その結果、パラメーターの設定は以下のようになります。
OvsPmdCoreList: “2,3,4,5,10,11” NovaComputeCpuDedicatedSet: “6,7,12,13,14,15”
NIC 2 は DPDK 用で、1 つの物理コアは PMD 用
このユースケースでは、NUMA 1 の物理コアの 1 つを PMD 用に割り当てます。NUMA 0 の NIC では DPDK は有効化されていませんが、その NUMA ノードの物理コアの 1 つも割り当てる必要があります。OvsDpdkCoreList
用に確保されていない残りのコアは、ゲストインスタンスに割り当てられます。その結果、パラメーターの設定は以下のようになります。
OvsPmdCoreList: “2,3,10,11” NovaComputeCpuDedicatedSet: “4,5,6,7,12,13,14,15”
NIC 2 は DPDK 用で、2 つの物理コアは PMD 用
このユースケースでは、NUMA 1 の物理コアの 2 つを PMD 用に割り当てます。NUMA 0 の NIC では DPDK は有効化されていませんが、その NUMA ノードの物理コアの 1 つも割り当てる必要があります。OvsDpdkCoreList
用に確保されていない残りのコアは、ゲストインスタンスに割り当てられます。その結果、パラメーターの設定は以下のようになります。
OvsPmdCoreList: “2,3,10,11,12,13” NovaComputeCpuDedicatedSet: “4,5,6,7,14,15”
NIC 1 と NIC2 は DPDK 用で、2 つの物理コアは PMD 用
このユースケースでは、各 NUMA ノードの物理コアの 2 つを PMD 用に割り当てます。OvsDpdkCoreList
用に確保されていない残りのコアは、ゲストインスタンスに割り当てられます。その結果、パラメーターの設定は以下のようになります。
OvsPmdCoreList: “2,3,4,5,10,11,12,13” NovaComputeCpuDedicatedSet: “6,7,14,15”