今回は仮想GPUを構成するために必要なハードウェア、ソフトウェアの要素技術についてご紹介致します。
仮想GPUの要素技術
前回までは、仮想GPUの概要を紹介させて頂きました。今回はこちらのコンポーネント図を使って仮想GPUの要素技術についてご紹介させて頂きます。
まず仮想化環境を構成するためのハードウェアから説明していきます。
仮想化技術を実現するためのハイパーバイザーが実装できる条件を満たしている必要があります。
仮想GPUをサポートするハイパーバイザータイプについては後ほど説明しますが、各ハードウェアの条件としては、ハイパーバイザーベンダのシステム要件と併せてサーバプラットフォームベンダと事前に動作保証されているプラットフォームリスト(後述、補足)がございますので、そちらをご確認ください。
必要最低限の要件は以下の通りとなります。
- 64ビットのx86プロセッサをサポートしていること(仮想GPU環境ではIntelのプロセッサのみをサポート)
- ハードウェア仮想化のサポートとしてIntel VT-xをCPUで設定が可能で、かつ有効にすること
- 少なくとも4GBの物理メモリ
- 1つ以上の高速なイーサネットコントローラ
- ハイパーバイザーおよび仮想マシン領域を保存するためのストレージ領域
その上で仮想GPUを実現するためのNVIDIA TESLAのGPUが搭載可能なハードウェアが条件として加わります。TESLAのGPUは最新のVOLTAアーキテクチャまでをサポートしていますが、サーバプラットフォームの機種に依存して搭載可能なGPUは異なりますのでご注意ください。
なお、NVIDIAでは事前にサーバプラットフォームベンダと検証した上で認証済みの機種一覧としてまとめています。ハードウェアに実装できるGPU数も確認できますの、ご参考ください。
仮想GPUをサポート可能なハイパーバイザー
次にハイパーバイザーについて説明します。
仮想GPUがサポートできるハイパーバイザーとしては、Citrixの「Citrix XenServer」、VMwareの「VMware vSphere」、Nutanixの「Nutanix AHV」、RedHatの「Red Hat Enterprise Linux」のKVMとなります。
XenServerはいち早く仮想GPUをサポートしており、早くから仮想GPUを導入されたカスタマが選択しているハイパーバイザーとなります。
vSphereは日本市場において実績が多く、使い慣れたお客様が選択されています。またSDDCアーキテクチャとしてvSANやNSXなどデータセンター基盤として強固なシステムが実現できます。
AHVは2017年からサポートを開始しましたが、HCIの先駆者としてシンプルな構成でかつ高いパフォーマンスを実現するハイパーバイザーとなります。
Red HatのKVMは最近サポートを開始したハイパーバイザーとなり、OpenStackのユーザには待ち望まれていたかと思われます。
これらのハイパーバイザーに「NVIDIA GRID vGPU Manager」をインストールすることで、物理的なGPUを仮想GPUリソースとして分割する機能を提供します。
仮想GPUをサポートするVDI
最後に仮想GPUをサポートするVDIについて説明します。 仮想GPUをサポートするVDIとしては、Citrixの「XenApp」と「XenDesktop」、VMwareの「Horizon」と「Horizon Apps」になります。
XenAppおよびXenDesktopはいち早く仮想GPUをサポートしており、XenServerとの組合せで早くから導入しているカスタマが選択しています。ユーザの細かい要望や利用環境に応じた最適化などのチューニングが可能なのが特徴です。またXenServerだけでなく、他のハイパーバイザー環境(vSphere、AHVやKVM基盤)上でも利用が可能です。
また、H.265エンコードをサポートしたことにより、少ないネットワーク帯域でも画質や品質を落とすことがなく操作が可能となりました。
一方、HorizonおよびHorizon AppsはvSphereとの組み合わせとなりますが、vSphereの機能を余すことなく利用が可能となります。例えば、インスタントクローンはVMForkと呼ばれるESXiホストのメモリ上で高速にクローンが可能な技術をHorizonの管理ポータルから展開が可能です。
また、画面転送プロトコルは、従来まではTeradiciのPCoIPプロトコルを利用していましたが、Horizon7からBlast Extremeという新しいプロトコルをVMwareは独自開発し、どちらも利用できる環境となっています。Blast Extremeには仮想GPUでの利用に最適化されており、前回ご紹介したNVENCによるエンコード処理をオフロードする機能が実装されています。
今回ご紹介した内容はシングルシステム構成を想定したものです。次回は複数ノードを想定した際のストレージやvSAN、AHVで利用できるHCIとの組み合わせについてご紹介していきたいと思います。
補足
著者プロフィール
岩田 勲(いわた いさお)エヌビディア合同会社
エンタプライズ事業部ビジュアライゼーション部
シニア ソリューション アーキテクト
略歴
2000年:日本大学大学院 建築工学専攻 卒
2000〜2002年:某CAEソフトウェアベンダにてCAEエンジニアとして従事
2002〜2012年:某ハードウェアベンダにてHPCならびにGPUソリューションのビジネス開発に従事
2012〜2015年:某仮想化ソフトウェアベンダにてSEとして従事
2015~2016年:某仮想化ソフトウェアベンダにてSAとして従事
2016年12月よりエヌビディア合同会社に勤務、仮想GPUソリューションのSAに従事