VDIをリアルなコンピューティング環境に変えるGPUの仮想化~NVIDIAの開発担当者に聞く


 仮想化道場では5月に、NVIDIAのGPUクラウドを実現する「VGX」に関して解説した。

 今回は、NVIDIAでVGXを担当しているVGX Virtualization Product Line Manager、Will Wade(ウィル ウェイド)氏が来日した機会をとらえて、NGXの詳細、開発状況に関して話を聞けたので、それをお届けする。なおウェイド氏は、NVIDIAが東京で開催したGPU関連の開発者イベント「GTC Japan 2012」に合わせて来日したものだった。

 

GPUを使ったアプリケーションに対応する

――VGXはどのようなニーズから出てきたのですか?

米NVIDIA、VGX Virtualization Product Line Managerのウィル・ウェイド氏

ウェイド氏
 サーバーの仮想化は、CPUやメモリなどのComputeの仮想化、ストレージの仮想化、ネットワークの仮想化などはできていますが、唯一サポートされていないのがGPUの仮想化なんです。現在利用されている仮想マシンの多くは、サーバーOSが動作し、業務アプリケーションやデータベースが動作しています。このような環境では、GPUの仮想化はあまり必要性はありませんでした。

 クラウドでPCを仮想化(VDI:Virtual Desktop Infrastructure)することで、多くのユーザーが利用するようになってきているBYOD(私有デバイス活用:Bring Your Own Device)を使いやすくできると考えたからです。

 GPUが利用できるVDI環境なら、ユーザーはスマートフォンやシンターミナルを使っても、デスクトップPCと同じようにGPUを使ったアプリケーションを利用できるようになります。しかし、ヘビーなアプリケーションを使うユーザーは、非常に少数です。OfficeやWebブラウザなどでGPUを利用するユーザーは非常に多数いると思います。VGXは、こういったユーザーをメインターゲットにしています。

 VDIでGPUを利用するということでは、ブレードサーバーにグラフィックカードを搭載して、リモートからアクセスするといったやり方があります。しかしこれでは、VDIの環境の数だけサーバーもグラフィックカードも必要になりますので、コスト的にVDI化するメリットはありません。

 サーバーが仮想化したように、グラフィックカードも仮想化することで、1枚のカードで多数のユーザーがサポートできるようになります。VGXではGPUの仮想化を行うことにより、1枚のカードで100ユーザーほどをサポートできると考えています。


ITのコンシューマー化により、ユーザーが利用するデバイスは混在化してきている。今までのようにWindows PCだけを使う時代からマルチデバイスを利用する時代に変わってきている企業でPCを使うユーザーの多くは、Microsoft OfficeやPhotoShopを使うナレッジワーカー。VGXは、ナレッジワーカーがローカルのPCと変わらない使いやすいVDI環境が利用できるようにしている

 

VGXの構成は?

――VGXは、どのようにハードウェア、ソフトウェアで構成されていますか?

ウェイド氏
 VGXは、専用のグラフィックカード、サーバー側で動作するVGX HyperVisor、仮想マシンで動作するUser Selectable Machine(USM)で構成されています。

 VGXグラフィックカード(以下、VGXカード)は、Keplerコアを4つ搭載したカードです。1GPUあたり、CUDA Core数は192基、メモリは4GBを搭載しています(VGXカード全体では16GBメモリ)。またVGXカードは、高密度サーバーに搭載できるように、消費電力や発熱を抑えているので、1サーバーあたり2枚のVGXカードを搭載することも可能になっています。

 VGXのフル機能を利用するためには、ハイパーバイザーにCitrixのXenServerを利用します。XenServerにGPU HyperVisorというVGXを管理する専用のソフトが搭載され、一方、仮想マシン側にはVGX用のUSMというソフトウェアがインストールされます。USMは、いわばVGX用の仮想グラフィックドライバのようなものです。

 USMは、複数のプロファイルを持っています。例えば、Quadro相当、GeForce相当などのプロファイルです。このプロファイルで、仮想マシンにどのくらいのグラフィック性能を割り当てるか決めます。

 フル機能のVGXの第1弾としては、CitrixのXenDesktop環境をターゲットにしています。またフル機能ではありませんが、Windows Server 2012やVMware vSphereでもVGXの一部の機能が利用できます。将来的には、各ハイパーバイザーでVGXのフル機能が利用できるようになるでしょう。


