はじめまして、樋口と申します。私は、シスコでデータセンター ソリューションを担当しております。データセンターや仮想化関連の小ネタやイベント レポートなどをブログで紹介していければと考えております。よろしくお願いします。
Cisco UCS で実現する 3D CAD 仮想デスクトップ ソリューション
今回は、2013年 7月に開催された Citrix 様主催の「シトリックスキャラバン」および NVIDIA 様主催の「GTC Japan 2013」で実施した仮想デスクトップのデモの内容をご紹介したいと思います。
この2つのイベントでは、Citrix 様、NVIDIA様のご協力を得まして、『NVIDIA 様の GPU を搭載したシスコのラックマウント サーバ UCS C240 M3 に Citrix 様の XenServer および XenDesktop を導入し、仮想デスクトップ上で 3D CAD アプリケーションを使用するデモ』を実施しました。無理やり一息で言ってみましたが、これだけだと分かりにくいかと思いますので、まずは仮想デスクトップと GPU にまつわるお話をさせていただきます。
仮想デスクトップ化が難しいユーザ環境
ユーザが使用するデスクトップ OS をサーバ上で仮想マシンとして稼働・集約する「仮想デスクトップ」や「VDI(Virtual Desktop Infrastructure)」。ネットワークに繋がっていれば「どこから」でも「どの端末」からでも自分のデスクトップにアクセスして仕事をすることができる、新しいワークスタイルだ!というのがうたい文句になっています。しかし、様々な制約から全てのユーザのデスクトップ環境を仮想デスクトップ化することが難しい場合があります。
例えば、特別な仕様を必要とするアプリケーションを利用しているユーザです。その一つとして、CPU 負荷の高いグラフィックを扱うユーザのデスクトップ環境があります。職業でいうと、デザイナー、あるいは 3D CAD を使用するような設計者が該当します。このようなユーザのデスクトップには、GPU(Graphics Processing Unit)と呼ばれるグラフィック処理専門のプロセッサが搭載されています。そのため、GPU を必要とするアプリケーションを使用する場合、GPU が使用できない仮想デスクトップへ移行する事は困難でした。
しかし、「仮想デスクトップ」は、どこからでもどの端末からでもアクセスできるという利便性だけでなく、「データをユーザのローカル デスクトップに保存させない」「データをデータセンターに集約したい」といったセキュリティ面での利点があります。これは、グラフィックを扱うユーザにも言えることですし、機密の設計データということにもなれば、仮想デスクトップでもグラフィック処理が可能になることには大きな需要があります。
仮想環境のためのGPU登場
そこで、仮想環境のためのGPUが登場しました。それが今回使用したNVIDIA 様の「GRID K1およびK2」です。 この GPUを搭載可能なサーバ、対応ハイパーバイザー・仮想デスクトップソフトウェアと組み合わせる事で、仮想マシンにGPUのリソースを活用させることができます。つまり、GPUのリソースが必要なアプリケーションにとっては大変嬉しいことです。今回のイベントでは、その組み合わせが Cisco UCS C240 M3 + NVIDIA様の GPU + Citrix 様の XenServer および XenDesktop になります。
なお、Cisco UCS C240 M3 には、NVIDIA GRID K1 もしくは K2 を 2枚まで搭載することができます。
GPU も仮想化できる
次に、GPU をどうやって仮想マシンに活用させるかについて説明します。これには 3つの方式があります。(ただし、ハイパーバイザーによってサポートしている方式は異なります。)
- GPU パススルー
GPU のコアを直接仮想マシンに割り当てます。GPU 性能を占有することが可能ですが、仮想マシンの統合率は低くなります。たとえば 4つの GPU コアを持った K1 を 2枚載せたとしても GPU は合計 8コアとなりますので、GPU を持った仮想マシンは 1物理サーバあたり 8台までしか稼働できません。 - GPU共有
ハイパーバイザーで GPU を仮想化して仮想デスクトップに対して割り当てます。仮想マシンの統合率はパススルーに比べ高くなりますが、直接 GPU を利用するパススルーと比べるとパフォーマンスは低くなります。また、仮想グラフィック ドライバを使用するためビデオ性能と機能を最大限活用できない可能性があります。Citrix 様の場合は NVIDIA 様の標準ドライバが利用できますが XenApp のみとなるため、仮想デスクトップと比較して利用できるアプリケーションに制限が出てきます。 - GPU仮想化
GPU をハードウェアレベルで論理的に分割して仮想デスクトップに対して割り当てます。今回の組み合わせにおいては、GPUコアあたり最大8個まで分割できるため、パススルー時よりも仮想マシンの統合率を高くできます。また、仮想マシンから見るとNVIDIA標準ドライバを使用してGPUをネイティブに使用することができるという点がGPU共有と大きく異なる点になります。
GPU 性能を仮想デスクトップへ
さて、ここでもう一度ブログの冒頭で出した説明に戻ります。
今回は、『NVIDIA 様の GPU を搭載したシスコのラックマウント サーバ Cisco UCS C240 M3 に Citrix 様の XenServer および XenDesktop を導入し、仮想デスクトップ上で 3D CAD アプリケーションを使用するデモ』を実施しました。
今回のデモの目玉は、3つの方法のうち最後の「GPU 仮想化」方式を “日本初” 動態展示した点になります。アライアンス パートナーである NVIDIA 様、Citrix 様の多大な協力に改めて感謝いたします。なお、GPU 仮想化の構成はまだ正式リリース前の新機能であり、今回のデモでは特別に稼働させています。
どの方式を使用するかはユーザが必要とする GPU 性能や、仮想デスクトップの統合率、使用するハイパーバイザーやアプリケーションなどに依存します。また、パススルー方式と GPU 仮想化方式は混在して使用することも可能です。したがって、特定のユーザには GPU パススルー方式、そこまでの性能は必要ではないユーザには GPU 仮想化方式、といった柔軟な構成も可能になります。
当日のデモは、 Citrix 様のサイトでご覧いただけます。
シスコがサーバ分野に進出してまだ 4年。イベントでは「シスコがサーバ!?」と驚かれるお客様が多かった時期もありますが、最近では認知度も上昇し、今回のイベントではアライアンス パートナー様との協業強化も感じていただけたように思います。
NVIDIA K1/K2 を利用した仮想デスクトップにおけるグラフィック処理については、データシートが用意されていますので、ぜひ、ご覧ください。
NVIDIA GRID K1/K2 仮想デスクトップと仮想アプリケーションのグラフィック処理を高速化