DPDK23.11リリースを解説 ~DPDK入門 第18回~
今回はDPDKリリースノートの読み方を解説します。
DPDK入門
- 2024年03月23日公開
はじめに
こんにちは、NTTテクノクロスの山下です。今回は2023年末にリリースされたDPDK23.11の機能について解説します。まずは、DPDKにおけるリリースサイクルについて解説します。
リリースサイクルについて
DPDKリリースノートを読み解く ~DPDK入門 第13回~で解説しましたが、DPDKは年に3回リリースされます。
本ブログで題材にするDPDK23.11はLTSリリースにあたります。LTSリリース以外はStableリリースと呼ばれます。
LTSとはLong Term Supportの略語です。直訳すると「長期サポート」となりますがその名の通りDPDKリリースの中では相対的に長期的(現在は3年)なメンテナンスがなされます。
その間もバグFIXがサポートされるため、利用者は安心してDPDKを利用することができます。
DPDKロードマップには今後DPDKに追加される予定の機能について記載があるためお時間があればご覧になると面白いですよ。
DPDK23.11の追加機能
以下では、DPDK23.11の追加機能をDPDKオフィシャルサイト(dpdk.org)内の記事「Inside DPDK 23.11: An Overview of the Latest Release - DPDK」を参考にまとめました。
大きな傾向としては、Flowやセキュリティ関連の機能追加とともに、ビルドや省電力・効率化など改善に近いものも多くなっています。
表1.DPDK 23.11リリースの主要機能
分類 | 分類 | |
Main Features of the Release (主機能) |
ビルド関連 | C11 Compiler Requirement: The build now mandates a C11 compatible compiler. |
MSVC Build Support: Initial support is added for Microsoft Visual C++ (MSVC) builds. | ||
New Atomic Operations API: An enhanced API for atomic operations is included. | ||
省電力 | AMD CPU Power Management: Advanced power management features for AMD CPUs. | |
効率化関連 | MBuf Recycling: Enhancements in memory buffer recycling. | |
RSS Algorithm Management: Upgraded management of Receive Side Scaling (RSS) algorithms. | ||
Max Rx Buffer Size Adjustment: Modifications to the maximum receive buffer size. | ||
Flow関連 | New Flow Action Types: Introduction of novel flow action types. | |
Flow Group Miss Action: A new flow group miss action feature is added. | ||
Packet Type Matching: Improved packet type matching in flow items. | ||
セキュリティ関連 | TLS Record Offload: New offloading capability for TLS record processing. | |
Security Rx Inject: Advanced features for security reception injection. | ||
Eventdev関連 | Eventdevの改善 | |
PMDの追加・更新 | 既存PMD(Poll Mode Driver)の更新や新規PMDの追加 | |
Enhancements(機能強化) | Updates in eventdev link profiles, adapter for dmadev, and the event dispatcher library. | |
NFP vDPA Driver: A new driver is introduced. | ||
Graph Application: A novel application feature for graph processing. | ||
Deprecated Libraries: Certain libraries and drivers have been removed. |
注:赤字記載箇所は、今回のブログで深堀します。
新機能の読み方
リリースノート内で新機能の記載箇所は、図2のようになっています。
新機能には、新たなDPDK用ドライバ(PMD:Poll Mode Driver)の追加・更新が多くを占めています。
今回は、DPDK23.11で更新されたに1つのドライバについてご紹介します。
図2.DPDK23.11リリースノート
注目機能:vRAN Boost baseband driverの更新
Intel® vRAN Boost Poll Mode Driver (PMD)がv2として更新されています。リリースノートには、図3のように記載されています。
図3.リリースノート内での記載箇所
vRAN Boost baseband driverといわれてもパッとは意味がわからないと思いますので用語を解説していきます。
vRANとはvirtual Radio Access Netowrkの略です。日本語に訳せば「仮想無線アクセスネットワーク」といったところでしょう。
移動体通信(すなわちケータイ)のネットワークは、「コアネットワーク」と「無線アクセスネットワーク」で構成されます。(図4)
これらのネットワークは3G以前は、専用ハードウェア・専用ソフトウェアで構成されていました。
4G以降は、まず、コアネットワークの仮想化(汎用サーバの仮想プラットフォーム上でソフトウェアにより実現すること)が実現しました。
現在は、残りの「無線アクセスネットワーク」部分について仮想化する流れが世界的におきています。
O-RAN(Open RAN Alliance)では、無線アクセスネットワークを構成する機器間のインタフェースのオープン化・標準化を目的としていますが、同時に無線アクセスネットワークの仮想化についても標準化を行っています。
図4. 移動体通信のネットワーク構成
vRAN BoostはIntel社が有する技術の名称であり、無線アクセスネットワーク仮想化を加速(Boost)するもののようです。
vRAN Boost baseband driverを利用すれば、無線区間で必要な様々なオフロードすることができるようです。
実際に、対応するPMDの説明をみてみます(図5)。
LDPCやTurboは、誤り訂正符号です。誤り訂正符号とは移動通信システムや、宇宙での通信など、ノイズのある限られた帯域幅であっても、信頼性の高い高速通信を行う場合に使われています。(インターネットでは、MAC層ではFCS(フレームチェックシーケンス),TCP/IP層でもチェックサムを用いて電文に誤りがないかをチェックしますが、その無線版のようなものです。)これらの計算量は膨大になりますから、CPUでイチイチやっていては処理能力が間にあいません(間に合わせるためには多くのCPUを必要とする)。よって誤り訂正符号の計算は本ドライバによるオフロード効果が見込め、無線区間のオフロードの一例となるかと思います
図5.vRAN Boost v2 PMDで提供される機能
DPDKにおけるbasebandデバイスドライバの対応状況
DPDKがサポートするbasebandデバイスドライバを調べてみました。basebandの定義は難しいですが、一般的には無線区間のプロトコルのことを指すことが多いと思います。
図6.baseband driver
図6に概略を示します。
先に紹介した以外にも、無線処理をオフロードするためのPMDがいろいろとそろっています。
DPDKについては、もちろん固定網の機器でも利用されていますが、PMDの品ぞろえからも、無線処理にも利用されていることが読み取れます。
移動体通信は、近年、技術革新も続き、また社会に与える影響も大きくなっています。
また、O-RANに代表されるように、世の中では無線アクセスネットワークのオープン化・仮想化が加速しています。
膨大な計算処理が無線処理の一部をアクセラレータにオフロードする流れがあり、DPDKもその手段の一つとなっています。
おわりに
今回は少し趣向を変えて、執筆時点での最新版LTSであるDPDK23.11を題材にDPDKリリースノートの読み方をご紹介しました。機会があれば、今回少し触れたDPDKの最新技術等についてもご紹介しようとおもいます。本記事の連載に関して何か問い合わせがございましたら、以下に連絡下さい。よろしくお願いします。
本件に関するお問い合わせ
[著者プロフィール]
フューチャーネットワーク事業部 第一ビジネスユニット
山下 英之(YAMASHITA HIDEYUKI)