• vEOS Router DPDKについて

 
 
Print Friendly, PDF & Email

Arista vEOS Routerでは、高速でソフトウェアルーティングの転送を可能とするDPDKをサポートしております。DPDKを利用することにより、各種ハイパーバイザーやパブリックプライド上のvEOSでL3転送、GRE/IPSecトンネル、ACL、QOSと行った機能を高速で処理することができます。
ここでは、DPDKを利用してソフトウェアで高速に処理するための構成を説明します。

DPDKとは

DPDKとは、パケット処理をLinuxカーネルで行う従来の方法から、ユーザー領域から直接ハードウェアを制御することで、大幅に高速化できます。
DPDKは、実際にはいくつかのソフトウェアコンポーネントで提供されますが、ハードウェア構成にも関係するところがあります。

・NIC:カーネルドライバではなく、DPDK用ドライバが必要な為、対応しているNICを確認する必要があります。
・CPU:高速処理の為、ベクター演算対応(Intel SSE3,、SSE4.1、AVX、AVX2、AVX512など)のCPUが必要となります。
・HUGEページ:x86では2MBページと1GBページなどのページサイズがあります。高速化処理の為、1GBページを利用します。

Arista vEOSルータでは、デフォルトではカーネルモード(SFA:Software Forwarding Agentモード)となっており、設定変更によりDPDKのSFEモード(Software Forwarding Engineモード)となります。

対応プラットフォーム毎での構成

ネットワーク構成

仮想環境においてネットワーク高速化を行う場合は、PCIパススルーやSRIOVにより直接仮想マシンにNICを制御させることで、最も性能が期待できます。

vSwitch+カーネルモード

VMで従来のカーネルモード。ハイパーバイザーではvSwitchを利用する構成。性能は通常の仮想環境となります。

vSwitch+DPDKモード(SFE)

VM上ではSFEモードで高速パケット処理し、ハイパーバイザーではvSwitchを利用する構成。パケット処理性能はvSwitchに依存します。

PCIパススルー(またはSRIOV)+DPDKモード(SFE)

VM上ではSFEモードで高速パケット処理し、ハイパーバイザーではPCIパススルー(またはSRIOV)で物理NICを直接VMの制御します。最も性能が高い構成となります。

補足となりますが、PCIパススルーではNICを直接VMの制御とする為、一台の物理サーバーに多くのVMを搭載する場合にはそれだけサーバに搭載する物理ポートが必要となります。SRIOVでは物理NIC自体を複数のVirtual Functionに論理分割することで、一つの物理ポートを複数のVMで利用することができます。

VMware ESX6.0以上

・サポートNIC
・VMWare vmxnet3(準仮想化NIC)
・Intel x520/82599 PCIeパススルーもしくはSRIOVモード

KVM REHL/CentOS7.0以上、Ubuntu18.04以上

・サポートNIC
・Virtio-net(準仮想化NIC)
・Intel x520/82599 PCIeパススルーもしくはSRIOVモード

Amazon AWS C4 Instance

・サポートNIC
・SRIOV 82599Virtual Function

CPU、メモリ構成

・Intel E5-26XX v4もしくはそれ以降のCPU(ベクトル演算対応)

・NUMA構成

物理サーバで2ソケットCPUなどの場合に、vEOS Routerインスタンスが2つのソケットにまたがらないようにハイパーバイザー側でvEOS Routerが利用するvCPUを物理的に一つのCPU指定することが求められます。この時、CPUソケットだけでなく、NICのPCIスロットも該当物理CPUに接続されているよう注意が必要です。

・ハイパースレッディング
物理サーバで、ハイパースレッディングをDisableにする方が良い性能が得られます。

・BIOS/Firmware/ハイパーバイザー

低消費電力やクロックセーブモードをDisableとすることで良い性能が得られます。

DCA-200-VEOS アプライアンス

上記のように、DPDKを利用するにあたり、物理サーバとハイパーバイザー側にも多くの考慮が必要となります。AristaではDPDKに必要な要件を考慮した物理サーバアプライアンス(KVM)のDCA-200-VEOSを提供しております。DCA-200-VEOS では、2つのCPUソケットを持ち、2つのvEOS Routerインスタンスを稼働させることができます。

vEOS RouterでのDPDK設定方法:

https://www.arista.com/en/cg-veos-router/veos-router-veos-with-data-plane-development-kit-dpdk-flavor

vEOS-RouterとDCA-200-VEOSアプライアンス製品情報:

https://www.arista.com/assets/data/pdf/Datasheets/vEOS_Router_Datasheet.pdf

 

データセンター内でスイッチASICを用いるように、ハイブリッドクラウドなどソフトウェアによるパケット処理を最適化していくことも重要になりつつあります。またこうしたDPDKによるソフトウェアパケット処理エンジンも共通のEOSとCloudVisionで一元的に管理が可能です。

 

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: