お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2012/07/26 00:00

ニュース

NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール

 2012年7月25日,NVIDIAは国内の報道関係者向けに,企業向けGPU仮想化技術「NVIDIA VGX」(以下,VGX)の説明会を開催した。

画像集#002のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール
 GPU仮想化技術といえば,5月の「GPU Technology Conference 2012」(GTC 2012)で発表されたクラウドゲームサービス向け技術「GeForce GRID」を思い出す人も多いだろうが,そのビジネス向けと考えて概ね間違いない。
 したがって,4Gamerの守備範囲から外れるところはあるのだが,興味深い技術ではあるので,GPU仮想化技術とは何なのか,あらためて整理してみたいと思う。


VGXカードの第1弾は192 CUDA CoreのGPUを4基搭載


 今回は,26日開催予定のイベント「GTC Japan 2012」に合わせて来日しているWill Wade(ウィル・ウェイド)氏がVGXの説明を行った。氏はNVIDIAでVGXのプロダクトラインマネージャーを務めている人物だ。

Will Wade氏(VGX Product Line Manager, NVIDIA)
画像集#003のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール
 最初にVGXが誕生した背景を紹介しておきたい。
 ビジネス分野では数年前から,社員が個々にPCを持つというスタイルに加えて,クラウド上で仮想化されたOSを起動し,最小限の機能だけを持った,シンクライアント(Thin Client)と呼ばれる端末などから仮想デスクトップを利用するというスタイルが定着してきている。スタッフの数だけPCを用意するのに比べて,ハードウェアや管理のコストを削減でき,また,必要に応じて必要なだけOS環境を提供できるというメリットがあるためだ。

 ただ,このやり方には,「クラウド上で動作する仮想OSが,GPUの機能や性能をフルには利用できない」という問題があった。これはGPUの仮想化が不完全だったためだが,たとえば「Adobe Photoshop」や「Microsoft PowerPoint」を利用しようとか,ムービーを再生しようとかすると,PCと比べて非常に処理が“重く”なってしまうのだ。これは,GPUの仮想化が不完全であるために生じていた問題だが,それをなんとかしようというのが今回のVGXである。

 Wade氏によると,VGXの利用には,ハードウェアとしてのVGXカード「VGX Board」,GPU仮想化を行うソフトウェアである「VGX HyperVisor」(VGXハイパーバイザ),そしてユーザーが利用する個々の仮想マシン環境「User Selectable Machine」(ユーザーセレクタブルマシン,以下 USM)の3つが必要だ。氏はこの3要素をまとめてVGXプラットフォームと位置づけている。

VGXプラットフォームの3要素。サーバー側に搭載するVGXカードと,GPUの仮想化をサポートするソフトウェアであるGPU HyperVisor,そして個々のOS環境を提供するUSMからなる
画像集#004のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール

NVIDIAが創業後まもなく取得したというGPUの仮想化関連の特許に記されている図。グラフィックスメモリをMMU(Memory Management Unit)で仮想化するあたりがポイントだろうと思われる
画像集#005のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール
 おそらく4Gamer読者が最も興味を引かれるのは専用ハードウェアとなるVGXカードだろう。
 Wade氏は「NVIDIAは創業間もない頃からGPUの仮想化を検討している」と述べ,その頃取得した特許から図面もスライドで披露していた。Keplerアーキテクチャを採用するGPUが史上初めてハードウェアで仮想化をサポートしたことを受け,VGXカードは当然のことながら,Keplerベースの製品となっている。

 VGXカードは4基のGPUを搭載し,合計容量16GBのグラフィックスメモリを組み合わせた専用設計の製品で,Wade氏によると,GPU 1基あたりのCUDA Core数は192基。メモリは128bit接続のDDR3 SDRAMだという。Keplerコアを採用するGeForceは最下位モデルでも384 CUDA Core仕様なので,GeForceのラインナップにはないGPUを搭載しているわけだ。

VGXカード。4基のGPUを搭載し,グラフィックスメモリ容量は合計16GBに達する。サーバーでの利用が前提なので,GPUクーラーはパッシブクーリング仕様だ。自作PC市場向けに単体販売する予定はないとのこと
画像集#006のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール

 GPU 1基あたりの性能はよくてエントリークラスということになるが,Wade氏は,「第1弾VGXカードは,企業で画像処理ソフトやオフィススイートを使うユーザーを対象にした製品だ」と述べ,むしろGPU性能やメモリバス帯域幅よりも,メモリ容量が性能を左右するという見解を示している。ひょっとすると,16GBという大容量グラフィックスメモリを確保するために,それほど高性能ではないGPUを4基載せてきたという見方のほうが正しいのかもしれない。
 今回のVGXカードは,(最大かTDPかは定かでないものの)消費電力は150Wに収まるとのこと。そのため,PCI Express x16拡張スロットを持つ既存のサーバーへ搭載可能だという。

