DPU とは?

投稿者: Kevin Deierling

…そして DPU と CPU と GPU の違いは?

DPU とは?

もちろん、CPU (セントラル プロセッシング ユニット) は既におなじみだと思います。長年にわたり、柔軟性と応答性に優れた CPU は、ほとんどのコンピューターにおける唯一のプログラマブルな要素でした。

最近では、GPU (グラフィックス プロセッシング ユニット) が中心的な役割を果たすようになりました。元々はリッチなリアルタイムのグラフィックスを提供するために使用されていましたが、その並列処理能力によりあらゆる種類のアクセラレーテッド コンピューティング タスクに理想的な存在となっています。

これは、人工知能 (AI)、ディープラーニング、およびビッグ データ分析アプリケーションを実現する鍵となっています。

しかし、この十年間で、コンピューティングは PC やサーバーという箱型の制約から抜け出し、CPU とGPU は、新たなハイパースケールのデータ センターにパワーを供給するようになってきました。

これらのデータ センターは、強力な新しいカテゴリのプロセッサとともに構成されています。DPU (データ プロセッシング ユニット) は、データ中心のアクセラレーテッド コンピューティング モデルの第 3 の構成要素となっています。「これは今後のコンピューティングの 3 つの主要な柱の 1 つとなるでしょう。CPU は汎用コンピューティング、GPU はアクセラレーテッド コンピューティングのためのものです。そして DPU は、データ センター内でデータを移動させ、データ処理を行います」と NVIDIA 創業者/CEO であるジェンスン フアン (Jensen Huang) は今月初めに行われた講演で語りました。

DPU とは?

DPU (データ プロセッシング ユニット)
業界標準、ハイパフォーマンスでソフトウェアプログラマブルなマルチコア CPU
ハイパフォーマンスのネットワーク インターフェース
柔軟でプログラマブルなアクセラレーション エンジン

DPU は何が違うのか?

DPU は、3 つの主要な要素を組み合わせた新たな種類のプログラマブル プロセッサです。DPU は、システムオンチップ (SOC) であり、以下の要素が組み合わされています。
業界標準、ハイパフォーマンスでソフトウェアプログラマブルなマルチコア CPU。一般的に広く使用されている Arm アーキテクチャをベースにしており、その他の SOC コンポーネントと密接に統合されています。

ハイパフォーマンスのネットワーク インタフェース。データを解析、処理し、GPU や CPU にライン レート (または他のネットワークの持つ速度) で効率的に転送します。

柔軟でブログラマブルなアクセラレーション エンジンの豊富なセット。AI と機械学習、セキュリティ、通信、およびストレージなどにおいて、アプリケーションのパフォーマンスをオフロードして向上させます。

これらすべての DPU 機能は、次世代のクラウドスケール コンピューティングを定義する、分離されたベアメタルのクラウドネイティブ コンピューティングを実現する上で不可欠です。

DPU: SmartNIC に組み込み

DPU はスタンドアロンの組み込みプロセッサとしても使用できますが、より多くの場合、次世代サーバーの主要なコンポーネントとして使用される SmartNIC (スマート ネットワーク インタフェース コントローラー) に組み込まれています。

DPU であると主張するその他のデバイスは、「DPU とは何か?」という質問の答えとなるこれら 3 つの重要な機能の大きな要素が欠けています。

DPU はスタンドアロンの組み込みプロセッサとしても使用できますが、多くの場合、次世代サーバーの主要なコンポーネントであるSmartNIC (スマート ネットワーク インタフェース コントローラー) に組み込まれています。

たとえば、一部のベンダーは独自のプロセッサを使用していますが、Arm CPU エコシステムが提供する豊富な開発とアプリケーションのインフラストラクチャの恩恵を受けることができません。

また、DPU を持っていると主張しているベンダーもありますが、データ パス処理を行うために組み込みの CPU のみに焦点を当てている過ちを犯しています。

DPU: データ処理へのフォーカス

これには競争力がなく、スケールしません。なぜなら、従来の x86 CPU に力ずくのパフォーマンスで戦いを挑むのは、勝ち目がないからです。100 ギガビット/秒のパケット処理で x86 が限界に達したとして、組み込み CPU がより優れたパフォーマンスを発揮することがあるでしょうか?

代わりに、ネットワーク インターフェースは、すべてのネットワーク データ パス処理のための十分なパワーと柔軟性を備えている必要があります。組み込みの CPU は、コントロール パスの初期化と例外処理に使用すべきです。それ以上のことに使用するべきではありません。

少なくとも、ネットワーク データ パスのアクセラレーション エンジンは、以下の 10 の機能を提供する必要があります。

  • Open vSwitch (OVS) を実装するためのデータ パケット解析、照合、操作
  • Zero Touch RoCE のための RDMA データ転送アクセラレーション
  • CPU をバイパスし、ネットワーク接続されたデータを (ストレージやその他の GPU の両方から) GPU に直接供給するための GPU-Direct アクセラレータ
  • RSS、LRO、チェックサムなどを含む TCP アクセラレーション
  • VXLAN、Geneve オーバーレイのためのネットワーク仮想化と VTEP オフロード
  • マルチメディア ストリーミング、コンテンツ ディストリビューション ネットワーク、および新たな 4K/8K Video over IP (RiverMax と合わせてST 2110 に準拠) を実現する、トラフィック シェーピングによる “パケット ペーシング” アクセラレータ
  • 5T for 5G 機能など Telco クラウド RAN のための Precision Timing アクセラレータ
  • その他すべてのアクセラレーションが引き続き動作するようインラインで実行される IPSEC および TLS 向けの暗号化アクセラレーション
  • SR-IOV、VirtIO、および準仮想化に対応する仮想化のサポート
  • セキュアな分離: Root of Trust、セキュア ブート、安全なファームウェアのアップグレード、および認証されたコンテナーおよびアプリケーションのライフ サイクル管理

これらは、「DPU とは何か?」という質問に答えるために欠かせないアクセラレーションおよびハードウェア機能のうちの 10 個に過ぎません。

それでは、DPU とは何でしょうか? これが DPU です。

いわゆる DPU の多くは、上記の機能の 1 つか 2 つを提供することにのみに焦点を当てています。

最悪なのは、独自のプロセッサでデータパスをオフロードしようとするものです。

プロトタイピングには適していますが、データ センターの規模、範囲、そして広範さを考慮すれば、これは無駄足となるでしょう。

その他の DPU 関連のリソース