- 目次
-
3.6 ボトルネックを解消するIntel DPDK
前出のボトルネックのうちのいくつかを解消しようという試みは、既にいくつかありますが、ここではLagopusで利用しているIntel DPDKの取り組みを紹介します。Intel DPDK(Data Plane Development Kit)は、データプレーンをプログラミングするにあたって有用なAPIを提供するライブラリであり、高速なパケットI/Oを実現するフレームワークとなっています。執筆時点での最新バージョンは1.7.1です。Intel DPDKの大きな特徴は下記のようなものです。
- x86、x86_64 Linux及びFreeBSDで動作
- BSD Licenseで提供されているため、商用・非商用を問わず利用可能
- 割り込みを用いないパケット送受信を実現するPoll Mode Driver(PMD)
- ユーザスペースI/Oによるゼロコピー
- マルチコア前提、コア固定によるOSのスケジューリング回避
- hugepageを利用したページフォルトの削減
- Longest Prefix Match、hash、リングバッファなど最適化されたライブラリ
- サンプルアプリケーションを多数同梱
- 3.クラウドコンピューティングテクノロジー
-