Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

フルCPUのパーティショニングと分離によるDPDK vRouterのパフォーマンスの最適化

Contrail Networking リリース 2003 では、フル CPU パーティショニングがサポートされています。CPU 分離は、コンピューティング ノード上の CPU コアをパーティション分割し、対称型マルチプロセッシング (SMP) バランシングおよびスケジューラ アルゴリズムから分離する RHEL メソッドです。完全な CPU 分離機能により、RHOSP に推奨される DPDK 設定で展開された場合に、DPDK vRouter のパフォーマンスが最適化されます。

CPU の分離により、転送コア、VNF コア、サービス コアを分離し、VNF スレッドとサービス スレッドが転送コアに処理要求を送信しないようにすることができます。CPU 分離を適用することで、専用の転送コアを DPDK VM に割り当て、DPDK vRouter に割り当てられたコアに他のプロセスが処理要求を送信しないようにすることで、vRouter のパフォーマンスが大幅に向上します。

CPU の分離とパーティション分割については、RedHat では 2 つの方法を推奨しています。1 つ目の方法は、 と呼ばれる tunedユーティリティを使用して、CPU を仮想ネットワーク機能(VNF)にパーティション分割し、これらのコアをホスト OS から分離する方法です。このメソッドは tuned 、プロセスを使用して systemd 、すべてのタスクを処理し、システムの起動後に CPU の分離を実行するために使用される共通 CPU の一覧から分離された CPU を削除します。

2つ目は isolcpus、CPUをLinuxスケジューラから遠ざけるカーネルパラメータです。と同様に tuned、このメソッドは isolcpus 、すべてのタスクの処理に使用される共通 CPU リストから分離された CPU を削除し、システムの起動時に CPU の分離を実行します。を有効にするには isolcpus、/ etc/default/grub の GRUB 設定を変更して、分離された CPU の新しいセットが考慮されるようにする必要があります。変更を有効にするには、ノードを再起動する必要があります。

を使用して tunedCPU の分離を有効にするには、RHOSP の場合は /tripleo-heat-templates/environments/contrail/contrail-services.yaml 内 をDPDK_CTRL_THREAD_MASKSERVICE_CORE_MASK Contrail Ansible Deployer の場合は /vrouter/agent-dpdk/entrypoint.sh ファイルの および パラメーターを設定しますContrailDpdkParameters

In contrail-services.yaml

entrypoint.sh 年

設定 isolcpusするには、GRUB で以下のパラメータを変更します。

チューニングは isolcpu 、VNF(VM)に対しても行う必要があります。これは、VM がポーリング モード ドライバー (PMD) スレッド コアを保護し、他のプロセスによる CPU 使用率から分離できるようにするためです。Centos および RHEL では、CPU のチューニングはユーティリティ isolcputunedを使用して行われます。