Linux VM 用 DPDK (Data Plane Development Kit) の一般提供を開始

執筆者: Laxmana Rao Battula (Senior Program Manager, Microsoft Azure)

このポストは、2018 年 8 月 21 日に投稿された DPDK (Data Plane Development Kit) for Linux VMs now generally available の翻訳です。

 

Azure Linux 仮想マシン (VM) 用 Data Plane Development Kit (DPDK) の一般提供をすべての Azure リージョンで開始しました。この機能は、VM のカーネル ネットワーク スタックをバイパスするハイ パフォーマンス アプリケーション向けの、ユーザー領域のパケットを高速で処理するフレームワークです。

DPDK は、仮想ルーター、ファイアウォール、VPN、ロード バランサー、Evolved Packet Core (EPC)、サービス拒否 (DoS) アプリケーションなどをネットワーク仮想アプライアンスの形で実装するネットワーク機能の仮想化を進めるうえで、パフォーマンス向上に大きく貢献します。DPDK は、Azure で実行されている複数の Linux OS VM (Ubuntu、RHEL、CentOS、SLES) で使用可能で、秒間パケット処理数 (PPS) を増加させることができます。

Azure ギャラリーでは、以下のディストリビューションでサポートされています。

Linux OS

カーネルのバージョン

Ubuntu 16.04

4.15.0-1015-azure

Ubuntu 18.04

4.15.0-1015-azure

SLES 15

4.12.14-5.5-azure

RHEL 7.5

3.10.0-862.9.1.el7

CentOS 7.5

3.10.0-862.3.3.el7

Azure Linux VM で DPDK を使用しない場合、パケットはカーネルのネットワーク スタックを経由して処理され、割り込み駆動型になります。ネットワーク アダプターが外からのパケットを受信するたびに、パケットとカーネル領域からユーザー領域へのコンテキスト スイッチを処理するためにカーネルが割り込みます。

Azure Linux VM で DPDK を使用すると、コンテキスト スイッチと割り込み駆動型メソッドが不要になり、ポール モード ドライバーを使用して高速でパケットを処理できるユーザー領域を実装できます。カーネルをバイパスしてユーザー領域でパケットを制御することで、サイクル数を減少させ、Azure Linux VM の秒間パケット処理数を増加させることができます。

Azure Accelerated Networking (英語) で Azure Linux VM の DPDK を有効化すると、FPGA に対応した高性能 NIC を使用できます。

まずは Microsoft Azure の Linux 仮想マシンで DPDK を設定してみてください。