
DPU(データ処理装置)とは?
データ処理装置(DPU)は、データセンターのサーバーで実行されるネットワークおよびストレージ機能を実行・高速化するために最適化された、高性能なネットワークインターフェースを搭載した、再プログラム可能な高性能プロセッサの新しい分類です。DPUは、GPUと同様にサーバーのPCIeスロットに接続され、CPUからDPUにネットワークおよびストレージ機能の処理をオフロードすることで、CPUはオペレーティングシステムやシステムアプリケーションの実行のみに集中できます。DPUは、再プログラム可能なFPGAとネットワークインターフェースカードを組み合わせて、ネットワークトラフィックを高速化することがよくあります。これは、GPUがCPUから数学的演算をオフロードすることで、人工知能(AI)アプリケーションを高速化するために使用されているのと同様です。以前は、GPUはリッチでリアルタイムなグラフィックを提供するために使用されていました。これは、GPUが大量のデータを並行して処理できるため、機械学習や深層学習などのAIワークロードやその他の人工知能ワークロードを高速化するのに理想的であるためです。

DPUを搭載したサーバーは、CPUからDPUへネットワーク機能をオフロードできるため、将来非常に人気が高まるでしょう。これにより、貴重なCPU処理能力が解放され、CPUはより多くのアプリケーションを実行できるようになり、ネットワークアクティビティによって処理が滞ることなく、可能な限り効率的にオペレーティングシステムを実行できます。実際、一部の専門家は、CPU処理能力の30%がネットワークおよびストレージ機能の処理に費やされていると主張しています。ストレージおよびネットワーク機能をDPUにオフロードすることで、仮想ワークロードやコンテナ化されたワークロードなどの機能に貴重なCPU処理能力を解放できます。さらに、DPUは、ネットワークセキュリティ、ファイアウォールタスク、暗号化、インフラストラクチャ管理などの機能にも使用できます。
DPUは、ネットワークおよびストレージ機能を高速化および実行できるため、データセンターサーバーにおいて、CPU(中央処理装置)およびGPU(グラフィックス処理装置)と並んで3番目のコンポーネントとなるでしょう。CPUは汎用コンピューティングに使用されます。GPUは人工知能アプリケーションを高速化するために使用されます。DPUを搭載したサーバーのDPUは、データを処理し、データセンター内でデータを移動するために使用されます。
全体として、データセンターに保存されるデータ量が絶え間なく増加しているため、DPUは明るい未来を秘めています。これは、高性能データセンターサーバーが実行するストレージおよびネットワーク機能を高速化できるソリューションが求められているためです。DPUは、ネットワークおよびストレージ機能をDPUにオフロードすることで、サーバーのCPU使用率を削減できるため、既存のサーバーに新たな命を吹き込むことができます。推計によると、CPU使用率の30%がネットワーク機能に費やされているため、これらをDPUに移行することで、CPUの処理能力を余分に確保できます。したがって、DPUは、システムのどの程度の資源がネットワーク機能に使用されているかにもよりますが、サーバーの寿命を数ヶ月から数年延長することができます。
DPUの構成要素とは?
DPUは、主に3つの要素から構成されるシステム・オン・チップです。まず、DPUには通常、ソフトウェアでプログラム可能なマルチコアCPUが搭載されています。2つ目の要素は、DPUがネットワークを介してデータを解析、処理、効率的に移動できるようにする高性能ネットワークインターフェースです。3つ目の要素は、CPUからDPUにネットワークおよびストレージ機能をオフロードする、豊富で柔軟なプログラム可能なアクセラレーションエンジンです。DPUは、強力なネットワークデータ処理を提供するスマートNICと統合されることがよくあります。
NvidiaはDPUの分野をリードしており、最近ではNvidia Bluefield 2 DPUをリリースしました。これは、現代のデータセンター向けに最適化された世界初のチップアーキテクチャによるデータインフラです。Bluefield 2 DPUを使用すると、データセンターサーバーはCPUからDPUにネットワークおよびストレージ機能の処理をオフロードできるため、DPUが通常のストレージおよびネットワーク機能の処理を担うことができます。
NvidiaのDPUは、DOCA SDKを介してアクセスでき、DPUハードウェア用のプログラム可能なAPIを提供します。DOCAは、組織がDPUをプログラムして、サーバー、仮想マシン、コンテナとの間のデータ処理を高速化することを可能にします。DPUは、ネットワーク機能を高速化し、VMやコンテナに関連する東西トラフィック、およびデータセンター内外を流れる南北トラフィックを処理します。そうは言っても、DPUが特に優れているのは、データセンター内のデータ移動です。これは、DPUがデータ移動に最適化されているためです。
さらに、Nvidiaは、DPUがすべてのデータセンターセキュリティサービスをオフロードおよび高速化できると述べています。これは、次世代ファイアウォール、マイクロセグメンテーション、データ暗号化機能、侵入検知が含まれているためです。以前は、セキュリティはx86 CPUを利用するソフトウェアによって処理されていましたが、セキュリティをDPUにオフロードすることで、他のタスクのためにCPUリソースを解放できます。
DPUの最も一般的な機能とは?
DPUには多くの機能がありますが、DPUに搭載されている最も一般的な機能は次のとおりです。
- 1つまたは複数の100ギガビットから200ギガビットインターフェースを介した高速接続
- 高速パケット処理
- ARMまたはMIPSベースのCPUによるマルチコア処理(8x 64ビットArm CPUコア)
- DDR4およびDDR5 RAMをサポートするメモリコントローラ
- アクセラレーター
- PCI Express Gen 4サポート
- セキュリティ機能
- ホストシステムのOSとは独立したカスタムオペレーティングシステム
最も一般的なDPUソリューションとは?
Nvidiaは、Nvidia Mellanox BlueField 2 DPUおよびBlueField 2X DPUとして知られるDPUをリリースしました。BlueField 2X DPUは、BlueField 2 DPUのすべての機能に加え、DPU上で人工知能機能を実現するAmpere GPUを搭載しています。Nvidiaは、セキュリティ、ネットワーク、ストレージ管理を処理するためにDPUにGPUを組み込みました。例えば、機械学習や深層学習はデータ処理ユニット自体で実行され、ネットワークへの攻撃を特定して阻止するために使用できます。さらに、Nvidiaは2022年にBluefield 3、2023年にBluefield 4を発売する予定であると述べています。
IntelやXilinxといった企業もDPUを市場に投入しています。ただし、XilinxやIntelの製品の一部はSmartNICとして知られています。XilinxとIntelのSmartNICは、FPGAを利用してネットワークおよびストレージ機能を高速化します。SmartNICは、CPUからSmartNICにネットワーク機能をオフロードすることで、データ処理ユニットと同様に機能し、ネットワークおよびストレージ機能をSmartNICにインテリジェントに委任することで処理能力を解放します。FPGAの再プログラム可能な性質により、FPGAはデータパスに並列処理とカスタマイズをもたらします。
例えば、XilinxはALVEOシリーズのSmartNICを様々な製品で提供しており、Intelとそのパートナーは、大規模データセンターにおけるデータ処理ワークロードを高速化するためのFPGAベースのSmartNICソリューションを複数提供しています。Intelは、同社のSmartNICが「Intel FPGAとIntel Xeonプロセッサーを組み合わせた単一のPCIeプラットフォームに、スイッチング、ストレージ、セキュリティ機能をオフロードすることで、データセンターの性能レベルを向上させる」と主張しています。Intelは、Silicom FPGA SmartNIC N5010として知られる、より新しい第2のSmartNICソリューションを提供しています。これは、Intel Stratix 10 FPGAとIntel Ethernet 800シリーズアダプターを組み合わせたもので、組織に4x 100ギガビットイーサネットポートを提供し、データセンターに十分な帯域幅を提供します。
なぜDPUの人気が高まっているのか?
私たちはデジタル情報時代に生きており、毎日大量のデータが生成されています。これは、IoTデバイス、自動運転車、コネクテッドホーム、コネクテッドワークプレイスの数が増加し、データセンターがデータで飽和しているため、特に顕著です。そのため、データセンターとの間で移動するデータ量、およびデータセンター内を移動するデータの増加にデータセンターが対応できるソリューションが求められています。
DPUには、データ移動と処理動作を高速化するデータ移動システムが搭載されており、サーバーのプロセッサからDPUにネットワーキング機能をオフロードします。ムーアの法則の減速を考えると、DPUはサーバーからより多くの処理能力を引き出す優れた方法です。企業がハードウェアアクセラレータを使用してハードウェアからより多くのパフォーマンスを得るようになり、既存のハードウェアからより多くのパフォーマンスを引き出すことができるため、組織の総所有コストが削減され、サーバーがより多くのアプリケーションワークロードを実行できるようになります。
データ処理ユニットとFPGA SmartNICは人気を集めており、MicrosoftとGoogleはデータセンターへの導入を検討し、データ処理と人工知能のワークロードを高速化しています。さらに、NvidiaはVMwareと提携して、ネットワーキング、セキュリティ、ストレージのタスクをDPUにオフロードしています。
その他のパフォーマンスアクセラレータとは?
ここでは、データセンターでよく使用されるその他のパフォーマンスアクセラレータについて説明します。取り上げるパフォーマンスアクセラレータには、GPU(グラフィックス処理ユニット)、コンピュテーショナルストレージ、FPGA(フィールドプログラマブルゲートアレイ)が含まれます。
1. グラフィックス処理ユニット (GPU)
グラフィックス処理ユニットは、ワークロードを高速化するためにデータセンターの高性能サーバーに導入されることがよくあります。サーバーは複雑な数学的計算をGPUにオフロードすることがよくあります。これは、GPUがそれらの計算をより速く実行できるためです。これは、GPUがCPUよりもはるかに多くの小さなコアで構成された並列アーキテクチャを採用しているためであり、多くのタスクを並行して処理できるため、組織はサーバーからより多くのパフォーマンスを引き出すことができます。

