仮想化道場
【GTC 2013レポート】NVIDIAが提供するクラウド/仮想環境向けのGPU「NVIDIA GRID」
(2013/3/22 06:00)
米国のサンノゼで3月19日から3日間の予定で開催されている「GPU Technology Conference 2013(以下、GTC 2013)」は、NVIDIAが開催している、GPUに関する技術カンファレンスだ。
当初は、GPUを利用したグラフィック関連、GPGPUを利用したHPC関連の学会的な雰囲気が強かったが、数年前から、GPGPUの具体的な利用例が出てくるのに従って、より現実的な、ソリューションにフォーカスしたカンファレンスになっている。
例えばGTC 2013では、GPUを利用したレンダリングの技術から、物理世界のシミュレーション、遺伝子解析の高速化などまで、非常に幅広いテクノロジーやソリューションを紹介している。
今回はその中でも、GPUの仮想化にフォーカスを当てて紹介していく。
VDI向けのGPU NVIDIA GRIDがリリース
昨年からNVIDIAがアナウンスしていた、クラウド/仮想環境向けのGPU「NVIDIA GRID」が、GTC 2013に合わせて登場した。製品としては、K1、K2の2種類が用意されている。
GRID K1は、Kepler世代のGPUを4つ搭載している(GPUごとに4GBのメモリ)。ただし、モバイル向けの低消費電流のGPUが搭載されているため、CUDAコア(GPUのストリーミングプロセッサの単位)が、1GPUあたり192コア、合計768コアとなっている。このため、PowerPointやWord程度の、軽いグラフィックをVDIで利用するための製品となった。
一方のGRID K2は、Kepler世代のデスクトップ向けのGPUを2つ搭載し、CUDAコアは、1CPUあたり1536コア(合計3072コア)となっている。ハイエンドのGPUを搭載することで、3D CADやPhotoshopなど、GPUをヘビーに利用する環境でもVDI化することができる。
GTC 2013に合わせて、Dell、HP、IBM、Ciscoなどのベンダーが、GRIDカードを搭載したサーバーの販売を開始している。ハイパーバイザーレベルでも、Citrix(XenServer、XenDesktop、XenApp)、Microsoft(Hyper-V、Windows Server)、VMware(ESXi、vSphere)などがサポートした。
早期導入を果たしたApplied Materialでは、GRIDの導入前、ローカルのワークステーションにハイエンドのGPUを搭載し、CADシステムの作業を行っていた。しかし、サーバーとの間で膨大なデータ量のコピーが頻繁に行われるため、ネットワークトラフィックに負荷がかかっていたという。さらにセキュリティ面からも、ローカルのワークステーションに重要な3D CADデータが保存されていることが問題だった。
そこで同社では、GRIDを導入することで、世界中のエンジニアリング・ワークステーションをVDI化し、世界中で3つのサーバーに集約した。ユーザーはワークステーションを利用するのではなく、必要なディスプレイサイズのPCならば、ノートPCを含めて、どんな機種でも利用できるようになっている。
サーバー側にGPUが搭載されているため、VDI環境においても、サーバー側のGPU(GRID GPU)をそのまま利用することができる。さらにGRID GPUでは、単にグラフィック表示が高速化されるだけでなく、NVIDIAのCUDAコアがそのまま利用できるため、GPGPUを利用して高速なシミュレーションを行うことも可能になっているのだ。
問題はハイパーバイザーにおけるGPUのサポートレベル
GRID GPUは仮想機能を標準でサポートしているが、現在リリースされているハイパーバイザーでは、サポートされているレベルが異なる。
1つはパススルーでのサポートだ。パススルーでは、各仮想マシンに直接GPUをひもづけるため、ユーザーにとっては専用のGPUを専有しているのと同じ性能が受けられる。GRID Kシリーズは、4つ(K1)、あるいは2つ(K2)のGPUを搭載しているため、それぞれGPUの数だけ仮想マシンが構成できる。GPUパススルーをサポートしているハイパーバイザーとしては、XenServer、ESXiなどが挙げられる。
ただこの方法では、仮想マシンには高いGPU性能を提供できるが、サーバーシステム全体としての効率性としては問題が残る。つまり、GRIDが搭載している物理GPUの数しか、ユーザーをサポートできない。また特定の仮想マシンにGPUをひもづけるため、利用されていないGPUがあっても、ほかのユーザーがそれを利用するということはできない。ある意味、ローカルのコンピュータをそのままサーバーに集約した、という位置付けになる。
2つ目は、ハイパーバイザーがソフトウェアベースでGPUを共有する仕組みだ。ハイパーバイザーには、GRID GPUをサポートするためのドライバがインストールされる。これに対して仮想マシンには、GPUをエミュレーションするドライバがインストールされ、そのコマンドが、ハイパーバイザーが管理しているGRID GPUに送信される。
このため、GPUの仮想化が行われているように見えるが、仮想グラフィックドライバなどに制限があり、Windows Server 2008 R2ではDirect X9、Windows Server 2012ではDirect X9/10/11、VMware ESXiではDirectX9、OpenGL 2.1(vSGAという仮想グラフィックドライバを使う)、といったように、サポートしている環境に差が出てくる。また仮想グラフィックドライバを使用するため、GRID GPUが持つGPGPU機能などは、この方式では利用できない。さらに、GRID GPUが持つ機能を最大限生かすこともできない。
3つ目は、完全なるGPUの仮想化だ。これを実現するためには、ハイパーバイザー側でGRID Kシリーズ用のドライバとソフトウェアスタックを用意する必要がある。仮想マシン側は、あらかじめ仮想マシンに割り当てられたグラフィック性能に対応したNVIDIAのドライバ(標準で配布している)をインストールすればいい。GRID Kシリーズでは、各仮想マシンにGeForceやQuadroなどのレベル分けを設定することができる。
ただし、このGPUの完全な仮想化は、2013年3月末現在では完成していない。現在、GPUのCitrixとNVIDIAが開発を進めており、6月ごろにリリースされるExcalibur(エクスカリバー)というコード名で開発が進められている次期XenDesktop/XenAppで、全面サポートされる予定だ。さらに、VDIをCloudStackで大規模に展開できるようにするProject Avalonの開発も進んでいる。
昨年の11月に、ExcaliburはTech Previewが開始されている。5月にCitrixのイベントSynergyにおいて正式リリースのアナウンスがされるだろう。
Excaliburがリリースされれば、GRID Kシリーズをクラウドで効率よく利用できるようになるだろう。GPUパススルー、ソフトウェアベースのGPU利用とは異なり、完全に仮想化されたGPUが利用できるようになるため、ソフトウェアベースのGPU利用に比べると格段に性能がアップする。
また、ソフトウェアベースでは利用できなかったCUDAを利用したGPGPUも利用可能になる。GPUパススルーではGPUを直接扱うため、性能も高く、GPGPU機能も利用できたが、前述のように特定の仮想マシンにGPUがひもづけられているため、システム全体としてはリソースが無駄になることがあった。こういうことを考えると、GPUの完全な仮想化が最もVDIにとってはメリットがあるといえる。
ただ気になるのは、現状ではGPUの完全仮想化への対応は、Citrixが先行し、MicrosoftやVMwareからはアナウンスがないということだ。NVIDIAの担当者によれば、ハイパーバイザーをリリースしている各社と話し合いを続けているとのことだった。
NVIDIAがGRID向けのサーバーアプライアンスVCAをリリース
またNVIDIAは、GRID K2を8枚搭載したサーバーアプライアンス「NVIDIA GRID VCA(Visual Computing Appliance)」を発表した。
GRID Kシリーズは、カード単体では発売されず、基本的にはDellやIBM、HPなどのパートナーが自社のサーバーに組み込み、ソリューションとして提供される形になる。
ただ、パートナー各社のソリューションは、ターンキーで利用できるものではなく、ソリューションのインフラとして用意されているため、自社(あるいはインテグレータ)で、ソフトウェアを含めたシステムを構築する必要がある。
そこでNVIDIAでは、より多くの企業がGRIDを使ったVDIのメリットが利用できるように、ターンキーで利用できるGRID VCAを発表したわけだ。
GRID VCAでは、2つのラインアップが提供される。MAXコンフィグレーションでは、4Uのフォームファクターに2ソケットのXeonプロセッサ(合計32スレッド)、384GBのメモリ(1ソケットあたり192GB)、GRID K2が最大8台入っている。下位版のBASEコンフィグレーションでは、これが1CPU、192GBメモリ、4台のGRID K2といった構成になるようだ。
またGRID VCAには、NVIDIAが開発したLinuxベースのOSとオープンソース版Xenハイパーバイザーが搭載されている。GPUはパススルーでサポートされているため、MAXコンフィグレーションで最大16台のVDIが利用できる。さらに、MicrosoftのVDI向けのライセンス(VDAライセンス)も台数分用意されているので、仮想マシンで動作するOSの料金も含まれている。
またGRID Kシリーズにおいて、サーバーとクライアントの間はH.264で画面を圧縮しているため、Windowsのリモートデスクトップなどのクライアントソフトは、そのままでは利用できない。このため、専用のクライアントソフトも用意されている。
価格に関しては、MAXコンフィグレーション(16VDI)で3万9900ドルだ。さらに、ソフトウェアライセンス料として年間4800ドル必要になる。BASEコンフィグレーションは、2万4900ドルで、ソフトウェアライセンス料が年間2400ドルとなっている。
NVIDIAでは、GRID VCAはクリエイティブな作業を行っているオフィスなどに向けた製品と定義している。このため、GRID VCA上でCADソフトのSolidWorksやAutodesk、AdobeのPhotoshopやPremiereなどの動作を保証している。
なおNVIDIAはGRID VCAをアプライアンスと定義しているが、VDIの管理システムなどが充実しているとはいいがたい。このため、ほとんどはVAR(付加価値再販業者)を経由し、ソリューションとして販売されることになるだろう。
一部では、自動車メーカーのAudioのショールームにおいて、車のカスタムオーダーを可能にするインタラクティブ・ショールーム・システムのサーバーとして利用されるなど、オフィス以外の用途でも利用されている。またOtoyでは、映画クオリティのレンダリングを行う、クラウドシステムのサーバーとして採用されている。
VDIにおいては、GPUカードはそろったが、ハイパーバイザーなどのソフトウェアが十分な機能を持っているとは言えない。6月には、CitrixのExcaliburがリリースされることで、GPUが利用できるVDI環境が整うだろう。MicrosoftのHyper-VやVMwareのESXiがGRID VGXをサポートするのは、今年の後半もしくは、来年になるだろう。
こういったスケジュールを考えれば、今年からは徐々に、スタンドアロンのコンピュータと変わらないVDI環境が登場してくることになるだろう。