Xeon D-1746のQAT有効化とIPSec高速化
はじめに
インテル クイック・アシスト・テクノロジー (QAT)とは、データの圧縮や暗号化、復号化を高速に行うことができるアクセラレーション機能です。QATは一部のXeonプロセッサーに統合されています。
本記事では、Xeon D-1747でQATを有効にし、IPSecのスループットがどの程度向上するか確認した結果を紹介します。
テスト環境
構成
- サーバ(Supermicro SYS-510D-10C-FN6P)
- OS:Ubuntu 20.04
- CPU Xeon D-1747
- メモリ:64GB
- VPNルータ(NEC UNIVERGE IX3315)
- パケットジェネレータ(IXIA)
QAT ドライバのインストール
QATドライバを下記ページからダウンロードします。
https://www.intel.com/content/www/us/en/download/19734/intel-quickassist-technology-driver-for-linux-hw-version-1-x.html
ディレクトリQATを作成し、ドライバを展開します。
ディレクトリQATを作成し、ドライバを展開します。
mkdir QAT cd QAT tar xfvz ../QAT.L.4.22.0-00001.tar.gzconfigureを実行します。QATをLinux Kernel Crypt Frameworkに組み込むため--enable-qat-lkcfをオプションに指定します
./configure --enable-qat-lkcf足りない機能があれば、configureのメッセージから対応するpackageをaptでインストールします。 今回は下記のpackageをインストールしました。
- build-essential
- pkgconf
- libudev-dev
- libnl-3-dev
- libnl-genl-3-dev
- yasm
make sudo make installqatサービスが有効になっていることを確認します。
systemctl status qatQATが有効になっていることを確認します。
kokomo@kokomo120:~/tmp/QAT$ cat /proc/crypto | grep qat driver : qat-rsa module : intel_qat driver : qat_aes_cbc_hmac_sha512 module : intel_qat driver : qat_aes_cbc_hmac_sha256 module : intel_qat driver : qat_aes_xts module : intel_qat driver : qat_aes_ctr module : intel_qat driver : qat_aes_cbc module : intel_qat
測定結果
図の構成で、サーバのstrongswanとVPNルータをIPSec(AES256-CBC)で接続し、パケットジェネレータからパケットを流してQAT有効/無効時のスループットを測定しました。 本環境では最大18%のスループットの向上が見られました。
- 測定結果(QAT有効時)
パケットジェネレータ1受信レート | パケットジェネレータ2受信レート | 試験条件 |
1750Mbps | - | パケットジェネレータ1←2方向2Gbps |
- | 2000Mbps | パケットジェネレータ1→2方向2Gbps |
1432Mbps | 1981Mbps | パケットジェネレータ1/2双方向2Gbps |
- 測定結果(QAT無効時)
パケットジェネレータ1受信レート | パケットジェネレータ2受信レート | 試験条件 |
1473Mbps | - | パケットジェネレータ1→2方向2Gbps |
- | 1910Mbps | パケットジェネレータ1←2方向2Gbps |
1362Mbps | 1807Mbps | パケットジェネレータ1→2方向2Gbps |