カード1枚あたり4基のGPUを搭載しても,消費電力はカードあたり150Wに収まるとのこと。そのため既存のサーバーに搭載できるという。写真はDellの2Uラックサーバー「R720」と,そこにVGXカードが2枚差さっている例
画像集#007のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール 画像集#008のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール

 このVGXカードは,GPU 1基あたり最大25ユーザー,カード全体では最大100ユーザーに仮想GPU環境を提供できるという。GeForce GRIDでは,デュアル「GK104」仕様のカードを用意しながら,GPU 1基あたり4人,カードあたり8人しかサポートできないとされていたので,ずいぶんとキャパシティが違うと思うかもしれないが,Wade氏は「GeForce GRIDでは毎秒30フレームをエンコードしてクライアントへ送信する必要があるのに対し,VGXの想定する用途では画面の書き換えが数秒に1回といった頻度で済む」のが理由だと説明していた。
 ほとんどのフレームに動きがあるゲームと,そうではないビジネス向けではエンコードの負荷が大きく違うというわけである。

 ちなみに氏は,デザイナーなどを対象としたVGXカードも近々発表の予定と述べている。グラフィックスワークステーションを使うようなデザイナー向けの高性能VGXカードも,今後,登場してくるようだ。


VGXのソフトウェア的な概要


 以上はハードウェアの概要だが,ここからはソフトウェア的な部分を紹介してみたい。

 下に示したスライドは,VGXの動作原理を示したものだが,VGXでGPUの仮想化を担うのが前述のVGX HyperVisor――ここでは「GPU Hypervisor」と表記されている――だ。VGX HyperVisorは,Kepler世代のGPUに組み込まれたGPU仮想化のためのハードウェアで,「GPU MMU」(MMU:Memory Management Unit)を駆動して仮想GPUを提供する。
 一方,仮想マシン上でGPUの管理を行うのがUSMだ。USMは仮想マシン(Virtual Machine)上にある仮想GPUへのアクセスを捉え,GPU側で仮想マシンごとに用意されているチャネル(=「Per-VM Deditcated Channels」)を通じてGPUを駆動させるという仕組みである。

VGX HyperVisorの仕組み
画像集#009のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール

 仮想マシンは,「H.264でエンコードされたビデオ」として,仮想デスクトップをユーザーの端末に送信する。このような手法は既存の仮想デスクトップ環境でも採用されているが,ここでのポイントは,「H.264エンコードがハードウェアで行われる点だ」(Wade氏)。
 下に示したスライドは,Wade氏の示した「従来型の仮想デスクトップとVGXの違い」で,従来は,GPUが描画したフレームバッファのデータをCPU側のメインメモリへ転送し,RGB→YUV変換のうえでCPUがH.264へソフトウェアエンコードを行っていた。それに対しVGXでは,Kepler世代のGPUコアが搭載するハードウェアエンコーダ「NVENC」を用いるため,「フレームバッファをCPU側のメインメモリへ転送する」以降の処理が一切不要になるのである。

左が従来式の仮想デスクトップ,右がVGXだ。NVENCのおかげで,スライド中,(2)以降を“すっ飛ばせる”ため,オーバーヘッドが極めて少なくなるという理屈だ
画像集#010のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール

 Wade氏によれば,「マウス操作を行って,それが画面上で反映されるまでの遅延」は,VGXで200ms以内に収められるという。実際に,「XenDesktop」などの仮想化ソリューションを手がける米CitrixとNVIDIAが共同で行ったベンチマークで,ソフトウェアエンコードを伴った従来型の仮想化技術では500msだったものが,VGXでは130mm秒にまで短縮できたと,Wade氏は実数を挙げてアピールしていた。
 このテスト環境だとネットワーク自体に120msの遅延があったそうなので,VGXでは圧縮処理に10msしかかかっていないことになる。

 前述のとおり,仮想デスクトップはストリーミングビデオとしてクライアントへと送られるため,クライアントはWindowsやLinuxといったOSに限定されない。実際に説明会では,NVIDIA Japanオフィス内に置かれたデータセンター上で動作するVGXシステムを使って,「iPadからWindowsアプリケーション上の3Dモデルデータを動かす」デモが披露されている。下がその直撮りムービーだが,たしかに動作は非常にスムーズだ。


VGXエコシステム(業界全体の収益構造)を構成するNVIDIAのパートナー一覧。クラウドゲームサービスで知られるOnLiveの名があるが,「OnLiveはVGXとGeForce GRIDの両方を手がけている」(Wade氏)
画像集#011のサムネイル/NVIDIA,GPU仮想化技術「VGX」の仕組みを明らかに。実機デモも披露し,低遅延ぶりをアピール
 VGXを利用した最終製品は今のところリリースされていないが,すでに多数のハードウェア&ソフトウェアベンダーと協業を始めているとのこと。Wade氏は一例として,ネットワーク機器最大手の1社であるCisco Systemsの名を挙げていた。

 ちなみにNVIDIAは,GeForce搭載機でゲームを実行し,それをTegra 3搭載端末からリモートで操作するソリューションを,SplashTopと協力して実現しているが,あれはVGXの技術を用いたものではない。実際問題,「GeForceやQuadroではGPU仮想化のためのハードウェアが有効になっていない」(Wade氏)ため,VGXは利用できないのだそうだ。
 4Gamer的にはなんとも残念な話だが,要するにNVIDIAは「GPUの仮想化」という技術を,クラウドやエンタープライズ分野でシェアを獲得するための武器として使っていくつもりということなのだろう。

NVIDIAのVGX製品情報ページ

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:04月26日〜04月27日