仮想化道場

VDIの検証ラボでGPU仮想化を推進するデル

検証環境の構成

 今回は、デルGPUソリューションラボをお借りしてNVIDIAのGRIDを利用したGPU仮想化のVDIをテストした。

 ハードウェアとしてデルのPowerEdge R720サーバーとNVIDIA GRID K2を使用した。ソフトウェアに関しては、GPU仮想化に対応したCitrixのXenDesktop 7.1を採用。VDIのOSには、Windows 7を使用している。

 XenDesktop 7.1は、現状においては唯一、NVIDIA GRIDのGPU仮想化に対応したハイパーバイザーだ。先日、VMwareもGPU仮想化に対応を表明したが、実際に対応したハイパーバーザーがリリースされるのは、2014年後半になるだろう。

 XenDesktop 7.1では、それぞれのVDI環境が、どのNVIDIA GRIDのGPUプロファイル(GPU性能としてはQuadro K5000相当)を使用するかをあらかじめ設定する必要がある。このGPUプロファイルはGPUの性能を決めるもので、今回利用したGRID K2では、パワーユーザー向けのK260Q(フレームバッファが2GB)とK240Q(同1GB)、オフィスソフトを利用する環境向けのK200という3つのプロファイルが用意されている。K260QとK240Qは同一GPU上に作成できないという制限があるが、GPUを2つ持つGRID K2では、異なるGPU上に作成すればよい。

NVIDIA GRID K1とK2のスペック
GRIDを使ったGPU仮想化は、ハイパーバイザーのレベルでGPUの仮想化をサポートしている
GRIDでもGPUをパススルーで利用することが可能
今回のデルGPUソリューションラボのテストでは、PowerEdge R720サーバーとNVIDIA GRID K2を利用している。プロファイルをK260QとK240Qに分けて設定している

 現状では、このように、GPU仮想化といってもあらかじめ決められたプロファイルの範囲でしか使用できない。管理者がGPUコアをフレキシブルに割り当て、プロファイルを作成するといったことはできないのだ。

 また、VDIの動作中にプロファイルを変更することはできない。このため、プロファイルを変更するときは、すべてのVDIの動作を停止させてハイパーバイザーの設定を変更し、再起動する必要がある。

 もう一つ注意が必要なのは、GPU仮想化は、GPUコアを演算に利用するGPGPUには使用できない点だろう。もしGPGPUを利用したい場合は、ハイパーバイザー側でGPUをパススルーとして割り当てる必要がある。この場合、パススルーで設定したVDIが起動されていない場合でも、GPUはあらかじめ割り当てられるため、有効に活用することはできない。

 このように、いくつか制限のあるGPU仮想化だが、ハイエンドのGPUを2つ搭載するGRID K2では、4台のワークステーションVDIが現実的な割り当てだろう。ミッドレンジのGPUを4つ搭載したGRID K1は、ハイエンドグラフィックワークステーション向けのプロファイルが使用できないため、ローエンドのワークステーション、もしくはオフィスソフトなどを中心に動かすユーザー向けとなる。

 なお、XenDesktopではサーバー側でほとんどの処理を行い、クライアントPCにはH.264で圧縮した画面イメージを転送する。NVIDIA GRIDでのH.264の画像圧縮に関しては、GPU内部にあるハードウェアコーデックを利用するため、動画圧縮にCPUリソースはほとんど利用されない。

(山本 雅史)