NVIDIAが大賭けするデータ処理装置 (DPU) とは
NVIDIAが大金を賭けるDPU(データ処理装置: Data Processing Unit)とは何か。同社はGAFAMの超大型データセンターと同様のインフラを構築する機会を提供しつつあるが、そのなかでも非常に重要な役割を果たすであろうDPUについて解説する。
NVIDIAが大金を賭けるDPU(データ処理装置: Data Processing Unit)とは何か。同社はGAFAMの超大型データセンターと同様のインフラを構築する機会を提供しつつあるが、そのなかでも非常に重要な役割を果たすであろうDPUについて解説する。DPUの戦略的価値が理解できると、NVIDIAのArm買収の背景を理解することができ、AMDがザイリンクスの買収で追随しようとしている理由も理解することができる(2020年10月16日現在)。
90年代、商業用インターネットの普及ととともにクライアント・サーバーモデルが登場した。サーバーと呼ばれるリソースやサービスの提供者とクライアントと呼ばれるサービス要求者の間でタスクやワークロードを分割する分散型のアプリケーション構造である。応用例としては、電子メール、ワールドワイドウェブ(WWW)などがある。
サーバー側では、Intel x86 CPUとOSソフトウェアの組み合わせが一般的だった。多層アーキテクチャが登場し、プログラムを同時並行的に複数のコンピュータ上で実行する分散コンピューティングの可能性が生まれた。
元来仮想化を行うのには難しくかつ非効率なx86アーキテクチャだったが、2000年代初頭には、x86 CPUを仮想化する機能をもたらしたハイパーバイザーであるVMware vSphere (ESXi) が誕生した。これは、インテルとAMDがx86アーキテクチャを拡張し、ハイパーバイザを支援する機構を整備したことに支えられた。これらは仮想化コードをより単純にし、完全仮想化においてより高いパフォーマンスを可能にした。
ハイパーバイザーは、サーバーへ直接インストールし仮想マシンを稼働させる方式で、ホストOSを必要としないためハードウェアを直接制御することができ、仮想マシンの速度低下を最小限に抑えることができる。また、ESXiには複数の仮想マシンを効率よく稼働させるための様々な仕組みが盛り込まれていた。企業は、強力なサーバ上で複数の仮想マシンを実行できるようになった。
ハイパーバイザーは、ハードウェアをプログラマブル(プログラム可能)にした。開発者は、手動で介入することなく仮想マシンを定義してコードを書くことができるようになった。インフラストラクチャのこのプログラマビリティの側面は、現代のクラウド・コンピューティング・パラダイムの基礎となった。
ESXiの成功を受けて、VMwareはネットワークとストレージの仮想化にベットした。CiscoやEMCなどの従来型のインフラプレイヤーは、VMwareの構想を追走し始めた。
2012年、VMwareはソフトウェア定義ネットワーク(SDN)の新興企業であるNiciraを12.6億ドルで買収した。SDNは、単一のソフトウェアによりネットワーク機器を集中的に制御して、ネットワーク構成や設定などを柔軟に動的に変更できる「技術の総称」である。また、2014年3月、VMwareはESXハイパーバイザーの管理プラットフォームであるvSphereと緊密に統合された仮想化ソフトウェアストレージプラットフォーム「vSAN」を発表した。ESXi、NSX、vSANにより、VMwareは企業向けの完全なインフラ仮想化スタックを手に入れた。
仮想化された計算、ストレージ、ネットワークの統合により、ソフトウェア定義データセンター(SDDC)として提供される、垂直統合型の仮想化基盤であるハイパーコンバージドインフラストラクチャ(HCI)が誕生した。VMware vSANはハイパーバイザー組込みのSDS(Software Defined Storage)技術の採用により、高い性能の実現と容易な管理が可能にした。HCIには、搭載するコンポーネントも要件にあわせて最適に構成することができ、将来の増設の際にも、サーバ単位の増設、部品単位の強化など柔軟に対応できるという明確な利点があった。
SDDCは、エンタープライズデータセンターにおいて共通の目的地となった。ユーザー企業は、何百台もの中規模サーバを稼働させる代わりに、より少ない数のハイパーコンバージド・アプライアンスにインフラを統合できた。
ソフトウェア定義インフラストラクチャの台頭は、x86プロセッサに多大なプレッシャーを与えている。CPUは、OS、アプリケーション、ネットワーク、ストレージ、セキュリティなどの実行をめぐるすべてを処理しなければならない。システムの基盤を提供するインフラストラクチャと、実行されるアプリケーションの双方が、CPUリソースの取り合いをすることになる。これが、後述する制御専用チップが登場する素地となっている。
SDDCと並行して、さらに2つのトレンドが起こり始めた。1つ目は、機械学習専用ハードウェアの台頭、2つ目はソフトウェアの柔軟さとハードウェアの高速性を兼ね備えたプログラマブルハードウェア(DRP)の進化である。
現代のニューラルネットを利用した機械学習においては、膨大な行列積に対応するため、ノイマン型のCPUでは実現できない並列性が求められる。トロント大学SuperVisionチームの開発したニューラルネット「AlexNet」やスタンフォード大学のアンドリュー・ウン教授の「Googleの猫」が引き金となって、もともとグラフィックス処理を高速化するために開発されたGPUが、複雑な数学演算を並列に実行するためのコプロセッサ(補足的な処理装置)の地位を獲得した。NVIDIAは、トレーニングと推論を実行するのにふさわしいGPUと汎用コンピューティング基盤を市場投入し、この機会をいち早く捉えた。
GPUがニューラルネットが必要とする膨大な行列積において、CPUを補完するのと同じくして、新種のプログラマブル・チップが市場で利用できるようになってきた。これらのチップは、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Arrays)として知られており、ネットワーク・トラフィックの最適化やストレージI/Oアクセラレーションなど、特定の目的のためにプログラムすることができる。
Broadcom、Ethernity Networks、Intel、Marvell、Mellanox(2019年にNVIDIAが買収)、Napatech、Netronome、Pensando、Xilinx(2020年10月13日現在、AMDが買収交渉中と報道される)などの企業は、ネットワークトラフィックを高速化するために、ネットワークインターフェイスカードにFPGAを追加し始めた。SmartNIC(スマートネットワークインターフェイスコントローラー)として販売されているこれらは、CPUがネットワーク機能を実行することをオフロードし、処理能力を解放する。
SmartNICと同様に、NVMeストレージコントローラもFPGAの追加の恩恵を受けている。コントローラをプログラマブルにすることで、データパスに大規模な並列性とカスタマイズ性をもたらした。
GPU、SmartNIC、およびプログラマブル・ストレージ・コントローラの台頭は、SDDCに分散化をもたらした。これらは、ネットワークとストレージ機能を専門のハードウェアにインテリジェントに委譲することで、CPUを過負荷から解放する。これにより、アプリケーションとワークロードは、基礎となるCPUとハードウェアリソースから最高のパフォーマンスを得ることができる。
コンテナとKubernetesを使用すると、各SDDCアプライアンスは何万ものマイクロサービスを実行し、ネットワークとストレージのI/Oの負荷が大きくなり、CPUのパフォーマンスに影響を与える。ネットワークとストレージの高速化のための専用ハードウェアを使用することで、CPUはこれらの専用コントローラにルーチンタスクを委譲しながら、アプリケーションに集中することができる。
ハイパーバイザーからSDDC、FPGAベースのネットワークおよびストレージコントローラまで、業界は一巡した。これらとは別に、ネットワークセキュリティ、ファイアウォール機能、暗号化、さらにはインフラストラクチャ管理を特殊なハードウェアに押し付ける機会がある。
Mellanox社の買収により、NVIDIAは、ネットワーク、セキュリティ、ストレージ、およびインフラストラクチャ管理のための専用ハードウェアによって推進されるエンタープライズ・データセンターにおける次の大きなチャンスに目を向けている。それは最近発表され、規制当局の審判を待っているArmの買収を通じて、現代的なデータセンターソリューソンを一社で垂直統合しようという、独占的な帝国への野望である。これが実現すると、エコシステムが壊滅的な被害を受けると怖れる専門家もいる。
DOCAとは?
NVIDIAのDPUは、MellanoxのSmartNICのパラフレーズである。ジェン・セン・ファンCEOは90年代にグラフィック専用のプロセッサを「GPU(Graphics Processing Unit)」と名付け、そのマーケティングに成功した。今度はDPU(Data Processing Unit)というわけだ。DPUの名付け主が誰かはわからないが、現在、その言葉を連呼しているのはNVIDIAだ。NVIDIAによると、The BlueField-2 DPUは、現代のエンタープライズ・データセンター向けに最適化されたチップ・アーキテクチャ上の世界初のデータセンター・インフラストラクチャだという。
BlueField-2 DPUには、プログラム可能なネットワークとストレージのインターフェースが搭載されており、これらの機能の処理からCPUの負荷を軽減する。アプリケーションとワークロードがプロセッサの主要なシェアを獲得し、ありふれたネットワークとストレージ機能に取り組む必要がなくなった。
DPUは、基礎となるハードウェア・プラットフォームのためのプログラマブルAPIを公開しているDOCA SDKからアクセスできる。CUDAは開発者の支持が厚く、NVIDIAがAIコンピューティングにおいて支配的な地位を築くための重要な要素となっているが、開発者は、CUDAによって高速化されたコンピューティング・アプリケーションをプログラムすることができるように、DOCAによって、サーバ、VM、コンテナにデータを出し入れするためのデータ処理の高速化をプログラムすることができるようになる。DOCAは、CUDAと並んで、安全で高速化されたデータセンターでNVIDIA AIアプリケーションの全範囲を活用することができる、とNVIDIAはうたう。
NVIDIAは今月、年次イベント「GTC 2020」で、BlueField-2の今後のロードマップを明らかにした。BlueField-2にAmpereアーキテクチャのGPUを統合した「BlueField-2X」の提供を開始する計画がある。DOCAを利用することで、CPU、VLIWアクセラレータ、GPUをヘテロジニアスに利用し、サーバーのネットワークやストレージ、セキュリティなどの機能を、ソフトウェアで定義して実現することができる。NVIDIAによれば、BlueField-2XはCPU性能はBlueField-2と同じだが、GPUが追加されたことで、AI推論時の性能が0.7TOPSから60TOPSへと約85倍に強化されるという。
DOCAは、NVIDIA GPU Cloud(NGC)に完全に統合されており、開発者が高度なDPUデータセンター加速サービスを構築するためのコンテナ化されたソフトウェア環境を提供するソフトウェアカタログだ。ネットワークに関しては、DPUは最先端のデータセンターでSDNとネットワーク機能仮想化(NFV)を加速する。DPUは仮想マシンやコンテナに関連する東西のトラフィックと、ソフトウェア定義データセンターに出入りするトラフィックを処理する。DPUは、コントロール・プレーンとデータ・プレーンの両方のネットワーク・パスを効果的に高速化する。
NVIDIAによると、DPUはまた、すべての重要なデータセンターのセキュリティサービスをオフロード、高速化、分離する。これには、次世代ファイアウォール、マイクロセグメンテーション、透過型IPSecとTLSによるデータインモーションインライン暗号化、侵入防御のサポートが含まれる。DPUには、あらゆるセキュリティソリューションのすべての構成要素を含む専用のセキュリティエンジンのセットが用意されている。従来、この機能はx86 CPU上で動作するソフトウェア定義ネットワークスタックに組み込まれていた。この層をDPUに移行することで、企業は効率的で応答性が高く、信頼性ゼロのセキュリティ機能をスタックの最下層で実行することができ、CPUを解放することができる。
DPUには管理エージェントが付属しており、ネットワーク層とホストに対する比類のない可視性を提供する。DOCAに基づいて、DPUベースのエージェントは、サーバのCPUに負担をかけることなく、インバンドまたはアウトオブバンドの管理を行うことができる。サーバがリセットを必要とする場合や、テナントやビジネスアプリケーションがエージェントのないベアメタルサーバを必要とする場合でも、DOCAでプログラムされたDPUは、サーバのCPU上でエージェントを実行することなく、遠隔測定を送信したり、リモートリセットを実行したり、サーバの安全な起動を許可したりすることができる。本質的には、DPUは、オペレーティングシステムレベルでエージェントを明示的に実行することなく、監視とネットワーク監視機能を引き継ぐ。
エンタープライズデータセンターがハイパースケーラーに匹敵する
ジェン・スン・ファンはすでにBlueFieldファミリーのロードマップを発表している。2023年に発売される予定のBlueField-4 DPUは、組み込みGPUを搭載し、DPUとGPUを同じハードウェア・インターフェースにする予定だ。
しかし、今日この機能を試してみたいと思っている顧客のために、BlueField2-X DPUにはすでにAmpere GPUが搭載されており、データセンターのセキュリティ、ネットワーキング、ストレージのタスクに適用できるAI機能がもたらされている。NVIDIAは、VMware、Red Hat、Canonical、Check Pointソフトウェアと提携し、BlueField DPUを自社プラットフォームに統合している。
DPUをサーバに追加することで、顧客は、平凡なネットワークやストレージへのアクセスで負荷をかけるのではなく、アプリケーションに向けてCPU使用量を最大化することができるようになる。
NVIDIAは、DPUにより、かつてはクラウドサービスプロバイダ(あるいはハイパースケーラー、すなわちGAFAM)にしか利用できなかったエンタープライズデータセンターの効率化と最適化を実現することに挑戦している。そして、この記事で説明したとおり、AMDのザイリンクス買収交渉はNVIDIAのデータセンター構想を追走する戦略だ。NVIDIAのArm買収とAMDのザイリンクス買収交渉はこのようなダイナミズムのなかで生じたものだ。
関連記事
参考文献
- VMware vSphere Documentation. Vmware Docs.
- VMware Validated Design Documentation. Vmware Docs.
- Deployment Patterns. Microsoft Docs, Enterprise Solution Patterns Using Microsoft .NET. March 17, 2014.
- Add Network Interface Controllers. Vmware Docs. Last Updated 05/31/2019
- 安藤達弘、下國治、麻野克仁. 大規模データセンターの仮想化. Fujitsu. 63(6). Nov, 2012.
- 大久保修一.「クラウド事業者から見た課題と今後 ~さくらのクラウド編~」.さくらインターネット研究所. Oct 29, 2013.
- Rawlinson RIvera. VMware Virtual SAN and VMware NSX Compatibility. VMware Blogs. January 18, 2016
- William I. Bullers, Jr., Stephen Burd, Stephen Burd. [Virtual Machines - An Idea Whose Time Has Returned: Application to Network, Security, and Database Courses](Virtual Machines - An Idea Whose Time Has Returned: Application to Network, Security, and Database Courses)
- Kevin Deierling. DPUとは?. Nvidia. July 3, 2020.
- NVIDIA BLUEFIELD-2 DPU. Nvidia
Special thanks to supporters !
Shogo Otani, 林祐輔, 鈴木卓也, Mayumi Nakamura, Kinoco, Masatoshi Yokota, Yohei Onishi, Tomochika Hara, 秋元 善次, Satoshi Takeda, Ken Manabe, Yasuhiro Hatabe, 4383, lostworld, ogawaa1218, txpyr12, shimon8470, tokyo_h, kkawakami, nakamatchy, wslash, TS, ikebukurou 太郎.
月額制サポーター
Axionは吉田が2年無給で、1年が高校生アルバイトの賃金で進めている「慈善活動」です。有料購読型アプリへと成長するプランがあります。コーヒー代のご支援をお願いします。個人で投資を検討の方はTwitter(@taxiyoshida)までご連絡ください。
投げ銭
投げ銭はこちらから。金額を入力してお好きな額をサポートしてください。