ネットワーク高速化のDPDKのメンテナーにインタビュー。日本での認知拡大を目指す
2019年6月、Linux FoundationのメンバープロジェクトであるDPDK(Data Plane Development Kit)のコントリビューターが来日し、DPDKの解説のためのセミナーを開催した。今回は来日したIntelのJim St. Leger氏(Director, Open Source Edge Service&Industry Enabling、Network Compute Division)とスマートNICのメーカーとして著名なMellanoxのThomas Monjalon氏(Staff engineer、Lead maintainer of DPDK)、そしてDPDK.orgをホストするLinux FoundationのTrishan R. de Lanerolle氏(Program Manager)の3名にインタビューを行った。
DPDKはIntelが開発し、公開したオープンソースソフトウェアで、ネットワークを高速化するためにカーネルでのコンテキストスイッチを省き、アプリケーションが直接、NICなどのハードウェアにアクセスするためのライブラリーと開発用のツールをまとめたものだ。今回は、DPDKを推進するDPDK.orgに所属するメンテナーとIntelの責任者、Linux Foundationの担当者などが、セミナーに際してThinkITのインタビューに応えたものだ。ちなみにIntelのLeger氏はアリゾナから、Monjalon氏はフランスから、そしてLanerolle氏はサンフランシスコから日本に訪れており、グローバルな構成となった。
まずDPDKの歴史について簡単に紹介してください。
Leger:DPDKは最初にIntelが開発したソフトウェアが出発点になっています。それを2011年にオープンソースソフトウェアとして公開し、2012年に最初のバージョンがリリースされました。それまでスイッチングやルーティングなどのネットワーク機能というのは、専門のベンダーがASICやSoCなどのハードウェアを使って構成していたわけですが、それをソフトウェアと標準の汎用ハードウェアで実現しようというのが狙いだったのです。
通常のLinuxアプリケーションであれば、アプリケーションからNICなどにデータを送受信するためには必ずカーネルへのシステムコールを経て実行されるということになります。そうするとインタラプト(割り込み)を受けてカーネルがコンテキストスイッチを行ってデータの送受信をするということになります。このコンテキストスイッチの部分をどうにかできないかというのが最初のアイデアでした。それをDPDKと言う形で、アプリケーションからDPDKのライブラリーを経て直接ハードウェアにアクセスすることを可能にしたわけです。
IOの高速化と言う意味ではFD.ioというプロジェクトもありますが。
Leger:FD.ioももともとはCiscoのプロジェクトであったVPP(Vector Packet Processing)から派生したもので、FD.ioはネットワークIOの部分にDPDKを使っています。そして同じく、Linux Foundationのサブプロジェクトとなっています。
今回の来日の目的を教えてください。
Leger:今回はDPDKの認知を拡げることを目的としたセミナーが開催され、それに参加するために来ました。私はアリゾナ、後の2人はサンフランシスコとフランスですね。これまでも北米ではセミナーを実施していまして、主にテレコムキャリアのエンジニアにDPDKを知って使ってもらうための活動を行っています。
2014年に最初のDPDKのカンファレンス、DPDK Summitをサンフランシスコで開催して以来、北京やサンノゼ、バンガロールなどでも開催してきました。今回は日本でセミナーをやってその感触を確かめるという感じのイベントですね。我々としてはもっとコントリビューターを増やしたいと考えています。これまでもNTTなどのエンジニアが参加してくれていますが、興味がある、もしくは使ってくれていてもまだ接触していないエンジニアが数十倍はいると考えています。そのような人に、もっとDPDKへの理解を深めてもらいたいのです。6月に行われる上海のKubeConの前日にプレスカンファレンスとしてDPDKのミニサミットをやりますので、そこでは中国のエンジニアにも訴求したいと考えています。中国には我々が知らないだけで、多くのユースケースがあるということは把握しています。
Monjalon:DPDKについては、ユーザーアプリケーションからカーネルに処理が変わる際のオーバーヘッドをバイパスすることで高速化するというのがポイントですが、実際には暗号化、復号化などの処理にも多く使われています。また全てのネットワークIOをDPDKで処理するのではなく、必要な部分をよく考えるべきです。例えばPingにDPDKは使う必要はありませんよね?
Leger:DPDKはIntelが最初に開発したので、Intelのプラットフォームだけに対応していると思われていることが多いのですが、実際にはIBMによるPowerPCプロセッサへのポーティングや、ARMプロセッサのサポートなど、多くのプラットフォームに対応しています。またサーバーだけではなく、ファイアウォールなどにも応用されています。F5 Networksのファイアウォールなどがその例になります。
Lanerolle:Windowsサーバーのサポートも近く予定しています。
日本での認知を拡げるためにはもう少しなじみやすいイメージを作ることも大事なのではないでしょうか? 例えばgRPCはゴールデンリトリバーのマスコットを使っています。DPDKも名前が少し堅苦しい感じですよね。
Leger:良いアドバイスですね。FD.ioはマスコットを作っているので、それを参考にできれば。
DPDKに関して「マイクロサービスのように小さなプロセスが複数関係するようなワークロードへの対応は?」と質問を向けたところ、「通信にOVS(Open vSwitch)を使うのであれば」という回答であった。またWindowsのサポートも予定しているということで、LinuxだけではなくWindowsサーバーもDPDKのファーストクラスシティズンになれる、ということを強調していた。
上海で開催されるKubeCon Chinaでは、DPDKのミニカンファレンスが開かれる予定だ。このイベントが、中国におけるDPDKへの関心度のレベルを見定めることのできるチャンスとなりそうだ。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- KubeCon China開催。DPDKとCI/CDのプレカンファレンスを紹介
- DPDKでアプリケーションを高速化! 見えてきたOpenStackとのギャップ
- 完全仮想化の概要とストレージ・ネットワーク完全仮想化技術の詳細解説
- 初日キーノートではJim Zemlin氏の登壇とLinus氏×Hohndel氏の対談、技術ではKubernetesとコンテナが注目を集める
- 写真で見るOCP Summit 2015
- RISC-V FoundationのCEOに訊いたRISC-Vのこれから
- コンテナってなんだろう― 「コンテナ」の概要を知る
- OS Summit NA 2022でLFに参加したことが紹介されたOPIとは?
- インストールとNICの設定
- Linux Foudationの2020年上半期の動きを振り返る(2)