前エントリで「NVIDIA GRID K1 / K2 と Cisco UCS C240 M3」 の紹介をしましたので、いよいよ vSGA (Virtual Shared Graphics Acceleration) と vDGA (Virtual Dedicated Graphics Acceleration) の出番です。小文字の “v” で始まるところが実に VMware らしいネーミングですが、さておき、vSGA と vDGA は、ともに VDI で GPU に画像処理をオフロードする VMware Horizon View の技術です。どちらも NVIDIA GRID K1 / K2 を装着した Cisco UCS C240 M3 で使用できます。
では、早速 vSGA と vDGA の解説へと行きましょう。
vSGA (Virtual Shared Graphics Acceleration)
前々回のエントリで、VMware View 5 以降、仮想マシン上で DirectX 9 と OpenGL 2.1 に対応したとお伝えしました。VMware Horizon View 5.2 では、それを GPU にオフロードできるようになりました。GPU をインストールしたサーバ上で動作している ESXi に GPU のデバイス ドライバを入れ、仮想マシンの描画処理を ESXi 経由で GPU にオフロードします。これが vSGA です。このとき、GPU は複数の仮想マシンで共有して利用します。ゲスト OS としては、CPU で 3D 対応の描画処理を行う時と変わらないので、ドライバも同じく VMware SVGA 3D グラフィックスドライバを使います。
vSGA では、仮想マシンが動いている物理サーバ固有のハードウェアに依存せず、ハードウェアの差異を吸収し抽象化しているので、vMotion や VMware HA 、スナップ ショットなどなど、サーバ仮想化のメリットを最大限享受しながら、仮想マシンのグラフィックス処理を向上させることができます。仮想化という点においては非常にエレガントなハードウェア アクセラレーションだと思います。
その反面、現状では GPU 本来の性能を生かし切れておらず、また対応していないグラフィックス API もあるため、動作しない(描画できない)アプリケーションもあります。
vDGA (Virtual Dedicated Graphics Acceleration)
vDGA では、vSphere 4 からサポートされた DirectPath I/O を使用し、GPU を仮想マシンに PCI デバイスとして直接割り当てます。ESXi では、GPU をパススルーするように構成し、ESXi には GPU のデバイスドライバはインストールしません。一方、仮想マシンが直接物理の GPU を使用するので、ゲスト OS には VMware SVGA 3D グラフィックスドライバではなく、NVIDIA の GPU であれば NVIDIA のドライバといった具合に GPU のデバイスドライバをインストールします。
vDGA 最大のメリットは、仮想マシンが直接 GPU を使用できるため、例えば、アプリケーションによっては、特定の GPU 向けにチューニングされていることもありますが、それも含め GPU が持つ機能とパフォーマンスを余すところなく活用できることにあります。とってもハードウェア志向の技術と言えるでしょう。技術的な面では、vDGA を使えばどんなグラフィックス アプリケーションも動かすことができるはずです。
ただし、vMotion が利用できない、スナップショットが取得できないなど、DirectPath I/O における制限事項がそのまま当てはまります。また、GPU と仮想マシンを 1 対 1 で直接割り当てるため、一台のサーバで vDGA を利用できる仮想マシン数、つまり GPU を直接割り当てることができる仮想マシンの数は、サーバが持つ GPU の数に依存します。UCS C240 M3 には、NVIDIA GRID K1 を最大 2 枚 または NVIDIA GRID K2 を最大 2 枚装着することができるので、
- GRID K1 を 1 枚装着した場合、4 仮想マシン
- GRID K2 を 1 枚装着した場合、2 仮想マシン
- GRID K1 を 2 枚装着した場合、8 仮想マシン
- GRID K2 を 2 枚装着した場合、4 仮想マシン
vDGA で使用できることになります。もちろん GRID K1 と GRID K2 では、GPU のパフォーマンスが違うので、数だけではなくパフォーマンスの考慮も必要です。なお、現時点では vDGA は Tech Preview の機能であり、今後正式サポートされる予定です。
仮想化のメリットを活用する vSGA と、ハードウェアを生かす vDGA は、どちらが優れているというものではなく、それぞれの特徴を把握して、用途に応じて使い分ける必要があります。
以上、3 回にわたって VMware Horizon View と Cisco UCS における GPU ソリューションを紹介しました。NVIDIA GRID K1 / K2 と Cisco UCS C240 M 3 で 3D CAD アプリケーションを使用するワークステーションをも VDI 化することができるようになり、VDI で得られる様々なメリットを享受できます。またクライアントではなくサーバで画像処理行うことで、新たなサービスが登場するかもしれません。GPU ソリューションをご検討の際は、ぜひ シスコおよびシスコパートナーにご相談ください。
関連エントリ
- VMware Horizon View と Cisco UCS とで 3D グラフィックス
- NVIDIA GRID K1 / K2 と Cisco UCS C240 M3
- vSGA と vDGA を UCS C240 M3 で!(当エントリ)
関連リンク
- Cisco UCS C240 M3 ラック サーバ
- NVIDIA GRID K1/K2 仮想デスクトップと仮想アプリケーションのグラフィック処理を高速化(PDF)
- NVIDIA GRID
- VMware Horizon View