出典(Nvidia)
例えば、平均的なCPUには4~10個のコアがありますが、GPUには数百から数千個の小さなコアがあり、連携して複雑な計算を並行して処理します。そのため、GPUはコア数が少なく、順次データ処理に適したCPUとは異なります。GPUアクセラレーションサーバーは、高解像度ビデオ編集、医療画像処理、人工知能、機械学習トレーニング、深層学習トレーニングに最適です。
データセンターサーバーにインストールされたGPUは、CPUでは提供できない多くの計算能力を必要とする深層学習トレーニングと機械学習トレーニングの高速化に最適です。GPUは、HBM(高帯域幅メモリ)と数百または数千のコアを備えているため、従来のCPUよりも大幅に高速に浮動小数点演算を実行でき、人工知能タスクをCPUよりも高速に実行します。
これらの理由から、組織は深層学習および機械学習モデルのトレーニングにGPUを使用します。データセットが大きく、ニューラルネットワークが大きいほど、組織はワークロードを高速化するためにGPUを必要とする可能性が高くなります。CPUは深層学習トレーニングと機械学習トレーニングを実行できますが、複雑な計算には長い時間がかかります。深層学習トレーニングが数時間で終わる場合がありますが、同じタスクをCPUのみで実行すると、数時間ではなく数日から数週間かかる場合があります。
さらに、データセンターサーバーにGPUを追加すると、データスループットが大幅に向上し、可能な限り低いレイテンシでデータを処理および分析できます。レイテンシとは、特定のタスクを完了するのに必要な時間を指し、データスループットとは、単位時間あたりに完了するタスクの数を指します。
2. コンピュテーショナルストレージデバイス(CSD)
コンピュテーショナルストレージは、パフォーマンスアクセラレータとしてデータセンターに導入されています。コンピュテーショナルストレージは、ストレージデバイスレベルでデータを処理し、CPUとストレージデバイス間のデータ移動を削減します。コンピュテーショナルストレージは、リアルタイムデータ分析を可能にし、入出力ボトルネックを削減することでシステムのパフォーマンスを向上させます。コンピュテーショナルストレージデバイスは、通常のストレージデバイスと同じように見えますが、ストレージデバイスに入力されるデータのインデックス作成や、特定の情報についてストレージデバイスを検索するなどの機能を実行するために使用されるマルチコアプロセッサを内蔵しています。