VGXは、GPUを仮想化することで、VDI上でもGPU機能が利用できるようにした。VGXグラフィックカードと、ハイパーバイザーなどのソフトウェアの組み合わせで構成されているVGXの構成図。専用のVGXカード、GPU HyperVisor、USMで構成されているVGXカードにはKelper世代のGPUが4つ搭載され、それぞれに4GBのフレームバッファを持つ。カードをよく見るとビデオ端子はない。これはVGXカードがVDIに向けた製品だからだ

 なおVGXは、VDIのクライアントの画面を内蔵するH.264エンコーダで圧縮転送しています。このため、フルHD(1980×1080ドット)の画面でも、8Mbpsほどの帯域で転送できます。このH.264エンコーダはVGXに内蔵しているハードを使うため、CPU側には画像圧縮に関して、ほとんど負荷はかかりません。

 転送プロトコルは、CitrixのHDX、MicrosoftのRDP、VMwareのPC Over IPなどの画面転送プロトコルにも対応しています。ただ、画面全体をH.264で圧縮するため、各社の転送プロトコルの性能を生かしているとは言えません。将来的には、VGXに搭載しているH.264エンコーダー以外に、各転送プロトコルをハードウェアでサポートできるようにすれば、低ビットレートでもスムーズな画面が表示できるようになると思います。

 VGXカードは、1種類だけでなく複数用意する予定です。第1弾としては現在紹介しているVGXカードですが、将来的にはデザイナーや3D CADユーザーなどの高いグラフィック性能を必要としているユーザーに向けたVGXカードなども用意するつもりです。まずは、VDIを利用している多くのユーザーが不便に思っている部分を今回のVGXカードで解消していきたいと思っています。


VGXは、VGXカード側のエンコーダで画面をH.264で圧縮するデルのPowerEdge R720では、VGXカードを2枚搭載できるため、合計で200ユーザーのVDI環境がサポートできる

――VGXでは、グラフィックだけでなく、GPGPUを使うアプリケーションもサポートしていますか?

ウェイド氏
 もちろん、VGXを使えばGPGPU対応のアプリケーションも利用できます。ただ、長時間GPUを占有するアプリケーションは、少し問題になるかもしれません。あまり長時間GPGPUアプリケーションがGPUを占有すると、ほかの仮想マシンのグラフィック表示などに遅延が起こる可能性があります。

 将来的には、GPGPUアプリケーションを、仮想化したGPUで効率よく動かすことができるようになるでしょうが、今回のVGXは、仮想マシンがGPUを利用できるようにして、グラフィック表示などを高速化することに主眼が置かれています。

 

VGXがVDIにもたらす影響

――VGXによってVDIはどう変わっていきますか?

ウェイド氏
 VGXはH.264で圧縮したビデオストリーミングのような方式で転送します。このことは、利用できるクライアントの幅を広げると思います。

 例えば、CitrixのHDXやMicrosoftのRDPプロトコルをiPadで使うためには、専用のアプリケーションが必要でした。VGXを使えば、リモートデスクトップのアプリケーションは必要になりますが、H.264という標準的な画像圧縮で転送されてくるため、各社の独自プロトコルをインプリメントするよりも、アプリケーション開発は簡単でしょう。

 このことは、ユーザーが利用できるクライアントの幅を広げます。今までのように専用のシンターミナルやWindows/Linux PCだけでなく、スマートフォン、タブレットなどのデバイスからでもVDIが利用できるようになります。

 VDIにおけるマルチデバイス環境が実現できると、ユーザーは軽量で、ローカルストレージのないシンクライアントを持ち歩くだけで、ネットワークアクセスさえあれば、会社のデスクトップ環境を世界中どこにいても利用できるようになります。

 またシンクライアントがないときには、スマートフォンやタブレットなども利用できます。もしかすると、ホテルや自宅のスマートテレビをVDIのクライアントにすることも可能になるでしょう。

 ただ、スマートフォンやタブレットなどのタッチ操作が前提のデバイスで、Windowsのようなマウスとキーボード操作中心のOSでは、少し使い勝手が異なります。Windows側のアプリケーションをタッチ操作に対応していくのか、もしくはタブレットにキーボードやマウスを接続するのかなど、いろいろと改善していかなければなりません。

 多くのユーザーは、VDIというと遅くて使いにくいモノという印象があると思います。VGXを使えば、ローカルのPCを使っているのと同じイメージでVDIが使えるようになると思います。

――VGXのリリースはいつごろになりますか?

ウェイド氏
 明確なスケジュールは発表していませんが、実際に製品が出てくるのは来年になると思います。VGXカードだけ完成しても、GPU HyperVisorやUSMなど各種のソフトウェアの開発もありますし、CitrixのXenServerなどとの連携作業もあるため、ある程度時間がかかると思います。

 VGXカードがリリースされるときには、各社のハイパーバイザーへの対応だけでなく、VGXを利用したVDIサービスを提供するクラウドプロバイダーもサービスを開始すると思います。

 

 実際にウェイド氏にインタビューしてみると、Citrixが開発しているVDIインフラのProject Avalonとの関連性が気になった。ウェイド氏にもCitrixのProject Avalonと連携しているのかと質問したが、Citrixとはさまざまなレベルで協力して開発を続けている、との答えが得られただけだった。Project Avalonのベータテストの時期、VGXの完成時期が近いことを考えれば、やはりGPUの仮想化機能が搭載されてくるのだろうと、筆者は考えている。

 もう1つ注目するのは、VGXのパートナーとして、クラウドプロバイダーのAmazon Web Services(AWS)とWindows Azureが入っていることだ。これらのクラウドでも、VGXを利用したVDIサービスを検討しているのだろう。

 VDIの高機能化が進めば、将来的にはPCは買うものではなく、サービスとして利用するものになるかもしれない。


VGXに賛同しているメーカー。特にクラウドプロバイダーとして、AWS、Windows Azureが入っていることに注目したい
関連情報