NVIDIAがプロセッサの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 であると主張するその他のデバイスは、「DPU とは何か?」という質問の答えとなるこれら 3 つの重要な機能の大きな要素が欠けている。
たとえば、一部のベンダーは独自のプロセッサを使用しているが、Arm CPU エコシステムが提供する豊富な開発とアプリケーションのインフラストラクチャの恩恵を受けることができない。
また、DPU を持っていると主張しているベンダーもあるが、データ パス処理を行うために組み込みの CPU のみに焦点を当てている過ちを犯している。
これには競争力がなく、スケールしない。なぜなら、従来の 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 つを提供することにのみに焦点を当てている。
最悪なのは、独自のプロセッサでデータパスをオフロードしようとするもの。
プロトタイピングには適しているが、データ センターの規模、範囲、そして広範さを考慮すれば、これは無駄足となるだろう。
■執筆者:KEVIN DEIERLING氏
https://blogs.nvidia.com/blog/2020/05/20/whats-a-dpu-data-processing-unit/
構成/DIME編集部