出典(AnandTech)
リアルタイムでデータを処理・分析する必要性が高まっているため、コンピュテーショナルストレージデバイスの人気が高まっています。リアルタイムデータ処理・分析が可能になるのは、ストレージデバイスとCPUの間でデータを移動する必要がなくなったためです。代わりに、データはストレージデバイス自体で処理されます。データが存在する正確な場所にストレージメディアに計算能力をもたらすことで、リアルタイム分析と意思決定が可能になります。
3. FPGA(フィールドプログラマブルゲートアレイ)

出典(Xilinx)
FPGAは、ロジックブロック、I/Oセル、およびユーザーが実行したいワークロードの特定の要件に応じてチップをさまざまな方法で再プログラムおよび再構成できるようにするその他のリソースで構成される集積回路です。FPGAは、深層学習推論処理と機械学習推論の実行で人気を集めています。さらに、FPGAベースのSmartNICは、ネットワーク機能とストレージ機能をCPUからSmartNICにオフロードできるため、使用されています。ネットワーク機能とストレージ機能は、システムのCPUに大きな負担をかける可能性があるため、これらの機能をSmartNICにオフロードすることで、貴重なCPU処理能力を解放して、OSやその他の重要なアプリケーションを実行できます。FPGAベースのSmartNICを使用すると、組織はSmartNICにオフロードされる特定のワークロード向けにSmartNICを最適化でき、他では見つけにくいカスタマイズ性を提供します。
結論
DPU(データ処理ユニット)が、ストレージ機能とネットワーク機能をDPUにオフロードし、プロセッサがオペレーティングシステムと収益を生み出すアプリケーションの実行に集中できるようにする能力により、高性能データセンターサーバーで人気を集めていることは当然のことです。Premioは、DPUを活用してCPUからデータ処理、ネットワーク機能、ストレージ機能をオフロードすることで、サーバーをより強力にする多数のDPUサーバーを提供しています。Nvidiaは、単一のBlueField 2データ処理ユニットが、125個のCPUコアを必要とするデータセンターサービスと同じサービスを処理できると主張しており、DPUサーバーがよりスマートに、より少ない労力で動作できるようにします。したがって、DPUサーバーの購入にご興味がある場合は、お気軽に当社のDPUサーバープロフェッショナルにお問い合わせください。お客様の特定の要件を満たすソリューションの選択またはカスタマイズを喜んでお手伝いいたします。
